Commit 6d75e650 authored by Paul Mundt's avatar Paul Mundt

sh: Move hd64461.h to a more sensible location.

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: default avatarPaul Mundt <lethal@linux-sh.org>
parent d95fb13c
/* /*
* $Id: io.c,v 1.6 2004/03/16 00:07:50 lethal Exp $
* Copyright (C) 2000 YAEGASHI Takeshi * Copyright (C) 2000 YAEGASHI Takeshi
* Typical I/O routines for HD64461 system. * Typical I/O routines for HD64461 system.
*/ */
#include <asm/io.h> #include <asm/io.h>
#include <asm/hd64461/hd64461.h> #include <asm/hd64461.h>
#define MEM_BASE (CONFIG_HD64461_IOBASE - HD64461_STBCR) #define MEM_BASE (CONFIG_HD64461_IOBASE - HD64461_STBCR)
...@@ -144,13 +143,13 @@ void hd64461_outsl(unsigned long port, const void *buffer, unsigned long count) ...@@ -144,13 +143,13 @@ void hd64461_outsl(unsigned long port, const void *buffer, unsigned long count)
while(count--) *addr=*buf++; 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);
} }
...@@ -14,8 +14,7 @@ ...@@ -14,8 +14,7 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/hd64461.h>
#include <asm/hd64461/hd64461.h>
static void disable_hd64461_irq(unsigned int irq) static void disable_hd64461_irq(unsigned int irq)
{ {
......
...@@ -155,7 +155,6 @@ ...@@ -155,7 +155,6 @@
#define HD64461_PCCSCR_VCC1 0x02 /* voltage control pin 1 */ #define HD64461_PCCSCR_VCC1 0x02 /* voltage control pin 1 */
#define HD64461_PCCSCR_SWP 0x01 /* write protect */ #define HD64461_PCCSCR_SWP 0x01 /* write protect */
#define HD64461_P0OCR 0x1202a #define HD64461_P0OCR 0x1202a
#define HD64461_P1OCR 0x1202c #define HD64461_P1OCR 0x1202c
#define HD64461_PGCR 0x1202e #define HD64461_PGCR 0x1202e
...@@ -180,13 +179,6 @@ ...@@ -180,13 +179,6 @@
#define HD64461_NIRR 0x15000 #define HD64461_NIRR 0x15000
#define HD64461_NIMR 0x15002 #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_IRQBASE OFFCHIP_IRQ_BASE
#define HD64461_IRQ_NUM 16 #define HD64461_IRQ_NUM 16
...@@ -199,4 +191,13 @@ ...@@ -199,4 +191,13 @@
#define HD64461_IRQ_PCC1 (HD64461_IRQBASE+13) #define HD64461_IRQ_PCC1 (HD64461_IRQBASE+13)
#define HD64461_IRQ_PCC0 (HD64461_IRQBASE+14) #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 #endif
/*
* 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 */
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
/* /*
* Nothing special here.. just use the generic cchip io routines. * 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 */ #endif /* __ASM_SH_HP6XX_IO_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment