smc91x: sh solution engine fixes.
PATCH 1/1 smc91x: sh solution engine fixes.
The current smc91x I/O routines ifdef the solution engine subtypes individually, which is rather bogus, as they can simply use CONFIG_SOLUTION_ENGINE instead. This fixes it for some of the other solution engines that weren't included in the ifdef list (SH7206 specifically).
There are also inb/outb definitions which are totally bogus (missing brackets in _both_ cases, SMC_CAN_USE_8BIT == 0, and even better, they try to use a 16-bit access to fake 8-bit access). Kill that nonsense off completely.
--
drivers/net/smc91x.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
drivers/net/smc91x.h +1 -4
@@ -281,17 +281,14 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)#elif defined(CONFIG_SUPERH ) -#if defined(CONFIG_SH_7780_SOLUTION_ENGINE ) || defined(CONFIG_SH_7722_SOLUTION_ENGINE ) +#ifdef CONFIG_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)
Jeff Garzik
AppliedQuoted 6 lines · Paul Mundt
The current smc91x I/O routines ifdef the solution engine subtypes individually, which is rather bogus, as they can simply use
CONFIG_SOLUTION_ENGINEinstead. This fixes it for some of the other solution engines that weren't included in the ifdef list (SH7206 specifically).
Quoted 6 lines
There are also inb/outb definitions which are totally bogus (missing brackets in _both_ cases,
SMC_CAN_USE_8BIT== 0, and even better, they try to use a 16-bit access to fake 8-bit access). Kill that nonsense off completely.Signed-off-by Paul Mundt <[email protected]>
applied to #upstream-fixes