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