-Index: linux-3.1/drivers/cbus/Kconfig
-===================================================================
---- linux-3.1.orig/drivers/cbus/Kconfig 2011-11-05 17:03:39.578846146 +0100
-+++ linux-3.1/drivers/cbus/Kconfig 2011-11-05 17:06:51.589348749 +0100
+--- a/drivers/cbus/Kconfig
++++ b/drivers/cbus/Kconfig
@@ -83,4 +83,12 @@ config CBUS_RETU_HEADSET
endif # CBUS_RETU
+ If unsure, say N.
+
endmenu
-Index: linux-3.1/drivers/cbus/Makefile
-===================================================================
---- linux-3.1.orig/drivers/cbus/Makefile 2011-11-05 17:03:39.618846091 +0100
-+++ linux-3.1/drivers/cbus/Makefile 2011-11-05 17:06:51.589348749 +0100
+--- a/drivers/cbus/Makefile
++++ b/drivers/cbus/Makefile
@@ -11,3 +11,6 @@ obj-$(CONFIG_CBUS_RETU_POWERBUTTON) += r
obj-$(CONFIG_CBUS_RETU_RTC) += retu-rtc.o
obj-$(CONFIG_CBUS_RETU_WDT) += retu-wdt.o
+n810bm-y += n810bm_main.o
+n810bm-y += lipocharge.o
+obj-$(CONFIG_N810BM) += n810bm.o
-Index: linux-3.1/drivers/cbus/n810bm_main.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.1/drivers/cbus/n810bm_main.c 2011-11-05 17:06:51.589348749 +0100
+--- /dev/null
++++ b/drivers/cbus/n810bm_main.c
@@ -0,0 +1,1572 @@
+/*
+ * Nokia n810 battery management
+MODULE_FIRMWARE(N810BM_PMM_BLOCK_FILENAME);
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Michael Buesch");
-Index: linux-3.1/drivers/cbus/lipocharge.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.1/drivers/cbus/lipocharge.c 2011-11-05 17:06:51.589348749 +0100
+--- /dev/null
++++ b/drivers/cbus/lipocharge.c
@@ -0,0 +1,183 @@
+/*
+ * Generic LIPO battery charger
+
+ return 0;
+}
-Index: linux-3.1/drivers/cbus/lipocharge.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.1/drivers/cbus/lipocharge.h 2011-11-05 17:06:51.589348749 +0100
+--- /dev/null
++++ b/drivers/cbus/lipocharge.h
@@ -0,0 +1,60 @@
+#ifndef LIPOCHARGE_H_
+#define LIPOCHARGE_H_
+}
+
+#endif /* LIPOCHARGE_H_ */
-Index: linux-3.1/drivers/cbus/cbus.c
-===================================================================
---- linux-3.1.orig/drivers/cbus/cbus.c 2011-11-05 17:03:39.610846102 +0100
-+++ linux-3.1/drivers/cbus/cbus.c 2011-11-05 17:06:51.589348749 +0100
+--- a/drivers/cbus/cbus.c
++++ b/drivers/cbus/cbus.c
@@ -34,6 +34,7 @@
#include <linux/gpio.h>
#include <linux/platform_device.h>
MODULE_DESCRIPTION("CBUS serial protocol");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Juha Yrjölä");
-Index: linux-3.1/drivers/cbus/cbus.h
-===================================================================
---- linux-3.1.orig/drivers/cbus/cbus.h 2011-11-05 17:03:39.590846131 +0100
-+++ linux-3.1/drivers/cbus/cbus.h 2011-11-05 17:06:51.589348749 +0100
+--- a/drivers/cbus/cbus.h
++++ b/drivers/cbus/cbus.h
@@ -27,4 +27,6 @@ extern int cbus_read_reg(struct device *
extern int cbus_write_reg(struct device *, unsigned dev, unsigned reg,
unsigned val);
+NORET_TYPE void cbus_emergency(void) ATTRIB_NORET;
+
#endif /* __DRIVERS_CBUS_CBUS_H */
-Index: linux-3.1/drivers/cbus/retu.c
-===================================================================
---- linux-3.1.orig/drivers/cbus/retu.c 2011-11-05 17:03:39.606846106 +0100
-+++ linux-3.1/drivers/cbus/retu.c 2011-11-05 17:06:51.589348749 +0100
-@@ -417,6 +417,11 @@ static int retu_allocate_children(struct
+--- a/drivers/cbus/retu.c
++++ b/drivers/cbus/retu.c
+@@ -399,6 +399,11 @@ static int retu_allocate_children(struct
if (!child)
return -ENOMEM;
return 0;
}
-Index: linux-3.1/drivers/cbus/tahvo.c
-===================================================================
---- linux-3.1.orig/drivers/cbus/tahvo.c 2011-11-05 17:04:36.274768324 +0100
-+++ linux-3.1/drivers/cbus/tahvo.c 2011-11-05 17:06:51.589348749 +0100
-@@ -131,6 +131,7 @@ void tahvo_set_clear_reg_bits(struct dev
+--- a/drivers/cbus/tahvo.c
++++ b/drivers/cbus/tahvo.c
+@@ -129,6 +129,7 @@ void tahvo_set_clear_reg_bits(struct dev
__tahvo_write_reg(tahvo, reg, w);
mutex_unlock(&tahvo->mutex);
}
static irqreturn_t tahvo_irq_handler(int irq, void *_tahvo)
{
-@@ -307,6 +308,11 @@ static int tahvo_allocate_children(struc
+@@ -292,6 +293,11 @@ static int tahvo_allocate_children(struc
if (!child)
return -ENOMEM;