fix a crash in ip175c attribute enumeration
[openwrt.git] / package / broadcom-diag / src / diag.h
index 30791cf..eae5872 100644 (file)
  * 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 <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 {
@@ -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 */
 
This page took 0.028005 seconds and 4 git commands to generate.