linux/drivers/power
Pawel Moll 3b9334ac83 mfd: vexpress: Convert custom func API to regmap
Components of the Versatile Express platform (configuration
microcontrollers on motherboard and daughterboards in particular)
talk to each other over a custom configuration bus. They
provide miscellaneous functions (from clock generator control
to energy sensors) which are represented as platform devices
(and Device Tree nodes). The transactions on the bus can
be generated by different "bridges" in the system, some
of which are universal for the whole platform (for the price
of high transfer latencies), others restricted to a subsystem
(but much faster).

Until now drivers for such functions were using custom "func"
API, which is being replaced in this patch by regmap calls.
This required:

* a rework (and move to drivers/bus directory, as suggested
  by Samuel and Arnd) of the config bus core, which is much
  simpler now and uses device model infrastructure (class)
  to keep track of the bridges; non-DT case (soon to be
  retired anyway) is simply covered by a special device
  registration function

* the new config-bus driver also takes over device population,
  so there is no need for special matching table for
  of_platform_populate nor "simple-bus" hack in the arm64
  model dtsi file (relevant bindings documentation has
  been updated); this allows all the vexpress devices
  fit into normal device model, making it possible
  to remove plenty of early inits and other hacks in
  the near future

* adaptation of the syscfg bridge implementation in the
  sysreg driver, again making it much simpler; there is
  a special case of the "energy" function spanning two
  registers, where they should be both defined in the tree
  now, but backward compatibility is maintained in the code

* modification of the relevant drivers:

  * hwmon - just a straight-forward API change
  * power/reset driver - API change
  * regulator - API change plus error handling
    simplification
  * osc clock driver - this one required larger rework
    in order to turn in into a standard platform driver

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Acked-by: Mark Brown <broonie@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Mike Turquette <mturquette@linaro.org>
2014-05-15 17:02:18 +01:00
..
avs PM / AVS: SmartReflex: use devm_* API to initialize SmartReflex 2013-06-10 10:50:48 -07:00
reset mfd: vexpress: Convert custom func API to regmap 2014-05-15 17:02:18 +01:00
88pm860x_battery.c 88pm860x_battery: Remove unnecessary platform_set_drvdata() 2013-06-06 17:12:37 -07:00
88pm860x_charger.c treewide: Fix typo in printk 2013-08-20 12:44:03 +02:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-01-25 11:17:34 -08:00
Makefile power_supply: Add charger support for Maxim 14577 2013-12-23 18:52:19 -08:00
ab8500_bmdata.c ab8500_bmdata: Export abx500_res_to_temp tables for hwmon 2013-04-16 17:38:10 -07:00
ab8500_btemp.c ab8500_bm: Remove unnecessary platform_set_drvdata() 2013-06-06 17:13:09 -07:00
ab8500_charger.c ab8500-charger: Remove redundant break 2013-10-25 15:36:23 -07:00
ab8500_fg.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
abx500_chargalg.c ab8500_bm: Remove unnecessary platform_set_drvdata() 2013-06-06 17:13:09 -07:00
apm_power.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
bq27x00_battery.c bq27x00_battery: Remove unnecessary platform_set_drvdata() 2013-06-06 17:13:31 -07:00
bq2415x_charger.c bq2415x_charger: Add DT support 2013-12-23 18:21:32 -08:00
bq24190_charger.c bq24190_charger: Workaround SS definition problem on i386 builds 2013-08-28 17:52:50 -07:00
bq24735-charger.c power_supply: Add support for bq24735 charger 2013-10-25 15:56:51 -07:00
charger-manager.c charger-manager: of_cm_parse_desc() should be static 2013-12-23 18:21:35 -08:00
collie_battery.c power supply: collie_battery: Convert to use dev_pm_ops 2013-08-09 13:41:06 -07:00
da9030_battery.c da9030_battery: Use devm_kzalloc() 2013-03-31 23:25:51 -07:00
da9052-battery.c da9052-battery: Use devm_kzalloc() 2013-03-31 23:25:49 -07:00
ds2760_battery.c ds2760_battery: Use devm_kzalloc() 2013-03-31 23:25:47 -07:00
ds2780_battery.c ds2780_battery: Use devm_kzalloc() 2013-03-31 23:25:45 -07:00
ds2781_battery.c power: remove use of __devexit 2012-11-28 11:43:22 -08:00
ds2782_battery.c power: ds2782_battery: Typo in comment 2014-01-25 15:24:15 +04:00
generic-adc-battery.c generic-adc-battery: Fix checking if none of the channels are supported 2013-06-06 17:33:40 -07:00
goldfish_battery.c goldfish_battery: Use resource_size() 2013-03-31 23:39:40 -07:00
gpio-charger.c gpio-charger: Support wakeup events 2013-12-23 18:54:03 -08:00
intel_mid_battery.c power: Use platform_{get,set}_drvdata() 2013-06-06 17:30:46 -07:00
isp1704_charger.c isp1704_charger: remove useless check in isp1704_charger_probe() 2014-01-25 15:24:15 +04:00
jz4740-battery.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
lp8727_charger.c lp8727_charger: Support the device tree feature 2013-06-06 17:19:54 -07:00
lp8788-charger.c lp8788-charger: Use PAGE_SIZE for the sysfs read operation 2013-03-31 23:33:19 -07:00
max8903_charger.c max8903_charger: Use devm_kzalloc() 2013-03-31 23:25:38 -07:00
max8925_power.c max8925_power: Fix missing of_node_put 2013-08-27 18:11:54 -07:00
max8997_charger.c max8997_charger: Use devm_kzalloc() 2013-03-31 23:25:36 -07:00
max8998_charger.c max8998_charger: Use devm_kzalloc() 2013-03-31 23:25:34 -07:00
max14577_charger.c power_supply: Add charger support for Maxim 14577 2013-12-23 18:52:19 -08:00
max17040_battery.c power: max17040: Fix NULL pointer dereference when there is no platform_data 2014-02-01 20:11:32 +04:00
max17042_battery.c max17042_battery: Add IRQF_ONESHOT flag to use default irq handler 2013-12-23 18:59:41 -08:00
olpc_battery.c Drivers: power: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
pcf50633-charger.c power_supply: Replace strict_strtoul() with kstrtoul() 2013-06-06 17:35:38 -07:00
pda_power.c usb: power: pda_power: check against CONFIG_USB_PHY 2013-03-18 11:18:05 +02:00
pm2301_charger.c pm2301-charger: Remove unneeded NULL checks 2013-11-12 22:36:34 -08:00
pm2301_charger.h pm2301-charger: Removed unused code from PM2301 driver 2013-03-07 12:35:53 +08:00
pmu_battery.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
power_supply.h device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
power_supply_core.c power_supply: Add power_supply_get_by_phandle 2013-12-23 18:21:11 -08:00
power_supply_leds.c device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
power_supply_sysfs.c power_supply: Replace strict_strtol() with kstrtol() 2013-08-09 14:49:49 -07:00
rx51_battery.c rx51_battery: Fix channel number when reading adc value 2013-08-30 17:49:15 -07:00
s3c_adc_battery.c s3c-adc-battery: Fix possible NULL pointer dereference 2013-03-18 19:43:03 -07:00
sbs-battery.c sbs-battery: Add dt to power_supply struct 2013-06-28 18:20:56 -07:00
smb347-charger.c power: remove use of __devexit_p 2012-11-28 11:43:22 -08:00
test_power.c test_power: Fix a bug in setting module parameter values 2013-03-18 19:27:31 -07:00
tosa_battery.c power_supply: tosa_battery: Get rid of irq_to_gpio usage 2013-08-09 13:41:52 -07:00
tps65090-charger.c tps65090-charger: Use "IS_ENABLED(CONFIG_OF)" for DT code 2013-10-25 16:07:07 -07:00
twl4030_charger.c twl4030_charger: Add devicetree support 2013-11-12 22:35:45 -08:00
twl4030_madc_battery.c power: Add twl4030_madc battery driver. 2013-08-30 17:34:52 -07:00
wm97xx_battery.c power: remove use of __devexit 2012-11-28 11:43:22 -08:00
wm831x_backup.c wm831x_backup: Fix wrong kfree call for devdata->backup.name 2013-05-10 11:56:22 -07:00
wm831x_power.c power: remove use of __devexit 2012-11-28 11:43:22 -08:00
wm8350_power.c power: remove use of __devexit 2012-11-28 11:43:22 -08:00
z2_battery.c power: remove use of __devexit 2012-11-28 11:43:22 -08:00