2016-10-14 12:24:34

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH] leds: lp3952: Export I2C module alias information for module autoload

If the driver is built as a module, I2C module alias information is not
filled so the module won't be autoloaded if the device isn't registered
over ACPI. Export the I2C device table alias with MODULE_DEVICE_TABLE()
macro so the information is exported in the module.

Before this patch:

$ modinfo drivers/leds/leds-lp3952.ko | grep alias
alias: acpi*:TXNW3952:*

After this patch:

$ modinfo drivers/leds/leds-lp3952.ko | grep alias
alias: i2c:lp3952
alias: acpi*:TXNW3952:*

Signed-off-by: Javier Martinez Canillas <[email protected]>
---

drivers/leds/leds-lp3952.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/leds/leds-lp3952.c b/drivers/leds/leds-lp3952.c
index a73c8ff08530..4847e89883a7 100644
--- a/drivers/leds/leds-lp3952.c
+++ b/drivers/leds/leds-lp3952.c
@@ -274,6 +274,7 @@ static const struct i2c_device_id lp3952_id[] = {
{LP3952_NAME, 0},
{}
};
+MODULE_DEVICE_TABLE(i2c, lp3952_id);

#ifdef CONFIG_ACPI
static const struct acpi_device_id lp3952_acpi_match[] = {
--
2.7.4


2016-10-14 13:57:59

by Jacek Anaszewski

[permalink] [raw]
Subject: Re: [PATCH] leds: lp3952: Export I2C module alias information for module autoload

Hi Javier,

Thanks for the patch.
Applied to the for-4.10 branch of linux-leds.git.

Best regards,
Jacek Anaszewski

On 10/14/2016 02:23 PM, Javier Martinez Canillas wrote:
> If the driver is built as a module, I2C module alias information is not
> filled so the module won't be autoloaded if the device isn't registered
> over ACPI. Export the I2C device table alias with MODULE_DEVICE_TABLE()
> macro so the information is exported in the module.
>
> Before this patch:
>
> $ modinfo drivers/leds/leds-lp3952.ko | grep alias
> alias: acpi*:TXNW3952:*
>
> After this patch:
>
> $ modinfo drivers/leds/leds-lp3952.ko | grep alias
> alias: i2c:lp3952
> alias: acpi*:TXNW3952:*
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> drivers/leds/leds-lp3952.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/leds/leds-lp3952.c b/drivers/leds/leds-lp3952.c
> index a73c8ff08530..4847e89883a7 100644
> --- a/drivers/leds/leds-lp3952.c
> +++ b/drivers/leds/leds-lp3952.c
> @@ -274,6 +274,7 @@ static const struct i2c_device_id lp3952_id[] = {
> {LP3952_NAME, 0},
> {}
> };
> +MODULE_DEVICE_TABLE(i2c, lp3952_id);
>
> #ifdef CONFIG_ACPI
> static const struct acpi_device_id lp3952_acpi_match[] = {
>