Jordan_Hargrave@xxxxxxxx wrote: > Corey, > > Here is the patch (RHEL5 base code) I've been testing that detects the ACPI namespace object. > The IPI0001 device doesn't contain the register spacing directly; it has a _CRS resource object that > (for KCS) has two I/O port entries. I save the first port in io.addr_data, then calculate the register spacing based on subtracting the 2nd port address and the 1st. > This patch looks pretty good, comments inline below. > I'm thinking of changing the register spacing to using an array of port/memory addresses to make calculating interface addresses more generic. > Ok, I'll wait until you are sure here. The changes below are fine, they neaten things up a little. It would probably need to be a separate patch. > eg. > static unsigned char port_inb(struct si_sm_io *io, unsigned int offset) > { > unsigned int addr = io->addr_data; > > return inb(addr + (offset * io->regspacing)); > } > > would become something like: > static unsigned char port_inb(struct si_sm_io *io, unsigned int offset) > { > unsigned int addr = io->addr_data[offset]; > > return inb(addr); > } > > --jordan hargrave > Dell Enterprise Linux Engineering > > > > + > +static struct acpi_driver acpi_ipmi_driver = { > + .name = ACPI_IPMI_DRIVER_NAME, > + .class = ACPI_IPMI_CLASS, > + .ids = ACPI_IPMI_HID, > + .ops = { > + .add = acpi_ipmi_add, > + .remove = acpi_ipmi_remove, > + }, > +}; > Need to fix the indention above. Also, we need to delete the old code, I think. > @@ -1576,6 +1694,12 @@ static __devinit void acpi_find_bmc(void > if (acpi_failure) > return; > > + /* Really we only need to get the IPMI device handle here */ > + acpi_bus_register_driver(&acpi_ipmi_driver); > + acpi_bus_unregister_driver(&acpi_ipmi_driver); > Again, I don't know ACPI, but the above code looks rather strange. Thanks, -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