Grafting old platform drivers onto a new DT kernel

Arnd Bergmann arnd at arndb.de
Tue Nov 10 04:56:51 PST 2015


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



More information about the linux-arm-kernel mailing list