diff mbox

backlight: da9052: Fix module autoload

Message ID 1483373008-9905-1-git-send-email-javier@osg.samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Javier Martinez Canillas Jan. 2, 2017, 4:03 p.m. UTC
The driver has a platform device ID table with multiple device entries,
each setting a different register address in its driver_data to control
the WLED brightness.

But the driver doesn't export these as aliases with MODULE_DEVICE_TABLE()
when the driver is built as a module, instead it just has a single alias
using MODULE_ALIAS("platform:da9052-backlight"). That is clearly wrong
since there isn't a "da9052-backlight" in the platform device ID table,
so if that device name is used, the device won't even match the driver.

So instead of having a wrong alias, export the ones in the dev ID table.

Before this patch:

$ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
alias:          platform:da9052-backlight

After this patch:

$ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
alias:          platform:da9052-wled3
alias:          platform:da9052-wled2
alias:          platform:da9052-wled1

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
---

 drivers/video/backlight/da9052_bl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Han Jingoo Jan. 2, 2017, 5:40 p.m. UTC | #1
On Monday, January 2, 2017 11:03 AM, Javier Martinez Canillas wrote:
> 
> The driver has a platform device ID table with multiple device entries,
> each setting a different register address in its driver_data to control
> the WLED brightness.
> 
> But the driver doesn't export these as aliases with MODULE_DEVICE_TABLE()
> when the driver is built as a module, instead it just has a single alias
> using MODULE_ALIAS("platform:da9052-backlight"). That is clearly wrong
> since there isn't a "da9052-backlight" in the platform device ID table,
> so if that device name is used, the device won't even match the driver.
> 
> So instead of having a wrong alias, export the ones in the dev ID table.
> 
> Before this patch:
> 
> $ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
> alias:          platform:da9052-backlight
> 
> After this patch:
> 
> $ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
> alias:          platform:da9052-wled3
> alias:          platform:da9052-wled2
> alias:          platform:da9052-wled1
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>

Acked-by: Jingoo Han <jingoohan1@gmail.com>

Best regards,
Jingoo Han

> ---
> 
>  drivers/video/backlight/da9052_bl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/video/backlight/da9052_bl.c
> b/drivers/video/backlight/da9052_bl.c
> index fd2be417aa64..49035c12739a 100644
> --- a/drivers/video/backlight/da9052_bl.c
> +++ b/drivers/video/backlight/da9052_bl.c
> @@ -167,6 +167,7 @@ static const struct platform_device_id
> da9052_wled_ids[] = {
>  	},
>  	{ },
>  };
> +MODULE_DEVICE_TABLE(platform, da9052_wled_ids);
> 
>  static struct platform_driver da9052_wled_driver = {
>  	.probe		= da9052_backlight_probe,
> @@ -182,4 +183,3 @@ module_platform_driver(da9052_wled_driver);
>  MODULE_AUTHOR("David Dajun Chen <dchen@diasemi.com>");
>  MODULE_DESCRIPTION("Backlight driver for DA9052 PMIC");
>  MODULE_LICENSE("GPL");
> -MODULE_ALIAS("platform:da9052-backlight");
> --
> 2.7.4


--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Adam Thomson Jan. 3, 2017, 2:11 p.m. UTC | #2
On 02 January 2017 16:03, Javier Martinez Canillas wrote:

> The driver has a platform device ID table with multiple device entries,
> each setting a different register address in its driver_data to control
> the WLED brightness.
> 
> But the driver doesn't export these as aliases with MODULE_DEVICE_TABLE()
> when the driver is built as a module, instead it just has a single alias
> using MODULE_ALIAS("platform:da9052-backlight"). That is clearly wrong
> since there isn't a "da9052-backlight" in the platform device ID table,
> so if that device name is used, the device won't even match the driver.
> 
> So instead of having a wrong alias, export the ones in the dev ID table.
> 
> Before this patch:
> 
> $ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
> alias:          platform:da9052-backlight
> 
> After this patch:
> 
> $ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
> alias:          platform:da9052-wled3
> alias:          platform:da9052-wled2
> alias:          platform:da9052-wled1
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---

Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lee Jones Jan. 4, 2017, 11:40 a.m. UTC | #3
On Mon, 02 Jan 2017, Javier Martinez Canillas wrote:

> The driver has a platform device ID table with multiple device entries,
> each setting a different register address in its driver_data to control
> the WLED brightness.
> 
> But the driver doesn't export these as aliases with MODULE_DEVICE_TABLE()
> when the driver is built as a module, instead it just has a single alias
> using MODULE_ALIAS("platform:da9052-backlight"). That is clearly wrong
> since there isn't a "da9052-backlight" in the platform device ID table,
> so if that device name is used, the device won't even match the driver.
> 
> So instead of having a wrong alias, export the ones in the dev ID table.
> 
> Before this patch:
> 
> $ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
> alias:          platform:da9052-backlight
> 
> After this patch:
> 
> $ modinfo drivers/video/backlight/da9052_bl.ko | grep alias
> alias:          platform:da9052-wled3
> alias:          platform:da9052-wled2
> alias:          platform:da9052-wled1
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
> 
>  drivers/video/backlight/da9052_bl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

> diff --git a/drivers/video/backlight/da9052_bl.c b/drivers/video/backlight/da9052_bl.c
> index fd2be417aa64..49035c12739a 100644
> --- a/drivers/video/backlight/da9052_bl.c
> +++ b/drivers/video/backlight/da9052_bl.c
> @@ -167,6 +167,7 @@ static const struct platform_device_id da9052_wled_ids[] = {
>  	},
>  	{ },
>  };
> +MODULE_DEVICE_TABLE(platform, da9052_wled_ids);
>  
>  static struct platform_driver da9052_wled_driver = {
>  	.probe		= da9052_backlight_probe,
> @@ -182,4 +183,3 @@ module_platform_driver(da9052_wled_driver);
>  MODULE_AUTHOR("David Dajun Chen <dchen@diasemi.com>");
>  MODULE_DESCRIPTION("Backlight driver for DA9052 PMIC");
>  MODULE_LICENSE("GPL");
> -MODULE_ALIAS("platform:da9052-backlight");
diff mbox

Patch

diff --git a/drivers/video/backlight/da9052_bl.c b/drivers/video/backlight/da9052_bl.c
index fd2be417aa64..49035c12739a 100644
--- a/drivers/video/backlight/da9052_bl.c
+++ b/drivers/video/backlight/da9052_bl.c
@@ -167,6 +167,7 @@  static const struct platform_device_id da9052_wled_ids[] = {
 	},
 	{ },
 };
+MODULE_DEVICE_TABLE(platform, da9052_wled_ids);
 
 static struct platform_driver da9052_wled_driver = {
 	.probe		= da9052_backlight_probe,
@@ -182,4 +183,3 @@  module_platform_driver(da9052_wled_driver);
 MODULE_AUTHOR("David Dajun Chen <dchen@diasemi.com>");
 MODULE_DESCRIPTION("Backlight driver for DA9052 PMIC");
 MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:da9052-backlight");