* $Id:$
*/
+#include <linux/irq.h>
#define MODULE_NAME "diag"
#define MAX_GPIO 8
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);
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 */