RE: [PATCH] ipmi: add of_device_id in MODULE_DEVICE_TABLE

From: Singh, Brijeshkumar
Date: Tue Aug 25 2015 - 10:51:03 EST


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.

-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/