Re: Grafting old platform drivers onto a new DT kernel

From: Arnd Bergmann
Date: Tue Nov 10 2015 - 07:57:45 EST


On Tuesday 10 November 2015 13:44:48 Mason wrote:
> On 09/11/2015 18:13, Måns Rullgård wrote:
>
> > Add something like this:
> >
> > static const struct of_device_id tangox_sdio_dt_ids[] = {
> > { .compatible = "sigma,tangox-sdio" },
> > { }
> > };
> >
> > static struct platform_driver tangox_platform_sdio0 = {
> > .probe = sdhci_tangox_probe,
>
> It looks like one side effect of this transformation is that
> the probe function cannot be __init anymore? Is that correct?
>
> For this one particular driver, it weighs 944 bytes. (I guess
> a few kilobytes wasted is no big deal...)

Strictly speaking, it was already broken before. You can
detach and reattach a device from a driver through sysfs,
and that will call the probe function again, so it cannot
be marked as __init.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/