sh: Move hd64461.h to a more sensible location.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 27 Sep 2006 04:42:57 +0000 (13:42 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 27 Sep 2006 04:42:57 +0000 (13:42 +0900)
With the I/O rework for hd64461 we're down to a single header,
so move it by itself and get rid of the directory.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/cchips/hd6446x/hd64461/io.c
arch/sh/cchips/hd6446x/hd64461/setup.c
include/asm-sh/hd64461.h [moved from include/asm-sh/hd64461/hd64461.h with 87% similarity]
include/asm-sh/hd64461/io.h [deleted file]
include/asm-sh/hp6xx/io.h

index ac30626..f77f18f 100644 (file)
@@ -1,11 +1,10 @@
 /*
- *     $Id: io.c,v 1.6 2004/03/16 00:07:50 lethal Exp $
  *     Copyright (C) 2000 YAEGASHI Takeshi
  *     Typical I/O routines for HD64461 system.
  */
 
 #include <asm/io.h>
-#include <asm/hd64461/hd64461.h>
+#include <asm/hd64461.h>
 
 #define MEM_BASE (CONFIG_HD64461_IOBASE - HD64461_STBCR)
 
@@ -144,13 +143,13 @@ void hd64461_outsl(unsigned long port, const void *buffer, unsigned long count)
        while(count--) *addr=*buf++;
 }
 
-unsigned short hd64461_readw(unsigned long addr)
+unsigned short hd64461_readw(void __iomem *addr)
 {
-       return *(volatile unsigned short*)(MEM_BASE+addr);
+       return ctrl_inw(MEM_BASE+(unsigned long __force)addr);
 }
 
-void hd64461_writew(unsigned short b, unsigned long addr)
+void hd64461_writew(unsigned short b, void __iomem *addr)
 {
-       *(volatile unsigned short*)(MEM_BASE+addr) = b;
+       ctrl_outw(b, MEM_BASE+(unsigned long __force)addr);
 }
 
index ad12601..6c96127 100644 (file)
@@ -14,8 +14,7 @@
 
 #include <asm/io.h>
 #include <asm/irq.h>
-
-#include <asm/hd64461/hd64461.h>
+#include <asm/hd64461.h>
 
 static void disable_hd64461_irq(unsigned int irq)
 {
similarity index 87%
rename from include/asm-sh/hd64461/hd64461.h
rename to include/asm-sh/hd64461.h
index 87f13d2..0f2e213 100644 (file)
@@ -54,9 +54,9 @@
 #define HD64461_LDVSPR         0x1101c
 #define HD64461_LDR3           0x1101e
 
-#define HD64461_CPTWAR         0x11030 
+#define HD64461_CPTWAR         0x11030
 #define HD64461_CPTWDR         0x11032
-#define HD64461_CPTRAR         0x11034 
+#define HD64461_CPTRAR         0x11034
 #define HD64461_CPTRDR         0x11036
 
 #define HD64461_GRDOR          0x11040
 #define HD64461_PCCISR_BVD1            0x01    /* battery 1 */
 
 #define HD64461_PCCISR_PCD_MASK                0x0c    /* card detect */
-#define HD64461_PCCISR_BVD_MASK        0x03    /* battery voltage */
+#define HD64461_PCCISR_BVD_MASK                0x03    /* battery voltage */
 #define HD64461_PCCISR_BVD_BATGOOD     0x03    /* battery good */
 #define HD64461_PCCISR_BVD_BATWARN     0x01    /* battery low warning */
 #define HD64461_PCCISR_BVD_BATDEAD1    0x02    /* battery dead */
 
 /* PCC Card Status Change Interrupt Enable Register */
 #define HD64461_PCCCSCIER_CRE          0x80    /* change reset enable */
-#define HD64461_PCCCSCIER_IREQE_MASK           0x60   /* IREQ enable */
+#define HD64461_PCCCSCIER_IREQE_MASK   0x60   /* IREQ enable */
 #define HD64461_PCCCSCIER_IREQE_DISABLED       0x00   /* IREQ disabled */
-#define HD64461_PCCCSCIER_IREQE_LEVEL          0x20   /* IREQ level-triggered */
+#define HD64461_PCCCSCIER_IREQE_LEVEL  0x20   /* IREQ level-triggered */
 #define HD64461_PCCCSCIER_IREQE_FALLING        0x40   /* IREQ falling-edge-trig */
-#define HD64461_PCCCSCIER_IREQE_RISING         0x60   /* IREQ rising-edge-trig */
+#define HD64461_PCCCSCIER_IREQE_RISING 0x60   /* IREQ rising-edge-trig */
 
 #define HD64461_PCCCSCIER_SCE          0x10    /* status change enable */
 #define HD64461_PCCCSCIER_CDE          0x08    /* card detect change enable */
 #define HD64461_PCCSCR_VCC1            0x02    /* voltage control pin 1 */
 #define HD64461_PCCSCR_SWP             0x01    /* write protect */
 
-
 #define HD64461_P0OCR           0x1202a
 #define HD64461_P1OCR           0x1202c
 #define HD64461_PGCR            0x1202e
 #define HD64461_NIRR           0x15000
 #define HD64461_NIMR           0x15002
 
-#ifndef CONFIG_HD64461_IOBASE
-#define CONFIG_HD64461_IOBASE  0xb0000000
-#endif
-#ifndef CONFIG_HD64461_IRQ
-#define CONFIG_HD64461_IRQ     36
-#endif
-
 #define HD64461_IRQBASE                OFFCHIP_IRQ_BASE
-#define HD64461_IRQ_NUM        16
-
-#define HD64461_IRQ_UART       (HD64461_IRQBASE+5)
-#define HD64461_IRQ_IRDA       (HD64461_IRQBASE+6)
-#define HD64461_IRQ_TMU1       (HD64461_IRQBASE+9)
-#define HD64461_IRQ_TMU0       (HD64461_IRQBASE+10)
-#define HD64461_IRQ_GPIO       (HD64461_IRQBASE+11)
-#define HD64461_IRQ_AFE        (HD64461_IRQBASE+12)
-#define HD64461_IRQ_PCC1       (HD64461_IRQBASE+13)
-#define HD64461_IRQ_PCC0       (HD64461_IRQBASE+14)
+#define HD64461_IRQ_NUM                16
+
+#define HD64461_IRQ_UART       (HD64461_IRQBASE+5)
+#define HD64461_IRQ_IRDA       (HD64461_IRQBASE+6)
+#define HD64461_IRQ_TMU1       (HD64461_IRQBASE+9)
+#define HD64461_IRQ_TMU0       (HD64461_IRQBASE+10)
+#define HD64461_IRQ_GPIO       (HD64461_IRQBASE+11)
+#define HD64461_IRQ_AFE                (HD64461_IRQBASE+12)
+#define HD64461_IRQ_PCC1       (HD64461_IRQBASE+13)
+#define HD64461_IRQ_PCC0       (HD64461_IRQBASE+14)
+
+#define __IO_PREFIX    hd64461
+#include <asm/io_generic.h>
+
+/* arch/sh/cchips/hd6446x/hd64461/setup.c */
+int hd64461_irq_demux(int irq);
+void hd64461_register_irq_demux(int irq,
+                               int (*demux) (int irq, void *dev), void *dev);
+void hd64461_unregister_irq_demux(int irq);
 
 #endif
diff --git a/include/asm-sh/hd64461/io.h b/include/asm-sh/hd64461/io.h
deleted file mode 100644 (file)
index 67f2489..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * include/asm-sh/io_hd64461.h
- *
- * Copyright 2000 Stuart Menefy (stuart.menefy@st.com)
- *
- * May be copied or modified under the terms of the GNU General Public
- * License.  See linux/COPYING for more information.
- *
- * IO functions for an HD64461
- */
-
-#ifndef _ASM_SH_IO_HD64461_H
-#define _ASM_SH_IO_HD64461_H
-
-extern unsigned char hd64461_inb(unsigned long port);
-extern unsigned short hd64461_inw(unsigned long port);
-extern unsigned int hd64461_inl(unsigned long port);
-
-extern void hd64461_outb(unsigned char value, unsigned long port);
-extern void hd64461_outw(unsigned short value, unsigned long port);
-extern void hd64461_outl(unsigned int value, unsigned long port);
-
-extern unsigned char hd64461_inb_p(unsigned long port);
-extern void hd64461_outb_p(unsigned char value, unsigned long port);
-
-extern void hd64461_insb(unsigned long port, void *addr, unsigned long count);
-extern void hd64461_insw(unsigned long port, void *addr, unsigned long count);
-extern void hd64461_insl(unsigned long port, void *addr, unsigned long count);
-
-extern void hd64461_outsb(unsigned long port, const void *buffer, unsigned long count);
-extern void hd64461_outsw(unsigned long port, const void *buffer, unsigned long count);
-extern void hd64461_outsl(unsigned long port, const void *buffer, unsigned long count);
-
-extern unsigned short hd64461_readw(unsigned long addr);
-extern void hd64461_writew(unsigned short b, unsigned long addr);
-
-
-extern int hd64461_irq_demux(int irq);
-extern void hd64461_register_irq_demux(int irq,
-               int (*demux)(int irq, void *dev), void *dev);
-extern void hd64461_unregister_irq_demux(int irq);
-
-#endif /* _ASM_SH_IO_HD64461_H */
index 7317980..2044476 100644 (file)
@@ -4,7 +4,7 @@
 /*
  * Nothing special here.. just use the generic cchip io routines.
  */
-#include <asm/hd64461/io.h>
+#include <asm/hd64461.h>
 
 #endif /* __ASM_SH_HP6XX_IO_H */