2016-10-18 20:44:18

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH 1/2] gpio: ath79: Fix module autoload

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


2016-10-18 20:44:22

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH 2/2] gpio: ts4800: Fix module autoload

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

2016-10-19 17:10:48

by Alban

[permalink] [raw]
Subject: Re: [PATCH 1/2] gpio: ath79: Fix module autoload

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


Attachments:
signature.asc (819.00 B)

2016-10-21 12:55:47

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 2/2] gpio: ts4800: Fix module autoload

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

2016-10-21 13:32:25

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 2/2] gpio: ts4800: Fix module autoload

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

2016-10-23 22:23:54

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 1/2] gpio: ath79: Fix module autoload

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