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
* 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);
}
......@@ -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)
{
......
......@@ -155,7 +155,6 @@
#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
......@@ -180,13 +179,6 @@
#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
......@@ -199,4 +191,13 @@
#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
/*
* 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 @@
/*
* 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 */
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