![Hauke Mehrtens](/assets/img/avatar_default.png)
The old bcm47xx gpio code had support for gpio_to_irq, but the new code did not provide this function, but returned -ENXIO all the time. This patch adds the missing function. arch/mips/bcm47xx/wgt634u.c calls gpio_to_irq() and got the correct irq number with the old gpio handling code. With this patch the code in wgt634u.c should work again. I do not have a wgt634u to test this. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
56 lines
935 B
C
56 lines
935 B
C
#ifndef LINUX_SSB_MIPSCORE_H_
|
|
#define LINUX_SSB_MIPSCORE_H_
|
|
|
|
#ifdef CONFIG_SSB_DRIVER_MIPS
|
|
|
|
struct ssb_device;
|
|
|
|
struct ssb_serial_port {
|
|
void *regs;
|
|
unsigned long clockspeed;
|
|
unsigned int irq;
|
|
unsigned int baud_base;
|
|
unsigned int reg_shift;
|
|
};
|
|
|
|
struct ssb_pflash {
|
|
bool present;
|
|
u8 buswidth;
|
|
u32 window;
|
|
u32 window_size;
|
|
};
|
|
|
|
struct ssb_mipscore {
|
|
struct ssb_device *dev;
|
|
|
|
int nr_serial_ports;
|
|
struct ssb_serial_port serial_ports[4];
|
|
|
|
struct ssb_pflash pflash;
|
|
};
|
|
|
|
extern void ssb_mipscore_init(struct ssb_mipscore *mcore);
|
|
extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore);
|
|
|
|
extern unsigned int ssb_mips_irq(struct ssb_device *dev);
|
|
|
|
|
|
#else /* CONFIG_SSB_DRIVER_MIPS */
|
|
|
|
struct ssb_mipscore {
|
|
};
|
|
|
|
static inline
|
|
void ssb_mipscore_init(struct ssb_mipscore *mcore)
|
|
{
|
|
}
|
|
|
|
static inline unsigned int ssb_mips_irq(struct ssb_device *dev)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
#endif /* CONFIG_SSB_DRIVER_MIPS */
|
|
|
|
#endif /* LINUX_SSB_MIPSCORE_H_ */
|