Re: [PATCH] media: i2c: adv748x: Export I2C device table entries as module aliases
From: Kieran Bingham
Date: Wed Aug 09 2017 - 06:29:56 EST
Hi Javier,
Thankyou for the patch
On 09/08/17 10:37, Javier Martinez Canillas wrote:
> The I2C core always reports a MODALIAS of the form i2c:<foo> even if the
> device was registered via OF, and the driver is only exporting the OF ID
> table entries as module aliases.
>
> So if the driver is built as module, autoload won't work since udev/kmod
> won't be able to match the registered OF device with its driver module.
Good catch, and perhaps I should have known better :D
I've only worked on this driver as a built-in so far :-) #BadExcuses
> Before this patch:
>
> $ modinfo drivers/media/i2c/adv748x/adv748x.ko | grep alias
> alias: of:N*T*Cadi,adv7482C*
> alias: of:N*T*Cadi,adv7482
> alias: of:N*T*Cadi,adv7481C*
> alias: of:N*T*Cadi,adv7481
>
> After this patch:
>
> modinfo drivers/media/i2c/adv748x/adv748x.ko | grep alias
> alias: of:N*T*Cadi,adv7482C*
> alias: of:N*T*Cadi,adv7482
> alias: of:N*T*Cadi,adv7481C*
> alias: of:N*T*Cadi,adv7481
> alias: i2c:adv7482
> alias: i2c:adv7481
>
> Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx>
> ---
>
> drivers/media/i2c/adv748x/adv748x-core.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c
> index aeb6ae80cb18..5ee14f2c2747 100644
> --- a/drivers/media/i2c/adv748x/adv748x-core.c
> +++ b/drivers/media/i2c/adv748x/adv748x-core.c
> @@ -807,6 +807,7 @@ static const struct i2c_device_id adv748x_id[] = {
> { "adv7482", 0 },
> { },
> };
> +MODULE_DEVICE_TABLE(i2c, adv748x_id);
>
> static const struct of_device_id adv748x_of_table[] = {
> { .compatible = "adi,adv7481", },
>