[8.09] add missing 2.6.23 files, fixes build failures on rb532
[openwrt/svn-archive/archive.git] / package / broadcom-diag / src / diag.h
index af30823aae1b2a0975eeea11cfd3cc06146975b2..52e84fa4bced76864cf647a2ce91f8d1d9ca27d4 100644 (file)
  * $Id:$
  */
 
+#include <linux/irq.h>
 #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 {
@@ -73,9 +75,16 @@ struct platform_t {
 
 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);
@@ -87,8 +96,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 */