X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/c7a59f885d9372e0a8695f6906587a2fa0931e20..e87fb5ee5a75b03e8b2e128b611a72e08eab3196:/package/broadcom-diag/src/diag.c?ds=sidebyside diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index a47d13993..7866b9f79 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -503,7 +503,7 @@ static struct platform_t __initdata platforms[] = { { .name = "reset", .gpio = 1 << 2 }, }, .leds = { - { .name = "power", .gpio = 1 << 3, .polarity = REVERSE }, + { .name = "power", .gpio = 1 << 3, .polarity = NORMAL }, }, }, /* Trendware */ @@ -675,8 +675,14 @@ static void unregister_buttons(struct button_t *b) gpio_set_irqenable(0, button_handler); } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20) +static void hotplug_button(struct work_struct *work) +{ + struct event_t *event = container_of(work, struct event_t, wq); +#else static void hotplug_button(struct event_t *event) { +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) call_usermodehelper (event->argv[0], event->argv, event->envp, 1); #else @@ -724,7 +730,11 @@ static irqreturn_t button_handler(int irq, void *dev_id, struct pt_regs *regs) scratch += sprintf (scratch, "SEEN=%ld", (jiffies - b->seen)/HZ) + 1; event->envp[i] = 0; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20) + INIT_WORK(&event->wq, (void *)(void *)hotplug_button); +#else INIT_WORK(&event->wq, (void *)(void *)hotplug_button, (void *)event); +#endif schedule_work(&event->wq); }