X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/2c4d27ff3bf2665454a8c742922ead6a3b7645d2..54023e75037f2310e53f4573e603e0b0ced48ede:/package/broadcom-diag/src/diag.h diff --git a/package/broadcom-diag/src/diag.h b/package/broadcom-diag/src/diag.h index 30791cffe..eae5872e7 100644 --- a/package/broadcom-diag/src/diag.h +++ b/package/broadcom-diag/src/diag.h @@ -18,17 +18,18 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Id:$ */ +#include #define MODULE_NAME "diag" -#define MAX_GPIO 8 +#define MAX_GPIO 16 #define FLASH_TIME HZ/6 enum polarity_t { REVERSE = 0, NORMAL = 1, + INPUT = 2, }; enum { @@ -66,15 +67,23 @@ struct platform_t { struct button_t buttons[MAX_GPIO]; u32 button_mask; u32 button_polarity; + void (*platform_init)(void); struct led_t leds[MAX_GPIO]; }; struct event_t { struct work_struct wq; - char buf[256]; - char *argv[3]; - char *envp[6]; + unsigned long seen; + char *name, *action; +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) + struct sk_buff *skb; +#else + char *scratch; + char *argv[4]; + char *envp[7]; + u8 enr, anr; +#endif }; extern char *nvram_get(char *str); @@ -86,8 +95,13 @@ static struct platform_t platform; static void register_buttons(struct button_t *b); static void unregister_buttons(struct button_t *b); +#ifndef LINUX_2_4 +static void hotplug_button(struct work_struct *work); +static irqreturn_t button_handler(int irq, void *dev_id); +#else static void hotplug_button(struct event_t *event); static irqreturn_t button_handler(int irq, void *dev_id, struct pt_regs *regs); +#endif /* leds */