Skip to contentSkip to conversation

IPMI: Support I/O resources in OF driver

PATCH New Corey Minyard 1 participant 1 message May 9, 2008 IPMI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 IPMI: Support I/O resources in OF driver

From: Nate Case <[email protected]>

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.

---
 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

drivers/char/ipmi/ipmi_si_intf.c +8 -2
Index: 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;