mirror of https://gitee.com/openkylin/linux.git
smc91x SuperH support
This patch supports SuperH of smc91x. smc91x installed on the board of SuperH comes to work by applying this patch. Please apply this patch . Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
9fd9f9b669
commit
5125ed914d
|
@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)
|
|||
#define SMC_insw(a, r, p, l) insw((a) + (r), p, l)
|
||||
#define SMC_outsw(a, r, p, l) outsw((a) + (r), p, l)
|
||||
|
||||
#elif defined(CONFIG_SUPERH)
|
||||
|
||||
#if defined(CONFIG_SH_7780_SOLUTION_ENGINE) || defined(CONFIG_SH_7722_SOLUTION_ENGINE)
|
||||
#define SMC_CAN_USE_8BIT 0
|
||||
#define SMC_CAN_USE_16BIT 1
|
||||
#define SMC_CAN_USE_32BIT 0
|
||||
#define SMC_IO_SHIFT 0
|
||||
#define SMC_NOWAIT 1
|
||||
|
||||
#define SMC_inb(a, r) (inw((a) + ((r)&~1)) >> (8*(r%2)))&0xff
|
||||
#define SMC_inw(a, r) inw((a) + (r))
|
||||
#define SMC_outb(v, a, r) outw(((inw((a)+((r)&~1))*(0xff<<8*(r%2)))) | ((v)<<(8*(r&2)))), (a) + ((r)&~1))
|
||||
|
||||
#define SMC_outw(v, a, r) outw(v, (a) + (r))
|
||||
#define SMC_insw(a, r, p, l) insw((a) + (r), p, l)
|
||||
#define SMC_outsw(a, r, p, l) outsw((a) + (r), p, l)
|
||||
|
||||
#else /* BOARDS */
|
||||
|
||||
#define SMC_CAN_USE_8BIT 1
|
||||
#define SMC_CAN_USE_16BIT 1
|
||||
#define SMC_CAN_USE_32BIT 1
|
||||
|
||||
#define SMC_inb(a, r) inb((a) + (r))
|
||||
#define SMC_inw(a, r) inw((a) + (r))
|
||||
#define SMC_outb(v, a, r) outb(v, (a) + (r))
|
||||
#define SMC_outw(v, a, r) outw(v, (a) + (r))
|
||||
#define SMC_insw(a, r, p, l) insw((a) + (r), p, l)
|
||||
#define SMC_outsw(a, r, p, l) outsw((a) + (r), p, l)
|
||||
|
||||
#endif /* BOARDS */
|
||||
|
||||
#define set_irq_type(irq, type) do {} while (0)
|
||||
|
||||
#elif defined(CONFIG_M32R)
|
||||
|
||||
#define SMC_CAN_USE_8BIT 0
|
||||
|
|
Loading…
Reference in New Issue