[PATCH] IPMI: Support I/O resources in OF driver

From: Corey Minyard
Date: Thu May 08 2008 - 21:22:43 EST


From: Nate Case <ncase@xxxxxxxxxxx>

The current OF probing assumes that the resource is IORESOURCE_MEM.
This checks for the IORESOURCE_IO flag and behaves appropriately.
An I/O resource can exist with an ipmi device node on a legacy ISA bus.

Signed-off-by: Nate Case <ncase@xxxxxxxxxxx>
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
---
drivers/char/ipmi/ipmi_si_intf.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Seems reasonable to me, though I have no way to test this. -corey

Index: linux-2.6.25/drivers/char/ipmi/ipmi_si_intf.c
===================================================================
--- linux-2.6.25.orig/drivers/char/ipmi/ipmi_si_intf.c
+++ linux-2.6.25/drivers/char/ipmi/ipmi_si_intf.c
@@ -2353,10 +2353,16 @@ static int __devinit ipmi_of_probe(struc

info->si_type = (enum si_type) match->data;
info->addr_source = "device-tree";
- info->io_setup = mem_setup;
info->irq_setup = std_irq_setup;

- info->io.addr_type = IPMI_MEM_ADDR_SPACE;
+ if (resource.flags & IORESOURCE_IO) {
+ info->io_setup = port_setup;
+ info->io.addr_type = IPMI_IO_ADDR_SPACE;
+ } else {
+ info->io_setup = mem_setup;
+ info->io.addr_type = IPMI_MEM_ADDR_SPACE;
+ }
+
info->io.addr_data = resource.start;

info->io.regsize = regsize ? *regsize : DEFAULT_REGSIZE;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/