1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-24 02:48:26 +02:00

fix broadcom-diag on linux 2.6.28 (#4633)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14618 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2009-02-22 17:12:36 +00:00
parent 5bbc97f230
commit c8e962e8f9
2 changed files with 5 additions and 7 deletions

View File

@ -919,14 +919,14 @@ static void register_buttons(struct button_t *b)
gpio_control(platform.button_mask, 0); gpio_control(platform.button_mask, 0);
platform.button_polarity = gpio_in() & platform.button_mask; platform.button_polarity = gpio_in() & platform.button_mask;
gpio_intpolarity(platform.button_mask, platform.button_polarity); gpio_intpolarity(platform.button_mask, platform.button_polarity);
gpio_intmask(platform.button_mask, platform.button_mask); gpio_setintmask(platform.button_mask, platform.button_mask);
gpio_set_irqenable(1, button_handler); gpio_set_irqenable(1, button_handler);
} }
static void unregister_buttons(struct button_t *b) static void unregister_buttons(struct button_t *b)
{ {
gpio_intmask(platform.button_mask, 0); gpio_setintmask(platform.button_mask, 0);
gpio_set_irqenable(0, button_handler); gpio_set_irqenable(0, button_handler);
} }
@ -1101,7 +1101,7 @@ static void register_leds(struct led_t *l)
gpio_outen(mask, oe_mask); gpio_outen(mask, oe_mask);
gpio_control(mask, 0); gpio_control(mask, 0);
gpio_out(mask, val); gpio_out(mask, val);
gpio_intmask(mask, 0); gpio_setintmask(mask, 0);
} }
static void unregister_leds(struct led_t *l) static void unregister_leds(struct led_t *l)

View File

@ -32,12 +32,10 @@ static inline u32 gpio_control(u32 mask, u32 value)
return ssb_gpio_control(&ssb, mask, value); return ssb_gpio_control(&ssb, mask, value);
} }
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) static inline u32 gpio_setintmask(u32 mask, u32 value)
static inline u32 gpio_intmask(u32 mask, u32 value)
{ {
return ssb_gpio_intmask(&ssb, mask, value); return ssb_gpio_intmask(&ssb, mask, value);
} }
#endif
static inline u32 gpio_intpolarity(u32 mask, u32 value) static inline u32 gpio_intpolarity(u32 mask, u32 value)
{ {
@ -105,7 +103,7 @@ extern spinlock_t sbh_lock;
#define gpio_out(mask, value) sb_gpioout(sbh, mask, ((value) & (mask)), GPIO_DRV_PRIORITY) #define gpio_out(mask, value) sb_gpioout(sbh, mask, ((value) & (mask)), GPIO_DRV_PRIORITY)
#define gpio_outen(mask, value) sb_gpioouten(sbh, mask, value, GPIO_DRV_PRIORITY) #define gpio_outen(mask, value) sb_gpioouten(sbh, mask, value, GPIO_DRV_PRIORITY)
#define gpio_control(mask, value) sb_gpiocontrol(sbh, mask, value, GPIO_DRV_PRIORITY) #define gpio_control(mask, value) sb_gpiocontrol(sbh, mask, value, GPIO_DRV_PRIORITY)
#define gpio_intmask(mask, value) sb_gpiointmask(sbh, mask, value, GPIO_DRV_PRIORITY) #define gpio_setintmask(mask, value) sb_gpiointmask(sbh, mask, value, GPIO_DRV_PRIORITY)
#define gpio_intpolarity(mask, value) sb_gpiointpolarity(sbh, mask, value, GPIO_DRV_PRIORITY) #define gpio_intpolarity(mask, value) sb_gpiointpolarity(sbh, mask, value, GPIO_DRV_PRIORITY)
static void gpio_set_irqenable(int enabled, irqreturn_t (*handler)(int, void *, struct pt_regs *)) static void gpio_set_irqenable(int enabled, irqreturn_t (*handler)(int, void *, struct pt_regs *))