Re: [PATCH] i2c: core: report OF style module alias for devices registered via OF

From: Javier Martinez Canillas
Date: Sun Jan 07 2018 - 08:17:28 EST


Hello Wolfram,

On Sun, Dec 3, 2017 at 10:40 PM, Javier Martinez Canillas
<javierm@xxxxxxxxxx> wrote:
> The buses should honor the firmware interface used to register the device,
> but the I2C core reports a MODALIAS of the form i2c:<device> even for I2C
> devices registered via OF.
>
> This means that user-space will never get an OF stype uevent MODALIAS even
> when the drivers modules contain aliases exported from both the I2C and OF
> device ID tables. For example, an Atmel maXTouch Touchscreen registered by
> a DT node with compatible "atmel,maxtouch" has the following module alias:
>
> $ cat /sys/class/i2c-adapter/i2c-8/8-004b/modalias
> i2c:maxtouch
>
> So udev won't be able to auto-load a module for an OF-only device driver.
> Many OF-only drivers duplicate the OF device ID table entries in an I2C ID
> table only has a workaround for how the I2C core reports the module alias.
>
> This patch changes the I2C core to report an OF related MODALIAS uevent if
> the device was registered via OF. So for the previous example, after this
> patch, the reported MODALIAS for the Atmel maXTouch will be the following:
>
> $ cat /sys/class/i2c-adapter/i2c-8/8-004b/modalias
> of:NtrackpadT<NULL>Catmel,maxtouch
>
> NOTE: This patch may break out-of-tree drivers that were relying on this
> behavior, and only had an I2C device ID table even when the device
> was registered via OF. There are no remaining drivers in mainline
> that do this, but out-of-tree drivers have to be fixed and define
> a proper OF device ID table to have module auto-loading working.
>
> Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
> ---

Any comments on this patch?

Best regards,
Javier