summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches-2.6.24/1219-From-5718bde77ed1a75e0fd2cdf5e099e66121d10c0a-Mon-Se.patch
diff options
context:
space:
mode:
authormirko <mirko@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-12-12 11:58:53 +0000
committermirko <mirko@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-12-12 11:58:53 +0000
commitfc54b9bf158eea9cae647ce2c58f7d9989af173a (patch)
tree54644c1229434d7ee13c5872bda4129e34337fc0 /target/linux/s3c24xx/patches-2.6.24/1219-From-5718bde77ed1a75e0fd2cdf5e099e66121d10c0a-Mon-Se.patch
parentd9f49b62b28ebd245587854efa484974d90debbf (diff)
changed Makefile and profiles, added patches for kernel 2.6.24
(stable-branch of Openmoko) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13613 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1219-From-5718bde77ed1a75e0fd2cdf5e099e66121d10c0a-Mon-Se.patch')
-rw-r--r--target/linux/s3c24xx/patches-2.6.24/1219-From-5718bde77ed1a75e0fd2cdf5e099e66121d10c0a-Mon-Se.patch136
1 files changed, 136 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1219-From-5718bde77ed1a75e0fd2cdf5e099e66121d10c0a-Mon-Se.patch b/target/linux/s3c24xx/patches-2.6.24/1219-From-5718bde77ed1a75e0fd2cdf5e099e66121d10c0a-Mon-Se.patch
new file mode 100644
index 0000000000..06bbe30a19
--- /dev/null
+++ b/target/linux/s3c24xx/patches-2.6.24/1219-From-5718bde77ed1a75e0fd2cdf5e099e66121d10c0a-Mon-Se.patch
@@ -0,0 +1,136 @@
+From d869fe11c6acbc3466abcdae741376b2c71bca69 Mon Sep 17 00:00:00 2001
+From: Holger Freyther <zecke@openmoko.org>
+Date: Wed, 2 Jul 2008 22:44:59 +0100
+Subject: [PATCH] From 5718bde77ed1a75e0fd2cdf5e099e66121d10c0a Mon Sep 17 00:00:00 2001
+ Subject: [PATCH] [battery] Make the bq27000 send an uevent when the charging state possible changed
+ Remove the todo entries from the pcf50633, make the mach-gta02
+ call the bq27000 driver from the pmu callback.
+
+---
+ arch/arm/mach-s3c2440/mach-gta02.c | 36 +++++++++++++++++++-----------------
+ drivers/i2c/chips/pcf50633.c | 4 ----
+ drivers/power/bq27000_battery.c | 11 +++++++++++
+ include/linux/bq27000_battery.h | 2 ++
+ 4 files changed, 32 insertions(+), 21 deletions(-)
+
+diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
+index afe8039..e66498b 100644
+--- a/arch/arm/mach-s3c2440/mach-gta02.c
++++ b/arch/arm/mach-s3c2440/mach-gta02.c
+@@ -450,6 +450,24 @@ static struct s3c2410_uartcfg gta02_uartcfgs[] = {
+
+ };
+
++/* BQ27000 Battery */
++
++struct bq27000_platform_data bq27000_pdata = {
++ .name = "bat",
++ .rsense_mohms = 20,
++ .hdq_read = gta02hdq_read,
++ .hdq_write = gta02hdq_write,
++ .hdq_initialized = gta02hdq_initialized,
++};
++
++struct platform_device bq27000_battery_device = {
++ .name = "bq27000-battery",
++ .dev = {
++ .platform_data = &bq27000_pdata,
++ },
++};
++
++
+ /* PMU driver info */
+
+ static int pmu_callback(struct device *dev, unsigned int feature,
+@@ -482,6 +500,7 @@ static int pmu_callback(struct device *dev, unsigned int feature,
+ break;
+ }
+
++ bq27000_charging_state_change(&bq27000_battery_device);
+ return 0;
+ }
+
+@@ -740,23 +759,6 @@ struct platform_device gta02_hdq_device = {
+ };
+ #endif
+
+-/* BQ27000 Battery */
+-
+-struct bq27000_platform_data bq27000_pdata = {
+- .name = "bat",
+- .rsense_mohms = 20,
+- .hdq_read = gta02hdq_read,
+- .hdq_write = gta02hdq_write,
+- .hdq_initialized = gta02hdq_initialized,
+-};
+-
+-struct platform_device bq27000_battery_device = {
+- .name = "bq27000-battery",
+- .dev = {
+- .platform_data = &bq27000_pdata,
+- },
+-};
+-
+
+ /* NOR Flash */
+
+diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
+index 4d19dae..8a27925 100644
+--- a/drivers/i2c/chips/pcf50633.c
++++ b/drivers/i2c/chips/pcf50633.c
+@@ -888,8 +888,6 @@ static void pcf50633_work(struct work_struct *work)
+ if (pcf->pdata->cb)
+ pcf->pdata->cb(&pcf->client.dev,
+ PCF50633_FEAT_MBC, PMU_EVT_INSERT);
+- /* FIXME: signal this to userspace */
+- //kobject_uevent( ,KOBJ_ADD);
+ }
+ if (pcfirq[0] & PCF50633_INT1_ADPREM) {
+ /* Charger removed */
+@@ -900,8 +898,6 @@ static void pcf50633_work(struct work_struct *work)
+ if (pcf->pdata->cb)
+ pcf->pdata->cb(&pcf->client.dev,
+ PCF50633_FEAT_MBC, PMU_EVT_REMOVE);
+- /* FIXME: signal this to userspace */
+- //kobject_uevent( ,KOBJ_ADD);
+ }
+ if (pcfirq[0] & PCF50633_INT1_USBINS) {
+ DEBUGPC("USBINS ");
+diff --git a/drivers/power/bq27000_battery.c b/drivers/power/bq27000_battery.c
+index c87e26d..4855d5a 100644
+--- a/drivers/power/bq27000_battery.c
++++ b/drivers/power/bq27000_battery.c
+@@ -330,6 +330,17 @@ static int bq27000_battery_remove(struct platform_device *pdev)
+ return 0;
+ }
+
++void bq27000_charging_state_change(struct platform_device *pdev)
++{
++ struct bq27000_device_info *di = platform_get_drvdata(pdev);
++
++ if (!di)
++ return;
++
++ power_supply_changed(&di->bat);
++}
++EXPORT_SYMBOL_GPL(bq27000_charging_state_change);
++
+ #ifdef CONFIG_PM
+
+ static int bq27000_battery_suspend(struct platform_device *pdev,
+diff --git a/include/linux/bq27000_battery.h b/include/linux/bq27000_battery.h
+index 36b4f20..fed4287 100644
+--- a/include/linux/bq27000_battery.h
++++ b/include/linux/bq27000_battery.h
+@@ -1,6 +1,8 @@
+ #ifndef __BQ27000_BATTERY_H__
+ #define __BQ27000_BATTERY_H__
+
++void bq27000_charging_state_change(struct platform_device *pdev);
++
+ struct bq27000_platform_data {
+ const char *name;
+ int rsense_mohms;
+--
+1.5.6.5
+