Re: [PATCH] ipmi: add of_device_id in MODULE_DEVICE_TABLE

From: Corey Minyard
Date: Wed Aug 26 2015 - 10:57:47 EST


On 08/25/2015 09:50 AM, Singh, Brijeshkumar wrote:
> Hi Corey,
>
> Just tried the patch on 4.2-rc8 and it seem to build just fine
>
> * make x86_64_defconfig + enable IPMI module as "m" - Build OK
> * make allyesconfig - Build OK
> * make allmodconfig - Build OK
>
> Please let me know if I am missing something otherwise send me your config and will try to root cause the issue.
> Optionally, if you are okay then I can guard MODULE_DEVICE_TABLE(of, ipmi_match) changes with #if CONFIG_OF to ensure that code does not get build for non device-tree platform.

I have a patch queued that reworks the probing a bit, and it affected
this code. I had to move the change into the CONFIG_OF ifdef and change
the name. Sorry this took so long, I just didn't have time to look at it.

I have queued the change, and it will be in linux-next soon, if you want
to check it.

-corey

> -Brijesh
>
>> -----Original Message-----
>> From: Corey Minyard [mailto:tcminyard@xxxxxxxxx] On Behalf Of Corey
>> Minyard
>> Sent: Monday, August 24, 2015 7:49 PM
>> To: Singh, Brijeshkumar; openipmi-developer@xxxxxxxxxxxxxxxxxxxxx; linux-
>> kernel@xxxxxxxxxxxxxxx
>> Subject: Re: [PATCH] ipmi: add of_device_id in MODULE_DEVICE_TABLE
>>
>> Well, I should have compile tested first. On x86_64:
>>
>>
>> CC [M] drivers/char/ipmi/ipmi_si_intf.o In file included from
>> ../drivers/char/ipmi/ipmi_si_intf.c:42:0:
>> ../drivers/char/ipmi/ipmi_si_intf.c:2804:25: error: 'ipmi_match'
>> undeclared here (not in a function)
>> MODULE_DEVICE_TABLE(of, ipmi_match);
>> ^
>> ../include/linux/module.h:223:21: note: in definition of macro
>> 'MODULE_DEVICE_TABLE'
>> extern const typeof(name) __mod_##type##__##name##_device_table \
>> ^
>> ../include/linux/module.h:223:27: error:
>> '__mod_of__ipmi_match_device_table' aliased to undefined symbol
>> 'ipmi_match'
>> extern const typeof(name) __mod_##type##__##name##_device_table \
>> ^
>> ../drivers/char/ipmi/ipmi_si_intf.c:2804:1: note: in expansion of macro
>> 'MODULE_DEVICE_TABLE'
>> MODULE_DEVICE_TABLE(of, ipmi_match);
>>
>>
>> This has to compile on all arches. I'm not sure what is wrong, but I've removed
>> the patch.
>>
>> -corey
>>
>> On 08/24/2015 09:15 AM, Brijesh Singh wrote:
>>> Fix autoloading ipmi modules when using device tree.
>>>
>>> Signed-off-by: Brijesh Singh <brijeshkumar.singh@xxxxxxx>
>>> ---
>>> drivers/char/ipmi/ipmi_si_intf.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/char/ipmi/ipmi_si_intf.c
>>> b/drivers/char/ipmi/ipmi_si_intf.c
>>> index 8a45e92..cddc7b0 100644
>>> --- a/drivers/char/ipmi/ipmi_si_intf.c
>>> +++ b/drivers/char/ipmi/ipmi_si_intf.c
>>> @@ -2785,6 +2785,7 @@ static struct platform_driver ipmi_driver = {
>>> .probe = ipmi_probe,
>>> .remove = ipmi_remove,
>>> };
>>> +MODULE_DEVICE_TABLE(of, ipmi_match);
>>>
>>> #ifdef CONFIG_PARISC
>>> static int ipmi_parisc_probe(struct parisc_device *dev)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/