Skip to contentSkip to conversation

mem driver: fix conditional on isa i/o support

PATCH In review Geoff Levand 2 participants 2 messages Aug 30, 2006 Char and misc drivers

lore
Share & tools
lore
#0 lore raw

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

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'

---

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

-Geoff

drivers/char/mem.c +4 -4
Index: 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},
Acked-by on v1 1/1
#1 lore raw
Quoted 10 lines · Geoff Levand

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'

Discussd very breifly on ppc64 mailing list, seems to be the right thing to do.

--linas