On Monday, November 28, 2016 04:01:14 PM Corey Minyard wrote:
> Thanks, this has been on my todo list for a while, but I didn't know exactly
> how to accomplish it.
Why using a SOFTDEP?
If you always want this code in, when ipmi_si or other ipmi HW drivers are
loaded, why not compile it into this impi_msghandler module?
This one seem to always get loaded when any ipmi HW driver gets loaded, due
to some real dependencies.
Why only in ipmi_si? This is x86 (Kconfig talks about DMI and ACPI only).
There is:
ipmi_ssif on ARM
and
ipmi_powernv on PPC
So my idea was and still is to compile the rather small:
ipmi_devintf into ipmi_msghandler
driver. impi_msghandler always gets loaded when ipmi HW drivers gets
successfully loaded. The device interface should always be created as well. So
why do we need complicated and error prone SOFTDEPS, module aliases...
> Queued for 4.10, or whatever shows up next.
I sent a working patch quite some time ago.
If my idea is accepted to be the way to go, I can redo and re-send.
> I also added a similar change for the ipmi_ssif interface.
Adding one such softdep to ipmi_msghandler should do the trick
for all ipmi HW?
And adding the interface code there as well is even nicer...
Thanks,
Thomas
>
>
> -corey
>
> On 11/25/2016 03:55 AM, Martin Wilck wrote:
> > When a computer has an IPMI system interface, the device interface
> > is most probably also desired. Autoloading of ipmi_devintf currently
> > works only if ipmi_si has allocated a platform device. That doesn't
> > happen if the SI interface was detected e.g. via ACPI. But ACPI
> > detection is preferred these days, see e.g. kernel.org bug 46741.
> >
> > This patch introduces a softdep in place of the existing modalias
> > for ipmi_devintf.
> >
> > Signed-off-by: Martin Wilck <[email protected]>
> > Suggested-by: Takashi Iwai <[email protected]>
> > ---
> >
> > drivers/char/ipmi/ipmi_devintf.c | 1 -
> > drivers/char/ipmi/ipmi_si_intf.c | 1 +
> > 2 files changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/char/ipmi/ipmi_devintf.c
> > b/drivers/char/ipmi/ipmi_devintf.c index 1786574..a21407d 100644
> > --- a/drivers/char/ipmi/ipmi_devintf.c
> > +++ b/drivers/char/ipmi/ipmi_devintf.c
> > @@ -989,4 +989,3 @@ module_exit(cleanup_ipmi);
> >
> > MODULE_LICENSE("GPL");
> > MODULE_AUTHOR("Corey Minyard <[email protected]>");
> > MODULE_DESCRIPTION("Linux device interface for the IPMI message
> > handler.");
> >
> > -MODULE_ALIAS("platform:ipmi_si");
> > diff --git a/drivers/char/ipmi/ipmi_si_intf.c
> > b/drivers/char/ipmi/ipmi_si_intf.c index a112c01..20ebdf9 100644
> > --- a/drivers/char/ipmi/ipmi_si_intf.c
> > +++ b/drivers/char/ipmi/ipmi_si_intf.c
> > @@ -3927,3 +3927,4 @@ MODULE_LICENSE("GPL");
> >
> > MODULE_AUTHOR("Corey Minyard <[email protected]>");
> > MODULE_DESCRIPTION("Interface to the IPMI driver for the KCS, SMIC, and
> > BT"
> >
> > " system interfaces.");
> >
> > +MODULE_SOFTDEP("post: ipmi_devintf");
>
------------------------------------------------------------------------------
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer