[PATCH] mem driver: fix conditional on isa i/o support

From: Geoff Levand
Date: Tue Aug 29 2006 - 21:59:59 EST


This change corrects the logic on the preprocessor conditionals
that include support for ISA port i/o (/dev/ioports) into
the mem character driver.

This fixes the following error when building for powerpc
platforms with CONFIG_PCI=n.

drivers/built-in.o: undefined reference to `pci_io_base'


Signed-off-by: Geoff Levand <geoffrey.levand@xxxxxxxxxxx>

---

I've only tested this on powerpc (cell) build. Testing
on other arch's would be welcome.

-Geoff

Index: cell--common--4/drivers/char/mem.c
===================================================================
--- cell--common--4.orig/drivers/char/mem.c
+++ cell--common--4/drivers/char/mem.c
@@ -522,7 +522,7 @@
return virtr + wrote;
}

-#if defined(CONFIG_ISA) || !defined(__mc68000__)
+#if (defined(CONFIG_ISA) || defined(CONFIG_PCI)) && !defined(__mc68000__)
static ssize_t read_port(struct file * file, char __user * buf,
size_t count, loff_t *ppos)
{
@@ -799,7 +799,7 @@
.splice_write = splice_write_null,
};

-#if defined(CONFIG_ISA) || !defined(__mc68000__)
+#if (defined(CONFIG_ISA) || defined(CONFIG_PCI)) && !defined(__mc68000__)
static const struct file_operations port_fops = {
.llseek = memory_lseek,
.read = read_port,
@@ -869,7 +869,7 @@
case 3:
filp->f_op = &null_fops;
break;
-#if defined(CONFIG_ISA) || !defined(__mc68000__)
+#if (defined(CONFIG_ISA) || defined(CONFIG_PCI)) && !defined(__mc68000__)
case 4:
filp->f_op = &port_fops;
break;
@@ -916,7 +916,7 @@
{1, "mem", S_IRUSR | S_IWUSR | S_IRGRP, &mem_fops},
{2, "kmem", S_IRUSR | S_IWUSR | S_IRGRP, &kmem_fops},
{3, "null", S_IRUGO | S_IWUGO, &null_fops},
-#if defined(CONFIG_ISA) || !defined(__mc68000__)
+#if (defined(CONFIG_ISA) || defined(CONFIG_PCI)) && !defined(__mc68000__)
{4, "port", S_IRUSR | S_IWUSR | S_IRGRP, &port_fops},
#endif
{5, "zero", S_IRUGO | S_IWUGO, &zero_fops},


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