diff -Nud ../linux-2.6.x-hh-virgin/include/linux/buzzer.h ./include/linux/buzzer.h
--- ../linux-2.6.x-hh-virgin/include/linux/buzzer.h	1969-12-31 16:00:00.000000000 -0800
+++ ./include/linux/buzzer.h	2005-02-08 11:22:23.831430346 -0800
@@ -0,0 +1,16 @@
+#ifndef LINUX_BUZZER_H
+#define LINUX_BUZZER_H
+
+#include <linux/ioctl.h>
+
+#define	BUZZER_IOCTL_BASE	'Z'
+
+struct buzzer_time
+{
+	u32 on_time;
+	u32 off_time;
+};
+
+#define	IOC_SETBUZZER	_IOW(BUZZER_IOCTL_BASE, 0, struct buzzer_time)
+
+#endif
--- ../linux-2.6.x-hh-virgin/drivers/char/Makefile	2005-02-09 16:27:18.578992952 -0800
+++ drivers/char/Makefile	2005-02-09 16:35:08.534456402 -0800
@@ -81,6 +81,7 @@
 obj-$(CONFIG_NWBUTTON) += nwbutton.o
 obj-$(CONFIG_NWFLASH) += nwflash.o
 obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o
+obj-$(CONFIG_H5400_BUZZER) += h5400_buzzer.o
 
 obj-$(CONFIG_WATCHDOG)	+= watchdog/
 obj-$(CONFIG_MWAVE) += mwave/
--- ../linux-2.6.x-hh-virgin/drivers/char/Kconfig	2004-12-27 04:12:17.000000000 -0800
+++ ./drivers/char/Kconfig	2005-02-09 16:35:33.215908884 -0800
@@ -1041,5 +1041,12 @@
 	  The mmtimer device allows direct userspace access to the
 	  Altix system timer.
 
+config H5400_BUZZER
+	tristate "hp iPAQ h5400 buzzer"
+	depends on IPAQ_HANDHELD && ARCH_H5400
+	help
+	  The hp iPAQ h5400 and h5500 include a buzzer to allow it to
+	  vibrate. Only useful if you are using one of these handhelds.
+
 endmenu
 
--- ../linux-2.6.x-hh-virgin/drivers/char/h5400_buzzer.c	2005-02-09 16:31:23.585787337 -0800
+++ ./drivers/char/h5400_buzzer.c	2005-02-08 13:22:29.180872243 -0800
@@ -22,6 +22,7 @@
 #include <asm/irq.h>
 #include <asm/uaccess.h>
 #include <asm/hardware.h>
+#include <asm/arch/pxa-regs.h>
 #include <asm/arch/h5400-gpio.h>
 
 static struct timer_list    buzz_timer;
@@ -90,9 +91,6 @@
 static int __init 
 h5400_buzzer_init (void)
 {
-	if (!machine_is_h5400 ())
-		return -ENODEV;
-
 	init_timer (&buzz_timer);
 	buzz_timer.function = buzz_timer_callback;
 
@@ -111,8 +109,6 @@
 	misc_deregister (&buzzer_miscdev);
 }
 
-EXPORT_NO_SYMBOLS;
-
 MODULE_AUTHOR("Phil Blundell <pb@nexus.co.uk>");
 MODULE_DESCRIPTION("H5400 buzzer driver");
 MODULE_LICENSE("GPL");

