On 07/27/2010 08:09 PM, ykzhao wrote:
I agree that a notifier framework seems like massive overkill for this
interface. I will note that there are already interfaces for
registering to receive callbacks when an IPMI device is added or
removed. What's missing is a way to ask "Is this an ACPI PNP device?".
Not sure whether the ipmi_smi_watcher is the interfaces you mentioned?
The ipmi_smi_watcher is already used in the second patch in order to
create the user interface. But now the callback function of new_smi only
provides very limited info about the IPMI device. In order to assure
that ACPI can communicate with the IPMI device, I have to compare the
corresponding device pointer to confirm whether this is what ACPI want
to communicate. Then I tried the several mechanisms to make it work
while touch IPMI code/structure as little as possible.
>manually discover the pnp device with the pnpid of "IPI0001"
>using one notifier in course of loading IPMI pnp device driver.
>Merge the opregion code into the PNP IPMI discovery code.
Yes ipmi_smi_watcher is the interface, and you obviously have to use
that to catch the interfaces as the come and go.
Since this same function will be needed for IPMI SMBus interfaces, if
that ever becomes a reality in the kernel, it seems more reasonable to
provide some type of addition to the IPMI interface to be able to store
this in the low-level code and retrieve this from the IPMI user
interface. So you can use the standard mechanisms to watch for devices
being added, and then query to see if they are PNP at that point.
Does that make sense?
Yes. If this interface can be available, it will be easier for me to
write the patch to enable that the ACPI can communicate with the BMC.
I was actually hoping you would provide that interface :). I'm not sure
exactly what you need, but it's not that hard, really. A new function
in ipmi.h and ipmi_msghandler.c which calls a new function pointer in
struct ipmi_smi_handlers (in ipmi_smi.h). ipmi_si.c would tie into that
new function pointer, and I believe all the data is already available there.
-corey
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html