dmi: Rework to get IPMI autoloading from DMI tables
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): CALCETrUw+5+AWUqD5qmZns0JP8XQ8qQ8vZEdsg0Z1CqimosxVg@mail.gmail.com
Jean, any status on this?
Thanks,
-corey
Quoted 46 lines · Andy Lutomirski
Quoted 16 lines · On Wed, Feb 3, 2016 at 9:30 AM, <[email protected]> wrote:
The IPMI driver would not auto-load from DMI tables. So these patches creates a platform device from an IPMI DMI table entry, and then modify the IPMI driver to handle all this.
I followed how ACPI works mostly, with a fwnode and such. But greatly simplified, of course .
Changes from v1:
* Split out the IPMI changes to their own patch. It compiles and works at each step, so no need to mix it up. Should be easier to review now.
* Removed the
dmi_zalloc()code, as thedmi_allocalready returns zeroed data.Quoted 6 lines
* Removed the dummy (no DMI)
is_dmi_fwnode()andto_dmi_device()calls as they are only used underCONFIG_DMI.I'm still not sure about the device name and the
driver_overridesetting. I'd prefer something different, but there's no easy way to provide device matching like ACPI and OF can.Sorry for being so slow testing this. The whole series is:
Tested-by Andy Lutomirski <[email protected]>A couple of thoughts that are definitely not prerequisites for this series:
The sysfs hierarchy for the ipmi devices is confusing, at least to me. With these applied, I have a dmi-ipmi-si device and an ipmi-bmc device. The ipmi-bmc device has a link called ipmi0 to the dmi-ipmi-si device. The dmi-ipmi-si device has a link called bmc to the ipmi-bmc device. The dmi-ipmi-si device also has the ipmi class with the ipmi0 class device attached. The dmi-ipmi-si part makes sense to me, but what's the ipmi-bmc for? Could it go away entirely? Should it be a child of the dmi-ipmi-si device?
As for getting
ipmi_devintfto autoload, you could stick a modalias in the ipmi class device node (ipmi0) pointing toipmi_devintf. It would be a bit hackish, but it ought to work, and it would allow blacklistingipmi_devintfto prevent it from loading. Alternatively, you could mergeipmi_devintfintoipmi_sior export a dummy symbol fromipmi_devintfand require it inipmi_si.--Andy