* 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 {
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 */