diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-23 16:10:27 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-23 16:10:27 -0700 |
commit | 36a1624d8844b6c165daf61649e6b68c02d0835f (patch) | |
tree | 70159ac0dfd7d298f2c7abc615a9f5c9f9188b71 /drivers/power/reset | |
parent | 5262f25f0983ff6f2c21e3dadcfd0c809e5aa286 (diff) | |
parent | 43df61051ab9af985ec439ee9be9c299e7de34e8 (diff) | |
download | linux-36a1624d8844b6c165daf61649e6b68c02d0835f.tar.bz2 |
Merge tag 'for-4.2' of git://git.infradead.org/battery-2.6
Pull power supply and reset updates from Sebastian Reichel:
- new charger drivers: BQ24257, BQ25890, AXP288, RT9455
- MAX17042 battery: add health & temperature support
- BQ2415x charger: add ACPI support
- misc fixes and cleanups
* tag 'for-4.2' of git://git.infradead.org/battery-2.6: (32 commits)
power_supply: Correct kerneldoc copy paste errors
wm831x_power: Fix off-by-one at free_irq()
power_supply: rt9455_charger: Fix error reported by static analysis tool
power_supply: bq24257: use flags argument of devm_gpiod_get
power_supply: bq25890: use flags argument of devm_gpiod_get
sbs-battery: add option to always register battery
power: Add devm_power_supply_get_by_phandle() helper function
power_supply: max17042: Add OF support for setting thresholds
power_supply: sysfs: Bring back write to writeable properties
power_supply: rt9455_charger: Check if CONFIG_USB_PHY is enabled
power: reset: gpio-restart: increase priority slightly
power_supply: bq25890: make chip_id int
power_supply: Add support for Richtek RT9455 battery charger
Documentation: devicetree: Add Richtek RT9455 bindings
of: Add vendor prefix for Richtek Technology Corporation
power_supply: 88pm860x_charger: Do not call free_irq() twice
power: bq24190_charger: Change first_time flag reset condition
power: axp288_charger: axp288 charger driver
power: max17042_battery: add HEALTH and TEMP_* properties support
power_supply: Add support for TI BQ25890 charger chip
...
Diffstat (limited to 'drivers/power/reset')
-rw-r--r-- | drivers/power/reset/at91-reset.c | 2 | ||||
-rw-r--r-- | drivers/power/reset/gpio-poweroff.c | 25 | ||||
-rw-r--r-- | drivers/power/reset/gpio-restart.c | 2 | ||||
-rw-r--r-- | drivers/power/reset/ltc2952-poweroff.c | 7 |
4 files changed, 13 insertions, 23 deletions
diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c index ca461ebc7ae8..36dc52fb2ec8 100644 --- a/drivers/power/reset/at91-reset.c +++ b/drivers/power/reset/at91-reset.c @@ -243,7 +243,7 @@ static int at91_reset_probe(struct platform_device *pdev) return 0; } -static struct platform_device_id at91_reset_plat_match[] = { +static const struct platform_device_id at91_reset_plat_match[] = { { "at91-sam9260-reset", (unsigned long)at91sam9260_restart }, { "at91-sam9g45-reset", (unsigned long)at91sam9g45_restart }, { /* sentinel */ } diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c index e5332f1db8a7..be3d81ff51cc 100644 --- a/drivers/power/reset/gpio-poweroff.c +++ b/drivers/power/reset/gpio-poweroff.c @@ -48,6 +48,7 @@ static void gpio_poweroff_do_poweroff(void) static int gpio_poweroff_probe(struct platform_device *pdev) { bool input = false; + enum gpiod_flags flags; /* If a pm_power_off function has already been added, leave it alone */ if (pm_power_off != NULL) { @@ -57,25 +58,15 @@ static int gpio_poweroff_probe(struct platform_device *pdev) return -EBUSY; } - reset_gpio = devm_gpiod_get(&pdev->dev, NULL); - if (IS_ERR(reset_gpio)) - return PTR_ERR(reset_gpio); - input = of_property_read_bool(pdev->dev.of_node, "input"); + if (input) + flags = GPIOD_IN; + else + flags = GPIOD_OUT_LOW; - if (input) { - if (gpiod_direction_input(reset_gpio)) { - dev_err(&pdev->dev, - "Could not set direction of reset GPIO to input\n"); - return -ENODEV; - } - } else { - if (gpiod_direction_output(reset_gpio, 0)) { - dev_err(&pdev->dev, - "Could not set direction of reset GPIO\n"); - return -ENODEV; - } - } + reset_gpio = devm_gpiod_get(&pdev->dev, NULL, flags); + if (IS_ERR(reset_gpio)) + return PTR_ERR(reset_gpio); pm_power_off = &gpio_poweroff_do_poweroff; return 0; diff --git a/drivers/power/reset/gpio-restart.c b/drivers/power/reset/gpio-restart.c index edb327efee8b..829b45f42021 100644 --- a/drivers/power/reset/gpio-restart.c +++ b/drivers/power/reset/gpio-restart.c @@ -78,7 +78,7 @@ static int gpio_restart_probe(struct platform_device *pdev) } gpio_restart->restart_handler.notifier_call = gpio_restart_notify; - gpio_restart->restart_handler.priority = 128; + gpio_restart->restart_handler.priority = 129; gpio_restart->active_delay_ms = 100; gpio_restart->inactive_delay_ms = 100; gpio_restart->wait_delay_ms = 3000; diff --git a/drivers/power/reset/ltc2952-poweroff.c b/drivers/power/reset/ltc2952-poweroff.c index 5f855f99bdfc..15fed9d8f871 100644 --- a/drivers/power/reset/ltc2952-poweroff.c +++ b/drivers/power/reset/ltc2952-poweroff.c @@ -201,16 +201,15 @@ static int ltc2952_poweroff_init(struct platform_device *pdev) return ret; } - data->gpio_trigger = devm_gpiod_get(&pdev->dev, "trigger", GPIOD_IN); + data->gpio_trigger = devm_gpiod_get_optional(&pdev->dev, "trigger", + GPIOD_IN); if (IS_ERR(data->gpio_trigger)) { /* * It's not a problem if the trigger gpio isn't available, but * it is worth a warning if its use was defined in the device * tree. */ - if (PTR_ERR(data->gpio_trigger) != -ENOENT) - dev_err(&pdev->dev, - "unable to claim gpio \"trigger\"\n"); + dev_err(&pdev->dev, "unable to claim gpio \"trigger\"\n"); data->gpio_trigger = NULL; } |