If the driver is built as a module, autoload won't work because the module
alias information is not filled. So user-space can't match the registered
device with the corresponding module.
Export the module alias information using the MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/gpio/gpio-ath79.ko | grep alias
$
After this patch:
$ modinfo drivers/gpio/gpio-ath79.ko | grep alias
alias: of:N*T*Cqca,ar9340-gpioC*
alias: of:N*T*Cqca,ar9340-gpio
alias: of:N*T*Cqca,ar7100-gpioC*
alias: of:N*T*Cqca,ar7100-gpio
Signed-off-by: Javier Martinez Canillas <[email protected]>
---
drivers/gpio/gpio-ath79.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpio/gpio-ath79.c b/drivers/gpio/gpio-ath79.c
index 9457e2022bf6..dc37dbe4b46d 100644
--- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c
@@ -219,6 +219,7 @@ static const struct of_device_id ath79_gpio_of_match[] = {
{ .compatible = "qca,ar9340-gpio" },
{},
};
+MODULE_DEVICE_TABLE(of, ath79_gpio_of_match);
static int ath79_gpio_probe(struct platform_device *pdev)
{
--
2.7.4
If the driver is built as a module, autoload won't work because the module
alias information is not filled. So user-space can't match the registered
device with the corresponding module.
Export the module alias information using the MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/gpio/gpio-ts4800.ko | grep alias
$
After this patch:
$ modinfo drivers/gpio/gpio-ts4800.ko | grep alias
alias: of:N*T*Ctechnologic,ts4800-gpioC*
alias: of:N*T*Ctechnologic,ts4800-gpio
Signed-off-by: Javier Martinez Canillas <[email protected]>
---
drivers/gpio/gpio-ts4800.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpio/gpio-ts4800.c b/drivers/gpio/gpio-ts4800.c
index 99256115bea5..c2a80b4cbf32 100644
--- a/drivers/gpio/gpio-ts4800.c
+++ b/drivers/gpio/gpio-ts4800.c
@@ -66,6 +66,7 @@ static const struct of_device_id ts4800_gpio_of_match[] = {
{ .compatible = "technologic,ts4800-gpio", },
{},
};
+MODULE_DEVICE_TABLE(of, ts4800_gpio_of_match);
static struct platform_driver ts4800_gpio_driver = {
.driver = {
--
2.7.4
On Tue, 18 Oct 2016 17:44:01 -0300
Javier Martinez Canillas <[email protected]> wrote:
> If the driver is built as a module, autoload won't work because the module
> alias information is not filled. So user-space can't match the registered
> device with the corresponding module.
>
> Export the module alias information using the MODULE_DEVICE_TABLE() macro.
>
> Before this patch:
>
> $ modinfo drivers/gpio/gpio-ath79.ko | grep alias
> $
>
> After this patch:
>
> $ modinfo drivers/gpio/gpio-ath79.ko | grep alias
> alias: of:N*T*Cqca,ar9340-gpioC*
> alias: of:N*T*Cqca,ar9340-gpio
> alias: of:N*T*Cqca,ar7100-gpioC*
> alias: of:N*T*Cqca,ar7100-gpio
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
Acked-by: Aban Bedel <[email protected]>
Alban
On Tue, Oct 18, 2016 at 10:44 PM, Javier Martinez Canillas
<[email protected]> wrote:
> If the driver is built as a module, autoload won't work because the module
> alias information is not filled. So user-space can't match the registered
> device with the corresponding module.
>
> Export the module alias information using the MODULE_DEVICE_TABLE() macro.
>
> Before this patch:
>
> $ modinfo drivers/gpio/gpio-ts4800.ko | grep alias
> $
>
> After this patch:
>
> $ modinfo drivers/gpio/gpio-ts4800.ko | grep alias
> alias: of:N*T*Ctechnologic,ts4800-gpioC*
> alias: of:N*T*Ctechnologic,ts4800-gpio
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
Patch applied for fixes.
Yours,
Linus Walleij
Hello Linus,
On 10/21/2016 09:55 AM, Linus Walleij wrote:
> On Tue, Oct 18, 2016 at 10:44 PM, Javier Martinez Canillas
> <[email protected]> wrote:
>
>> If the driver is built as a module, autoload won't work because the module
>> alias information is not filled. So user-space can't match the registered
>> device with the corresponding module.
>>
>> Export the module alias information using the MODULE_DEVICE_TABLE() macro.
>>
>> Before this patch:
>>
>> $ modinfo drivers/gpio/gpio-ts4800.ko | grep alias
>> $
>>
>> After this patch:
>>
>> $ modinfo drivers/gpio/gpio-ts4800.ko | grep alias
>> alias: of:N*T*Ctechnologic,ts4800-gpioC*
>> alias: of:N*T*Ctechnologic,ts4800-gpio
>>
>> Signed-off-by: Javier Martinez Canillas <[email protected]>
>
> Patch applied for fixes.
>
Thanks, I guess this also applies to Patch 1/2?
> Yours,
> Linus Walleij
>
Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
On Tue, Oct 18, 2016 at 10:44 PM, Javier Martinez Canillas
<[email protected]> wrote:
> If the driver is built as a module, autoload won't work because the module
> alias information is not filled. So user-space can't match the registered
> device with the corresponding module.
>
> Export the module alias information using the MODULE_DEVICE_TABLE() macro.
>
> Before this patch:
>
> $ modinfo drivers/gpio/gpio-ath79.ko | grep alias
> $
>
> After this patch:
>
> $ modinfo drivers/gpio/gpio-ath79.ko | grep alias
> alias: of:N*T*Cqca,ar9340-gpioC*
> alias: of:N*T*Cqca,ar9340-gpio
> alias: of:N*T*Cqca,ar7100-gpioC*
> alias: of:N*T*Cqca,ar7100-gpio
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
Patch applied with Alban's ACK.
Yours,
Linus Walleij