On Monday 26 October 2009 07:02:55 pm ykzhao wrote:
> In fact you mention two issues about the two patches:
>    1: Load a PNP driver for it to register the IPMI system interface.
> This is about the first patch.
>    2. coding style( for example: comments, the definition about some
> variables).
> 
> For the first issue: Before I start the first patch, I consider using
> the PNP device driver. But I find that it is so complex because of the
> following two points:
>     1. One is that we can't register the IPMI system interface if the
> boot option of "pnpacpi=off" is added. This will also depend on the PNP
> module.

This is not a problem.  It is perfectly acceptable for the IPMI driver
to depend on PNP and PNPACPI in order to claim an ACPI device.  If the
users boots with "pnpacpi=off", we just won't find an IPMI device.
That is the way it works for TPM devices and serial devices described
by ACPI, and IPMI should work the same way.

>     2. The second is that there exist so many cases about the IPMI
> IO/memory resource definition. Maybe there exist both IO/memory resource
> definition for one IPMI device. In such case we can't know which should
> be selected. At the same time we have similar issues about the interrupt
> type. So I decide to parse the IO/memory/interrupt resource
> independently.

This doesn't make any sense.  The fact that an IPMI device might have
a variety of IO/memory/IRQ resources is orthogonal to the question of
whether you should use pnp_register_driver() or acpi_walk_namespace().

PNPACPI parses the IPMI device resources for every ACPI device,
including the IPMI device, before we even know whether there will be
a PNP driver for the device.  It's much easier to look at the PNP
resources and figure out which to use than it is to use
acpi_walk_resources() manually.

The main point is that ipmi_si_intf.c is a device driver, and it should
use the normal driver registration mechanisms.  I think it would be
simplest and clearest to make a few PNP enhancements so it could use
pnp_register_driver(), but even using acpi_bus_register_driver() would
be fine.  Using acpi_walk_namespace() to do everything by hand is just
completely wrong.

Bjorn



------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to