SWMAPYVR-106 : Changed battery drivers to be statically linked.
Changed the ADC121c021, BQ27541, and CMP_BATTERY_MULIT driver to be statically linkable.
This involves consolidating battery and fuel gauge drivers into drivers/power.
Note that only the BCM11160 and BCM28160 related drivers are addressed.
diff --git a/arch/arm/configs/bcm11160_sv_defconfig b/arch/arm/configs/bcm11160_sv_defconfig
index b908950..484b300 100644
--- a/arch/arm/configs/bcm11160_sv_defconfig
+++ b/arch/arm/configs/bcm11160_sv_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Fri Aug 5 13:43:23 2011
+# Fri Aug 5 17:49:24 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -629,8 +629,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-# CONFIG_MONITOR_ADC121C021_I2C is not set
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1017,6 +1015,8 @@
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BCM_CMP_BATTERY_MULTI is not set
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+# CONFIG_MONITOR_ADC121C021_I2C is not set
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/configs/bcm11160_sv_li_128mb_defconfig b/arch/arm/configs/bcm11160_sv_li_128mb_defconfig
index 3be4a9e..6bcca27 100644
--- a/arch/arm/configs/bcm11160_sv_li_128mb_defconfig
+++ b/arch/arm/configs/bcm11160_sv_li_128mb_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Fri Aug 5 13:43:26 2011
+# Fri Aug 5 17:49:21 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -630,8 +630,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-# CONFIG_MONITOR_ADC121C021_I2C is not set
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1018,6 +1016,8 @@
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BCM_CMP_BATTERY_MULTI is not set
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+# CONFIG_MONITOR_ADC121C021_I2C is not set
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/configs/bcm11160_tablet_android_defconfig b/arch/arm/configs/bcm11160_tablet_android_defconfig
index 402bc16..3d1f744 100644
--- a/arch/arm/configs/bcm11160_tablet_android_defconfig
+++ b/arch/arm/configs/bcm11160_tablet_android_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Thu Aug 4 16:57:24 2011
+# Fri Aug 5 17:49:22 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -763,8 +763,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-CONFIG_MONITOR_ADC121C021_I2C=m
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1150,9 +1148,11 @@
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BCM_CMP_BATTERY_MULTI=m
+CONFIG_BATTERY_MAX17040=y
+CONFIG_BCM_CMP_BATTERY_MULTI=y
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+CONFIG_MONITOR_ADC121C021_I2C=y
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/configs/bcm11160_tablet_defconfig b/arch/arm/configs/bcm11160_tablet_defconfig
index 3f36ccf..2cf0a79 100644
--- a/arch/arm/configs/bcm11160_tablet_defconfig
+++ b/arch/arm/configs/bcm11160_tablet_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Thu Aug 4 16:57:25 2011
+# Fri Aug 5 17:49:24 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -755,8 +755,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-CONFIG_MONITOR_ADC121C021_I2C=m
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1142,9 +1140,11 @@
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BCM_CMP_BATTERY_MULTI=m
+CONFIG_BATTERY_MAX17040=y
+CONFIG_BCM_CMP_BATTERY_MULTI=y
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+CONFIG_MONITOR_ADC121C021_I2C=y
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/configs/bcm11160_tablet_li_128mb_defconfig b/arch/arm/configs/bcm11160_tablet_li_128mb_defconfig
index 6482e79..1e6a7e5 100644
--- a/arch/arm/configs/bcm11160_tablet_li_128mb_defconfig
+++ b/arch/arm/configs/bcm11160_tablet_li_128mb_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Thu Aug 4 16:57:24 2011
+# Fri Aug 5 17:49:23 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -756,8 +756,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-CONFIG_MONITOR_ADC121C021_I2C=m
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1143,9 +1141,11 @@
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BCM_CMP_BATTERY_MULTI=m
+CONFIG_BATTERY_MAX17040=y
+CONFIG_BCM_CMP_BATTERY_MULTI=y
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+CONFIG_MONITOR_ADC121C021_I2C=y
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/configs/bcm28160_tablet_android_defconfig b/arch/arm/configs/bcm28160_tablet_android_defconfig
index d0f45e6..4f7143d 100644
--- a/arch/arm/configs/bcm28160_tablet_android_defconfig
+++ b/arch/arm/configs/bcm28160_tablet_android_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Fri Aug 5 10:49:44 2011
+# Fri Aug 5 17:49:21 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -763,8 +763,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-CONFIG_MONITOR_ADC121C021_I2C=m
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1150,9 +1148,11 @@
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BCM_CMP_BATTERY_MULTI=m
+CONFIG_BATTERY_MAX17040=y
+CONFIG_BCM_CMP_BATTERY_MULTI=y
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+CONFIG_MONITOR_ADC121C021_I2C=y
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/configs/bcm28160_tablet_defconfig b/arch/arm/configs/bcm28160_tablet_defconfig
index 267ee7f..fe40243 100644
--- a/arch/arm/configs/bcm28160_tablet_defconfig
+++ b/arch/arm/configs/bcm28160_tablet_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Thu Aug 4 16:57:23 2011
+# Fri Aug 5 17:49:23 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -755,8 +755,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-CONFIG_MONITOR_ADC121C021_I2C=m
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1142,9 +1140,11 @@
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BCM_CMP_BATTERY_MULTI=m
+CONFIG_BATTERY_MAX17040=y
+CONFIG_BCM_CMP_BATTERY_MULTI=y
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+CONFIG_MONITOR_ADC121C021_I2C=y
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/configs/bcm28160_tablet_li_128mb_defconfig b/arch/arm/configs/bcm28160_tablet_li_128mb_defconfig
index b31faa0..6cb6c9b 100644
--- a/arch/arm/configs/bcm28160_tablet_li_128mb_defconfig
+++ b/arch/arm/configs/bcm28160_tablet_li_128mb_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.7
-# Thu Aug 4 16:57:26 2011
+# Fri Aug 5 17:49:25 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -756,8 +756,6 @@
CONFIG_BTHID=m
# CONFIG_APANIC is not set
# CONFIG_INTER_PROCESSOR_COMM is not set
-CONFIG_MONITOR_ADC121C021_I2C=m
-# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_STM_TRACE is not set
# CONFIG_C2PORT is not set
@@ -1143,9 +1141,11 @@
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BCM_CMP_BATTERY_MULTI=m
+CONFIG_BATTERY_MAX17040=y
+CONFIG_BCM_CMP_BATTERY_MULTI=y
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
+CONFIG_MONITOR_ADC121C021_I2C=y
+# CONFIG_MONITOR_BQ27541_I2C is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
# CONFIG_THERMAL is not set
diff --git a/arch/arm/mach-island/configs/board/tablet/linux.config b/arch/arm/mach-island/configs/board/tablet/linux.config
index 113a336..0f5d297 100644
--- a/arch/arm/mach-island/configs/board/tablet/linux.config
+++ b/arch/arm/mach-island/configs/board/tablet/linux.config
@@ -32,7 +32,7 @@
CONFIG_SENSORS_BMA150=y
CONFIG_SENSORS_MPU3050=y
CONFIG_SENSORS_AK8975=y
-CONFIG_MONITOR_ADC121C021_I2C=m
+CONFIG_MONITOR_ADC121C021_I2C=y
#
# Frame buffer hardware drivers
diff --git a/arch/arm/mach-island/configs/board/tablet_28160/linux.config b/arch/arm/mach-island/configs/board/tablet_28160/linux.config
index 36e9983..7640417 100644
--- a/arch/arm/mach-island/configs/board/tablet_28160/linux.config
+++ b/arch/arm/mach-island/configs/board/tablet_28160/linux.config
@@ -32,7 +32,7 @@
CONFIG_SENSORS_BMA150=y
CONFIG_SENSORS_MPU3050=y
CONFIG_SENSORS_AK8975=y
-CONFIG_MONITOR_ADC121C021_I2C=m
+CONFIG_MONITOR_ADC121C021_I2C=y
#
# Frame buffer hardware drivers
diff --git a/arch/arm/mach-island/configs/linux.config b/arch/arm/mach-island/configs/linux.config
index ad6c186..ff648d7 100644
--- a/arch/arm/mach-island/configs/linux.config
+++ b/arch/arm/mach-island/configs/linux.config
@@ -1019,8 +1019,8 @@
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BCM_CMP_BATTERY_MULTI=m
+CONFIG_BATTERY_MAX17040=y
+CONFIG_BCM_CMP_BATTERY_MULTI=y
# CONFIG_BCM_CMP_BATTERY_BQ24616 is not set
# CONFIG_HWMON is not set
# CONFIG_HAPTIC is not set
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 560dbb4..88d5af1 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -527,20 +527,6 @@
help
If you say Y to support Audio drive on BCM PMUs.
-config MONITOR_ADC121C021_I2C
- tristate "ADC121C021 Battery Monitor"
- depends on I2C
- help
- Say Y here if you want to support a ADC121C021 battery monitor.
- If unsure, say N.
-
-config MONITOR_BQ27541_I2C
- tristate "BQ27541 Battery Monitor"
- depends on I2C
- help
- Say Y here if you want to support BQ27541 battery monitor.
- If unsure, say N.
-
source "drivers/misc/Kconfig.stm"
source "drivers/misc/c2port/Kconfig"
source "drivers/misc/eeprom/Kconfig"
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5f2331e..1b3d079 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -54,5 +54,3 @@
obj-$(CONFIG_BCMPMU_AUDIO) += bcmpmu_audio.o
obj-$(CONFIG_BCMBLT_RFKILL) += bcmblt-rfkill.o
obj-$(CONFIG_BTHID) += bthid.o
-obj-$(CONFIG_MONITOR_ADC121C021_I2C) += adc121c021_driver.o
-obj-$(CONFIG_MONITOR_BQ27541_I2C) += bq27541.o
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index 3020052..cc6feaa 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -171,4 +171,17 @@
CMP driver based on BQ24616 for supplying battery and power supply
information to Power Supply system.
+config MONITOR_ADC121C021_I2C
+ tristate "ADC121C021 Battery Monitor"
+ depends on I2C
+ help
+ Say Y here if you want to support a ADC121C021 battery monitor.
+ If unsure, say N.
+
+config MONITOR_BQ27541_I2C
+ tristate "BQ27541 Battery Monitor"
+ depends on I2C
+ help
+ Say Y here if you want to support BQ27541 battery monitor.
+
endif # POWER_SUPPLY
diff --git a/drivers/power/Makefile b/drivers/power/Makefile
index 1ecc396..3a90ba1 100644
--- a/drivers/power/Makefile
+++ b/drivers/power/Makefile
@@ -22,6 +22,7 @@
obj-$(CONFIG_WM8350_POWER) += wm8350_power.o
obj-$(CONFIG_TEST_POWER) += test_power.o
+obj-$(CONFIG_BCM_CMP_BATTERY_MULTI) += cmp_battery_multi.o
obj-$(CONFIG_BATTERY_DS2760) += ds2760_battery.o
obj-$(CONFIG_BATTERY_DS2782) += ds2782_battery.o
obj-$(CONFIG_BATTERY_PMU) += pmu_battery.o
@@ -36,6 +37,9 @@
obj-$(CONFIG_BATTERY_BCM2708) += bcm2708_battery.o
obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o
obj-$(CONFIG_BATTERY_BCM59055) += bcm59055_battery.o
+obj-$(CONFIG_MONITOR_ADC121C021_I2C) += adc121c021_driver.o
+obj-$(CONFIG_MONITOR_BQ27541_I2C) += bq27541.o
+
ifeq ($(CONFIG_BCM_CMP_BATTERY_MULTI),m)
obj-m += cmp_battery.o
diff --git a/drivers/misc/adc121c021_driver.c b/drivers/power/adc121c021_driver.c
similarity index 100%
rename from drivers/misc/adc121c021_driver.c
rename to drivers/power/adc121c021_driver.c
diff --git a/drivers/misc/bq27541.c b/drivers/power/bq27541.c
similarity index 100%
rename from drivers/misc/bq27541.c
rename to drivers/power/bq27541.c