Subject: [patch] generate error when trying to compile PCMCIA driver without 64 bit addresses

From: Ulrich Eckhardt <[email-masked]>
Date: Wed, 23 Feb 2005 09:47:53 +0100

Greetings!

PCMCIA controller registers are mapped in an area that requires the upper four 
of the 36 bit addresses, so this can't work without 64 bit physical address 
support. Sick thing is that due to some stupid casts the whole thing compiles 
without warnings even without 64 bit support but of course doesn't run. 
However, that's a topic for a different patch.

Uli

Changes:
 * generate error when compiled without 64bit physical address support

---
Index: drivers/pcmcia/au1000_generic.h
===================================================================
RCS file: /home/cvs/linux/drivers/pcmcia/au1000_generic.h,v
retrieving revision 1.4
diff -u -r1.4 au1000_generic.h
--- drivers/pcmcia/au1000_generic.h 19 Oct 2004 07:26:37 -0000 1.4
+++ drivers/pcmcia/au1000_generic.h 23 Feb 2005 08:40:05 -0000
@@ -30,6 +30,10 @@
 #include <pcmcia/cistpl.h>
 #include "cs_internal.h"
 
+#if !defined(CONFIG_64BIT_PHYS_ADDR)
+#  error "need 64bit physical address support to access PCMCIA controller"
+#endif
+
 #define AU1000_PCMCIA_POLL_PERIOD    (2*HZ)
 #define AU1000_PCMCIA_IO_SPEED       (255)
 #define AU1000_PCMCIA_MEM_SPEED      (300)

---

From: Ralf Baechle <[email-masked]>
Date: Wed, 23 Feb 2005 11:19:18 +0000

>  #define AU1000_PCMCIA_MEM_SPEED      (300)

No.  In drivers/pcmcia/Kconfig do something like:

config PCMCIA_AU1X00
        tristate "Au1x00 pcmcia support"
	select 64BIT_PHYS_ADDR
        depends on SOC_AU1X00 && PCMCIA

  Ralf