2007-05-04 00:27:45 +04:00
menuconfig POWER_SUPPLY
power_supply: Make the core a boolean instead of a tristate
On Mon, Apr 02, 2012 at 01:53:23PM +1000, Benjamin Herrenschmidt wrote:
> > drivers/built-in.o: In function `.nouveau_pm_trigger':
> > (.text+0xa56e8): undefined reference to `.power_supply_is_system_supplied'
> >
> > nouveau probably needs to depends on CONFIG_POWER_SUPPLY to force a module
> > build with the latter is =m
>
> Ok, not that trivial...
>
> The problem is more like POWER_SUPPLY should be a bool, not a tristate.
>
> If you think about it: you don't want things like nouveau to depend on a
> random subsystem like that, people will never get it. In fact,
> POWER_SUPPLY provides empty inline stubs when not enabled, so that's
> really designed to not have depends...
>
> However that -cannot- work if POWER_SUPPLY is modular and the drivers
> who use it are not.
>
> The only fixes here that make sense I can think of
> that don't also involve Kconfig horrors are:
>
> - Ugly: in power_supply.h, use the extern variant if
>
> defined(CONFIG_POWER_SUPPLY) ||
> (defined(CONFIG_POWER_SUPPLY_MODULE) && defined(MODULE))
>
> IE. use the stub if power supply is a module and what is being built is
> built-in. Of course that's not only ugly, it somewhat sucks from a user
> perspective as the subsystem now exists but can't be used by some
> drivers...
>
> - Better: Just make the bloody thing a bool :-) The power supply
> framework itself is small enough, just make it a boolean option and
> avoid the problem entirely. The actual power supply sub drivers can
> remain modular of course.
Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
2012-05-05 08:06:19 +04:00
bool "Power supply class support"
2007-05-04 00:27:45 +04:00
help
Say Y here to enable power supply class support. This allows
power supply (batteries, AC, USB) monitoring by userspace
via sysfs and uevent (if available) and/or APM kernel interface
(if selected below).
if POWER_SUPPLY
config POWER_SUPPLY_DEBUG
bool "Power supply debug"
help
Say Y here to enable debugging messages for power supply class
and drivers.
2007-05-04 00:32:17 +04:00
config PDA_POWER
tristate "Generic PDA/phone power driver"
2007-07-16 00:00:01 +04:00
depends on !S390
2007-05-04 00:32:17 +04:00
help
Say Y here to enable generic power driver for PDAs and phones with
one or two external power supplies (AC/USB) connected to main and
backup batteries, and optional builtin charger.
2007-05-04 00:43:24 +04:00
config APM_POWER
tristate "APM emulation for class batteries"
depends on APM_EMULATION
help
Say Y here to enable support APM status emulation using
battery class devices.
2012-09-21 20:10:00 +04:00
config GENERIC_ADC_BATTERY
tristate "Generic battery support using IIO"
depends on IIO
help
Say Y here to enable support for the generic battery driver
which uses IIO framework to read adc.
2010-01-25 18:38:35 +03:00
config MAX8925_POWER
tristate "MAX8925 battery charger support"
depends on MFD_MAX8925
help
Say Y here to enable support for the battery charger in the Maxim
MAX8925 PMIC.
2009-10-01 18:41:06 +04:00
config WM831X_BACKUP
tristate "WM831X backup battery charger support"
depends on MFD_WM831X
help
Say Y here to enable support for the backup battery charger
in the Wolfson Microelectronics WM831x PMICs.
2009-08-10 20:43:53 +04:00
config WM831X_POWER
tristate "WM831X PMU support"
depends on MFD_WM831X
help
Say Y here to enable support for the power management unit
provided by Wolfson Microelectronics WM831x PMICs.
2008-11-16 22:16:47 +03:00
config WM8350_POWER
tristate "WM8350 PMU support"
depends on MFD_WM8350
help
Say Y here to enable support for the power management unit
provided by the Wolfson Microelectronics WM8350 PMIC.
2010-05-17 23:46:45 +04:00
config TEST_POWER
tristate "Test power driver"
help
This driver is used for testing. It's safe to say M here.
2012-07-27 12:27:16 +04:00
config BATTERY_88PM860X
tristate "Marvell 88PM860x battery driver"
depends on MFD_88PM860X
help
Say Y here to enable battery monitor for Marvell 88PM860x chip.
2016-02-15 11:22:03 +03:00
config BATTERY_ACT8945A
tristate "Active-semi ACT8945A charger driver"
depends on MFD_ACT8945A || COMPILE_TEST
help
Say Y here to enable support for power supply provided by
Active-semi ActivePath ACT8945A charger.
2007-05-04 00:45:39 +04:00
config BATTERY_DS2760
tristate "DS2760 battery driver (HP iPAQ & others)"
2010-09-23 17:21:36 +04:00
depends on W1 && W1_SLAVE_DS2760
2007-05-04 00:45:39 +04:00
help
Say Y here to enable support for batteries with ds2760 chip.
2011-05-27 03:26:04 +04:00
config BATTERY_DS2780
tristate "DS2780 battery driver"
2011-08-18 23:11:59 +04:00
depends on HAS_IOMEM
2011-05-27 03:26:04 +04:00
select W1
select W1_SLAVE_DS2780
help
Say Y here to enable support for batteries with ds2780 chip.
2012-02-29 17:58:53 +04:00
config BATTERY_DS2781
2012-03-17 11:33:10 +04:00
tristate "DS2781 battery driver"
2012-02-29 17:58:53 +04:00
depends on HAS_IOMEM
select W1
select W1_SLAVE_DS2781
help
If you enable this you will have the DS2781 battery driver support.
The battery monitor chip is used in many batteries/devices
as the one who is responsible for charging/discharging/monitoring
Li+ batteries.
If you are unsure, say N.
2009-06-18 03:26:26 +04:00
config BATTERY_DS2782
2010-04-26 15:05:25 +04:00
tristate "DS2782/DS2786 standalone gas-gauge"
2009-06-18 03:26:26 +04:00
depends on I2C
help
2010-04-26 15:05:25 +04:00
Say Y here to enable support for the DS2782/DS2786 standalone battery
2009-06-18 03:26:26 +04:00
gas-gauge.
2007-05-04 00:47:40 +04:00
config BATTERY_PMU
tristate "Apple PMU battery"
2007-07-22 04:41:39 +04:00
depends on PPC32 && ADB_PMU
2007-05-04 00:47:40 +04:00
help
Say Y here to expose battery information on Apple machines
through the generic battery class.
2007-05-04 00:51:18 +04:00
config BATTERY_OLPC
tristate "One Laptop Per Child battery"
depends on X86_32 && OLPC
help
Say Y to enable support for the battery on the OLPC laptop.
2008-06-24 18:51:07 +04:00
config BATTERY_TOSA
tristate "Sharp SL-6000 (tosa) battery"
2008-09-23 01:06:01 +04:00
depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX
2008-06-24 18:51:07 +04:00
help
Say Y to enable support for the battery on the Sharp Zaurus
SL-6000 (tosa) models.
2009-02-10 16:12:29 +03:00
config BATTERY_COLLIE
tristate "Sharp SL-5500 (collie) battery"
depends on SA1100_COLLIE && MCP_UCB1200
help
Say Y to enable support for the battery on the Sharp Zaurus
SL-5500 (collie) models.
2014-07-24 18:00:32 +04:00
config BATTERY_IPAQ_MICRO
tristate "iPAQ Atmel Micro ASIC battery driver"
depends on MFD_IPAQ_MICRO
help
Choose this option if you want to monitor battery status on
Compaq/HP iPAQ h3100 and h3600.
2008-09-11 22:37:32 +04:00
config BATTERY_WM97XX
bool "WM97xx generic battery driver"
2008-10-12 23:37:16 +04:00
depends on TOUCHSCREEN_WM97XX=y
2008-07-07 20:31:58 +04:00
help
2008-09-11 22:37:32 +04:00
Say Y to enable support for battery measured by WM97xx aux port.
2008-07-07 20:31:58 +04:00
2011-12-06 05:50:45 +04:00
config BATTERY_SBS
tristate "SBS Compliant gas gauge"
2010-09-06 02:31:23 +04:00
depends on I2C
help
2011-12-06 05:50:45 +04:00
Say Y to include support for SBS battery driver for SBS-compliant
gas gauges.
2010-09-06 02:31:23 +04:00
2015-09-22 22:35:06 +03:00
config BATTERY_BQ27XXX
tristate "BQ27xxx battery driver"
2010-05-24 21:55:27 +04:00
help
2015-11-23 19:53:51 +03:00
Say Y here to enable support for batteries with BQ27xxx chips.
2010-05-24 21:55:27 +04:00
2015-09-22 22:35:06 +03:00
config BATTERY_BQ27XXX_I2C
2015-11-23 19:53:51 +03:00
tristate "BQ27xxx I2C support"
2015-09-22 22:35:06 +03:00
depends on BATTERY_BQ27XXX
2008-08-21 03:52:58 +04:00
depends on I2C
2010-05-24 21:55:27 +04:00
default y
2008-08-21 03:52:58 +04:00
help
2015-11-23 19:53:51 +03:00
Say Y here to enable support for batteries with BQ27xxx chips
connected over an I2C bus.
2010-05-24 21:55:27 +04:00
2008-12-31 00:44:53 +03:00
config BATTERY_DA9030
tristate "DA9030 battery driver"
depends on PMIC_DA903X
help
Say Y here to enable support for batteries charger integrated into
DA9030 PMIC.
2011-12-14 16:27:56 +04:00
config BATTERY_DA9052
tristate "Dialog DA9052 Battery"
depends on PMIC_DA9052
help
Say Y here to enable support for batteries charger integrated into
DA9052 PMIC.
2015-02-18 17:08:32 +03:00
config CHARGER_DA9150
tristate "Dialog Semiconductor DA9150 Charger support"
depends on MFD_DA9150
depends on DA9150_GPADC
depends on IIO
help
Say Y here to enable support for charger unit of the DA9150
Integrated Charger & Fuel-Gauge IC.
This driver can also be built as a module. If so, the module will be
called da9150-charger.
2015-10-07 16:54:16 +03:00
config BATTERY_DA9150
tristate "Dialog Semiconductor DA9150 Fuel Gauge support"
depends on MFD_DA9150
help
Say Y here to enable support for the Fuel-Gauge unit of the DA9150
Integrated Charger & Fuel-Gauge IC
This driver can also be built as a module. If so, the module will be
called da9150-fg.
2015-05-04 19:46:07 +03:00
config AXP288_CHARGER
tristate "X-Powers AXP288 Charger"
depends on MFD_AXP20X && EXTCON_AXP288
help
Say yes here to have support X-Power AXP288 power management IC (PMIC)
integrated charger.
2015-02-05 03:24:38 +03:00
config AXP288_FUEL_GAUGE
tristate "X-Powers AXP288 Fuel Gauge"
depends on MFD_AXP20X && IIO
help
Say yes here to have support for X-Power power management IC (PMIC)
Fuel Gauge. The device provides battery statistics and status
monitoring as well as alerts for battery over/under voltage and
over/under temperature.
2009-06-05 10:33:04 +04:00
config BATTERY_MAX17040
tristate "Maxim MAX17040 Fuel Gauge"
depends on I2C
help
MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries
in handheld and portable equipment. The MAX17040 is configured
to operate with a single lithium cell
2011-01-14 08:46:11 +03:00
config BATTERY_MAX17042
2012-05-05 13:04:26 +04:00
tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge"
2011-01-14 08:46:11 +03:00
depends on I2C
2013-11-24 14:41:49 +04:00
select REGMAP_I2C
2011-01-14 08:46:11 +03:00
help
MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries
in handheld and portable equipment. The MAX17042 is configured
to operate with a single lithium cell. MAX8997 and MAX8966 are
multi-function devices that include fuel gauages that are compatible
2012-05-05 13:04:26 +04:00
with MAX17042. This driver also supports max17047/50 chips which are
improved version of max17042.
2011-01-14 08:46:11 +03:00
2010-02-28 14:47:49 +03:00
config BATTERY_Z2
tristate "Z2 battery driver"
depends on I2C && MACH_ZIPIT2
help
Say Y to include support for the battery on the Zipit Z2.
2010-07-17 14:57:03 +04:00
config BATTERY_S3C_ADC
tristate "Battery driver for Samsung ADC based monitoring"
depends on S3C_ADC
help
Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery
2013-08-29 13:41:52 +04:00
config BATTERY_TWL4030_MADC
tristate "TWL4030 MADC battery driver"
depends on TWL4030_MADC
help
Say Y here to enable this dumb driver for batteries managed
through the TWL4030 MADC.
2012-07-27 12:27:16 +04:00
config CHARGER_88PM860X
tristate "Marvell 88PM860x Charger driver"
depends on MFD_88PM860X && BATTERY_88PM860X
help
Say Y here to enable charger for Marvell 88PM860x chip.
2009-01-09 03:50:55 +03:00
config CHARGER_PCF50633
tristate "NXP PCF50633 MBC"
depends on MFD_PCF50633
help
Say Y to include support for NXP PCF50633 Main Battery Charger.
2010-06-19 08:08:29 +04:00
config BATTERY_JZ4740
tristate "Ingenic JZ4740 battery"
depends on MACH_JZ4740
depends on MFD_JZ4740_ADC
help
Say Y to enable support for the battery on Ingenic JZ4740 based
boards.
This driver can be build as a module. If so, the module will be
called jz4740-battery.
2010-06-17 21:12:36 +04:00
config BATTERY_INTEL_MID
tristate "Battery driver for Intel MID platforms"
depends on INTEL_SCU_IPC && SPI
help
Say Y here to enable the battery driver on Intel MID
platforms.
2012-10-31 13:48:40 +04:00
config BATTERY_RX51
tristate "Nokia RX-51 (N900) battery driver"
depends on TWL4030_MADC
help
Say Y here to enable support for battery information on Nokia
RX-51, also known as N900 tablet.
2010-08-19 16:09:36 +04:00
config CHARGER_ISP1704
tristate "ISP1704 USB Charger Detection"
2013-03-07 13:31:18 +04:00
depends on USB_PHY
2010-08-19 16:09:36 +04:00
help
Say Y to enable support for USB Charger Detection with
ISP1707/ISP1704 USB transceivers.
2011-03-29 05:10:16 +04:00
config CHARGER_MAX8903
tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power"
help
Say Y to enable support for the MAX8903 DC-DC charger and sysfs.
The driver supports controlling charger-enable and current-limit
pins based on the status of charger connections with interrupt
handlers.
2010-09-28 00:18:24 +04:00
config CHARGER_TWL4030
tristate "OMAP TWL4030 BCI charger driver"
2015-10-15 12:11:07 +03:00
depends on IIO && TWL4030_CORE
2010-09-28 00:18:24 +04:00
help
Say Y here to enable support for TWL4030 Battery Charge Interface.
2012-01-04 08:27:43 +04:00
config CHARGER_LP8727
2012-01-30 05:28:18 +04:00
tristate "TI/National Semiconductor LP8727 charger driver"
2012-01-04 08:27:43 +04:00
depends on I2C
help
Say Y here to enable support for LP8727 Charger Driver.
2012-09-05 14:43:21 +04:00
config CHARGER_LP8788
tristate "TI LP8788 charger driver"
depends on MFD_LP8788
depends on LP8788_ADC
2013-05-01 23:18:43 +04:00
depends on IIO
2012-09-05 14:43:21 +04:00
help
Say Y to enable support for the LP8788 linear charger.
2010-10-21 19:55:01 +04:00
config CHARGER_GPIO
tristate "GPIO charger"
2015-08-02 12:09:50 +03:00
depends on GPIOLIB || COMPILE_TEST
2010-10-21 19:55:01 +04:00
help
Say Y to include support for chargers which report their online status
through a GPIO pin.
This driver can be build as a module. If so, the module will be
called gpio-charger.
2011-12-27 13:47:48 +04:00
config CHARGER_MANAGER
bool "Battery charger manager for multiple chargers"
2014-12-19 11:55:13 +03:00
depends on REGULATOR
2012-07-16 08:46:14 +04:00
select EXTCON
2011-12-27 13:47:48 +04:00
help
Say Y to enable charger-manager support, which allows multiple
chargers attached to a battery and multiple batteries attached to a
system. The charger-manager also can monitor charging status in
runtime and in suspend-to-RAM by waking up the system periodically
with help of suspend_again support.
2013-12-06 15:32:12 +04:00
config CHARGER_MAX14577
2014-09-12 10:53:55 +04:00
tristate "Maxim MAX14577/77836 battery charger driver"
2013-12-06 15:32:12 +04:00
depends on MFD_MAX14577
help
Say Y to enable support for the battery charger control sysfs and
2014-09-12 10:53:55 +04:00
platform data of MAX14577/77836 MUICs.
2013-12-06 15:32:12 +04:00
2015-01-20 13:00:54 +03:00
config CHARGER_MAX77693
tristate "Maxim MAX77693 battery charger driver"
depends on MFD_MAX77693
help
Say Y to enable support for the Maxim MAX77693 battery charger.
2011-06-22 14:40:06 +04:00
config CHARGER_MAX8997
tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver"
depends on MFD_MAX8997 && REGULATOR_MAX8997
help
Say Y to enable support for the battery charger control sysfs and
platform data of MAX8997/LP3974 PMICs.
2011-06-24 14:04:18 +04:00
config CHARGER_MAX8998
tristate "Maxim MAX8998/LP3974 PMIC battery charger driver"
depends on MFD_MAX8998 && REGULATOR_MAX8998
help
Say Y to enable support for the battery charger control sysfs and
platform data of MAX8998/LP3974 PMICs.
2015-07-30 20:53:56 +03:00
config CHARGER_QCOM_SMBB
tristate "Qualcomm Switch-Mode Battery Charger and Boost"
depends on MFD_SPMI_PMIC || COMPILE_TEST
depends on OF
help
Say Y to include support for the Switch-Mode Battery Charger and
Boost (SMBB) hardware found in Qualcomm PM8941 PMICs. The charger
is an integrated, single-cell lithium-ion battery charger. DT
configuration is required for loading, see the devicetree
documentation for more detail. The base name for this driver is
'pm8941_charger'.
2012-11-19 03:48:52 +04:00
config CHARGER_BQ2415X
tristate "TI BQ2415x battery charger driver"
depends on I2C
help
Say Y to enable support for the TI BQ2415x battery charger
PMICs.
You'll need this driver to charge batteries on e.g. Nokia
RX-51/N900.
2013-08-24 06:21:03 +04:00
config CHARGER_BQ24190
tristate "TI BQ24190 battery charger driver"
2015-08-02 12:09:50 +03:00
depends on I2C
depends on GPIOLIB || COMPILE_TEST
2013-08-24 06:21:03 +04:00
help
Say Y to enable support for the TI BQ24190 battery charger.
2015-04-16 12:31:16 +03:00
config CHARGER_BQ24257
2015-09-29 01:33:53 +03:00
tristate "TI BQ24250/24251/24257 battery charger driver"
2015-08-02 12:09:50 +03:00
depends on I2C
depends on GPIOLIB || COMPILE_TEST
2015-04-16 12:31:16 +03:00
depends on REGMAP_I2C
help
2015-09-29 01:33:53 +03:00
Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery
chargers.
2015-04-16 12:31:16 +03:00
2013-10-12 01:15:43 +04:00
config CHARGER_BQ24735
tristate "TI BQ24735 battery charger support"
2015-08-02 12:09:50 +03:00
depends on I2C
depends on GPIOLIB || COMPILE_TEST
2013-10-12 01:15:43 +04:00
help
Say Y to enable support for the TI BQ24735 battery charger.
2015-05-19 16:24:40 +03:00
config CHARGER_BQ25890
tristate "TI BQ25890 battery charger driver"
2015-08-02 12:09:50 +03:00
depends on I2C
depends on GPIOLIB || COMPILE_TEST
2015-05-19 16:24:40 +03:00
select REGMAP_I2C
help
Say Y to enable support for the TI BQ25890 battery charger.
2012-02-06 19:59:01 +04:00
config CHARGER_SMB347
tristate "Summit Microelectronics SMB347 Battery Charger"
depends on I2C
2012-04-16 12:48:41 +04:00
select REGMAP_I2C
2012-02-06 19:59:01 +04:00
help
Say Y to include support for Summit Microelectronics SMB347
Battery Charger.
2013-03-13 02:08:09 +04:00
config CHARGER_TPS65090
tristate "TPS65090 battery charger driver"
depends on MFD_TPS65090
help
Say Y here to enable support for battery charging with TPS65090
PMIC chips.
2015-09-24 22:44:21 +03:00
config CHARGER_TPS65217
tristate "TPS65217 battery charger driver"
depends on MFD_TPS65217
help
Say Y here to enable support for battery charging with TPS65217
PMIC chips.
2014-10-28 10:05:12 +03:00
config BATTERY_GAUGE_LTC2941
tristate "LTC2941/LTC2943 Battery Gauge Driver"
depends on I2C
help
Say Y here to include support for LTC2941 and LTC2943 Battery
Gauge IC. The driver reports the charge count continuously, and
measures the voltage and temperature every 10 seconds.
2012-02-29 20:24:28 +04:00
config AB8500_BM
bool "AB8500 Battery Management Driver"
depends on AB8500_CORE && AB8500_GPADC
help
2012-06-07 01:28:23 +04:00
Say Y to include support for AB8500 battery management.
2012-02-29 20:24:28 +04:00
2013-01-25 19:30:00 +04:00
config BATTERY_GOLDFISH
tristate "Goldfish battery driver"
2013-08-30 11:39:53 +04:00
depends on GOLDFISH || COMPILE_TEST
2014-01-14 19:45:44 +04:00
depends on HAS_IOMEM
2013-01-25 19:30:00 +04:00
help
Say Y to enable support for the battery and AC power in the
Goldfish emulator.
2015-01-09 11:45:11 +03:00
config BATTERY_RT5033
tristate "RT5033 fuel gauge support"
depends on MFD_RT5033
help
This adds support for battery fuel gauge in Richtek RT5033 PMIC.
The fuelgauge calculates and determines the battery state of charge
according to battery open circuit voltage.
2015-05-29 17:25:45 +03:00
config CHARGER_RT9455
tristate "Richtek RT9455 battery charger driver"
2015-08-02 12:09:50 +03:00
depends on I2C
depends on GPIOLIB || COMPILE_TEST
2015-05-29 17:25:45 +03:00
select REGMAP_I2C
help
Say Y to enable support for Richtek RT9455 battery charger.
2015-08-01 11:39:38 +03:00
config AXP20X_POWER
tristate "AXP20x power supply driver"
depends on MFD_AXP20X
help
This driver provides support for the power supply features of
AXP20x PMIC.
2007-05-04 00:27:45 +04:00
endif # POWER_SUPPLY
2012-04-25 15:13:17 +04:00
2015-12-07 06:45:12 +03:00
source "drivers/power/reset/Kconfig"
2012-04-25 15:13:17 +04:00
source "drivers/power/avs/Kconfig"