diff options
Diffstat (limited to 'drivers/power')
36 files changed, 78 insertions, 34 deletions
diff --git a/drivers/power/88pm860x_battery.c b/drivers/power/88pm860x_battery.c index dfcda3a49403..bd3c997f4fee 100644 --- a/drivers/power/88pm860x_battery.c +++ b/drivers/power/88pm860x_battery.c @@ -1023,7 +1023,6 @@ static SIMPLE_DEV_PM_OPS(pm860x_battery_pm_ops, static struct platform_driver pm860x_battery_driver = { .driver = { .name = "88pm860x-battery", - .owner = THIS_MODULE, .pm = &pm860x_battery_pm_ops, }, .probe = pm860x_battery_probe, diff --git a/drivers/power/88pm860x_charger.c b/drivers/power/88pm860x_charger.c index de029bbc1cc1..650930e4fa79 100644 --- a/drivers/power/88pm860x_charger.c +++ b/drivers/power/88pm860x_charger.c @@ -732,7 +732,6 @@ static int pm860x_charger_remove(struct platform_device *pdev) static struct platform_driver pm860x_charger_driver = { .driver = { .name = "88pm860x-charger", - .owner = THIS_MODULE, }, .probe = pm860x_charger_probe, .remove = pm860x_charger_remove, diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c index 7f9a4547dccd..4ebf7b0819f7 100644 --- a/drivers/power/ab8500_btemp.c +++ b/drivers/power/ab8500_btemp.c @@ -1195,7 +1195,6 @@ static struct platform_driver ab8500_btemp_driver = { .resume = ab8500_btemp_resume, .driver = { .name = "ab8500-btemp", - .owner = THIS_MODULE, .of_match_table = ab8500_btemp_match, }, }; diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c index 19110aa613a1..8c8d170ff0f8 100644 --- a/drivers/power/ab8500_charger.c +++ b/drivers/power/ab8500_charger.c @@ -3733,7 +3733,6 @@ static struct platform_driver ab8500_charger_driver = { .resume = ab8500_charger_resume, .driver = { .name = "ab8500-charger", - .owner = THIS_MODULE, .of_match_table = ab8500_charger_match, }, }; diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c index 99a78d365ceb..69b80bcaa9e7 100644 --- a/drivers/power/ab8500_fg.c +++ b/drivers/power/ab8500_fg.c @@ -3281,7 +3281,6 @@ static struct platform_driver ab8500_fg_driver = { .resume = ab8500_fg_resume, .driver = { .name = "ab8500-fg", - .owner = THIS_MODULE, .of_match_table = ab8500_fg_match, }, }; diff --git a/drivers/power/abx500_chargalg.c b/drivers/power/abx500_chargalg.c index 6d2723664a01..ab54b8dea670 100644 --- a/drivers/power/abx500_chargalg.c +++ b/drivers/power/abx500_chargalg.c @@ -2156,7 +2156,6 @@ static struct platform_driver abx500_chargalg_driver = { .resume = abx500_chargalg_resume, .driver = { .name = "ab8500-chargalg", - .owner = THIS_MODULE, .of_match_table = ab8500_chargalg_match, }, }; diff --git a/drivers/power/bq27x00_battery.c b/drivers/power/bq27x00_battery.c index e3bacfe3bcd0..a78ac201828e 100644 --- a/drivers/power/bq27x00_battery.c +++ b/drivers/power/bq27x00_battery.c @@ -1014,7 +1014,6 @@ static struct platform_driver bq27000_battery_driver = { .remove = bq27000_battery_remove, .driver = { .name = "bq27000-battery", - .owner = THIS_MODULE, }, }; diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c index ef8094a61f1e..649052e1f2d9 100644 --- a/drivers/power/charger-manager.c +++ b/drivers/power/charger-manager.c @@ -2086,7 +2086,6 @@ static const struct dev_pm_ops charger_manager_pm = { static struct platform_driver charger_manager_driver = { .driver = { .name = "charger-manager", - .owner = THIS_MODULE, .pm = &charger_manager_pm, .of_match_table = charger_manager_match, }, diff --git a/drivers/power/da9030_battery.c b/drivers/power/da9030_battery.c index ae6c41835ee6..78cd5d66144b 100644 --- a/drivers/power/da9030_battery.c +++ b/drivers/power/da9030_battery.c @@ -579,7 +579,6 @@ static int da9030_battery_remove(struct platform_device *dev) static struct platform_driver da903x_battery_driver = { .driver = { .name = "da903x-battery", - .owner = THIS_MODULE, }, .probe = da9030_battery_probe, .remove = da9030_battery_remove, diff --git a/drivers/power/da9052-battery.c b/drivers/power/da9052-battery.c index f8f4c0f7c17d..d17250f745c2 100644 --- a/drivers/power/da9052-battery.c +++ b/drivers/power/da9052-battery.c @@ -656,7 +656,6 @@ static struct platform_driver da9052_bat_driver = { .remove = da9052_bat_remove, .driver = { .name = "da9052-bat", - .owner = THIS_MODULE, }, }; module_platform_driver(da9052_bat_driver); diff --git a/drivers/power/generic-adc-battery.c b/drivers/power/generic-adc-battery.c index 59a1421f9288..d72733e4f93a 100644 --- a/drivers/power/generic-adc-battery.c +++ b/drivers/power/generic-adc-battery.c @@ -414,7 +414,6 @@ static const struct dev_pm_ops gab_pm_ops = { static struct platform_driver gab_driver = { .driver = { .name = "generic-adc-battery", - .owner = THIS_MODULE, .pm = GAB_PM_OPS }, .probe = gab_probe, diff --git a/drivers/power/gpio-charger.c b/drivers/power/gpio-charger.c index 7536933d0ab9..3ee889fe0021 100644 --- a/drivers/power/gpio-charger.c +++ b/drivers/power/gpio-charger.c @@ -194,7 +194,6 @@ static struct platform_driver gpio_charger_driver = { .remove = gpio_charger_remove, .driver = { .name = "gpio-charger", - .owner = THIS_MODULE, .pm = &gpio_charger_pm_ops, }, }; diff --git a/drivers/power/intel_mid_battery.c b/drivers/power/intel_mid_battery.c index 4520811168ad..de3f39e6fa8e 100644 --- a/drivers/power/intel_mid_battery.c +++ b/drivers/power/intel_mid_battery.c @@ -773,7 +773,6 @@ static int platform_pmic_battery_remove(struct platform_device *pdev) static struct platform_driver platform_pmic_battery_driver = { .driver = { .name = DRIVER_NAME, - .owner = THIS_MODULE, }, .probe = platform_pmic_battery_probe, .remove = platform_pmic_battery_remove, diff --git a/drivers/power/jz4740-battery.c b/drivers/power/jz4740-battery.c index 6c8931d4ad62..9cd391d61819 100644 --- a/drivers/power/jz4740-battery.c +++ b/drivers/power/jz4740-battery.c @@ -406,7 +406,6 @@ static struct platform_driver jz_battery_driver = { .remove = jz_battery_remove, .driver = { .name = "jz4740-battery", - .owner = THIS_MODULE, .pm = JZ_BATTERY_PM_OPS, }, }; diff --git a/drivers/power/lp8788-charger.c b/drivers/power/lp8788-charger.c index ed49b50b220b..21fc233c7d61 100644 --- a/drivers/power/lp8788-charger.c +++ b/drivers/power/lp8788-charger.c @@ -740,7 +740,6 @@ static struct platform_driver lp8788_charger_driver = { .remove = lp8788_charger_remove, .driver = { .name = LP8788_DEV_CHARGER, - .owner = THIS_MODULE, }, }; module_platform_driver(lp8788_charger_driver); diff --git a/drivers/power/max14577_charger.c b/drivers/power/max14577_charger.c index 0a2bc7277026..ef4103ee6021 100644 --- a/drivers/power/max14577_charger.c +++ b/drivers/power/max14577_charger.c @@ -599,7 +599,6 @@ MODULE_DEVICE_TABLE(platform, max14577_charger_id); static struct platform_driver max14577_charger_driver = { .driver = { - .owner = THIS_MODULE, .name = "max14577-charger", }, .probe = max14577_charger_probe, diff --git a/drivers/power/max8903_charger.c b/drivers/power/max8903_charger.c index 08f0d7909b6b..99e3cdcd3e11 100644 --- a/drivers/power/max8903_charger.c +++ b/drivers/power/max8903_charger.c @@ -368,7 +368,6 @@ static struct platform_driver max8903_driver = { .remove = max8903_remove, .driver = { .name = "max8903-charger", - .owner = THIS_MODULE, }, }; diff --git a/drivers/power/max8997_charger.c b/drivers/power/max8997_charger.c index 4bdedfed936d..aefa0c9a3007 100644 --- a/drivers/power/max8997_charger.c +++ b/drivers/power/max8997_charger.c @@ -181,7 +181,6 @@ static const struct platform_device_id max8997_battery_id[] = { static struct platform_driver max8997_battery_driver = { .driver = { .name = "max8997-battery", - .owner = THIS_MODULE, }, .probe = max8997_battery_probe, .remove = max8997_battery_remove, diff --git a/drivers/power/max8998_charger.c b/drivers/power/max8998_charger.c index 5017470c2fc9..08694c7a9f38 100644 --- a/drivers/power/max8998_charger.c +++ b/drivers/power/max8998_charger.c @@ -195,7 +195,6 @@ static const struct platform_device_id max8998_battery_id[] = { static struct platform_driver max8998_battery_driver = { .driver = { .name = "max8998-battery", - .owner = THIS_MODULE, }, .probe = max8998_battery_probe, .remove = max8998_battery_remove, diff --git a/drivers/power/olpc_battery.c b/drivers/power/olpc_battery.c index 1ec810ada5ed..ad9cde705de1 100644 --- a/drivers/power/olpc_battery.c +++ b/drivers/power/olpc_battery.c @@ -677,7 +677,6 @@ MODULE_DEVICE_TABLE(of, olpc_battery_ids); static struct platform_driver olpc_battery_driver = { .driver = { .name = "olpc-battery", - .owner = THIS_MODULE, .of_match_table = olpc_battery_ids, }, .probe = olpc_battery_probe, diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index f65ff49bb275..028e76504519 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -71,6 +71,15 @@ config POWER_RESET_HISI help Reboot support for Hisilicon boards. +config POWER_RESET_IMX + bool "IMX6 power-off driver" + depends on POWER_RESET && SOC_IMX6 + help + This driver support power off external PMIC by PMIC_ON_REQ on i.mx6 + boards.If you want to use other pin to control external power,please + say N here or disable in dts to make sure pm_power_off never be + overwrote wrongly by this driver. + config POWER_RESET_MSM bool "Qualcomm MSM power-off driver" depends on ARCH_QCOM diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile index 76ce1c59469b..1d4804d6b323 100644 --- a/drivers/power/reset/Makefile +++ b/drivers/power/reset/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_POWER_RESET_BRCMSTB) += brcmstb-reboot.o obj-$(CONFIG_POWER_RESET_GPIO) += gpio-poweroff.o obj-$(CONFIG_POWER_RESET_GPIO_RESTART) += gpio-restart.o obj-$(CONFIG_POWER_RESET_HISI) += hisi-reboot.o +obj-$(CONFIG_POWER_RESET_IMX) += imx-snvs-poweroff.o obj-$(CONFIG_POWER_RESET_MSM) += msm-poweroff.o obj-$(CONFIG_POWER_RESET_LTC2952) += ltc2952-poweroff.o obj-$(CONFIG_POWER_RESET_QNAP) += qnap-poweroff.o diff --git a/drivers/power/reset/as3722-poweroff.c b/drivers/power/reset/as3722-poweroff.c index 684971199bd3..60d0295fffb1 100644 --- a/drivers/power/reset/as3722-poweroff.c +++ b/drivers/power/reset/as3722-poweroff.c @@ -82,7 +82,6 @@ static int as3722_poweroff_remove(struct platform_device *pdev) static struct platform_driver as3722_poweroff_driver = { .driver = { .name = "as3722-power-off", - .owner = THIS_MODULE, }, .probe = as3722_poweroff_probe, .remove = as3722_poweroff_remove, diff --git a/drivers/power/reset/at91-reset.c b/drivers/power/reset/at91-reset.c index 3cb36693343a..69a75d99ae92 100644 --- a/drivers/power/reset/at91-reset.c +++ b/drivers/power/reset/at91-reset.c @@ -19,8 +19,8 @@ #include <asm/system_misc.h> -#include <mach/at91sam9_ddrsdr.h> -#include <mach/at91sam9_sdramc.h> +#include <soc/at91/at91sam9_ddrsdr.h> +#include <soc/at91/at91sam9_sdramc.h> #define AT91_RSTC_CR 0x00 /* Reset Controller Control Register */ #define AT91_RSTC_PROCRST BIT(0) /* Processor Reset */ diff --git a/drivers/power/reset/brcmstb-reboot.c b/drivers/power/reset/brcmstb-reboot.c index 3f236924742a..c523ea7a90ee 100644 --- a/drivers/power/reset/brcmstb-reboot.c +++ b/drivers/power/reset/brcmstb-reboot.c @@ -107,7 +107,6 @@ static struct platform_driver brcmstb_reboot_driver = { .probe = brcmstb_reboot_probe, .driver = { .name = "brcmstb-reboot", - .owner = THIS_MODULE, .of_match_table = of_match, }, }; diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c index ce849bc9b269..e5332f1db8a7 100644 --- a/drivers/power/reset/gpio-poweroff.c +++ b/drivers/power/reset/gpio-poweroff.c @@ -99,7 +99,6 @@ static struct platform_driver gpio_poweroff_driver = { .remove = gpio_poweroff_remove, .driver = { .name = "poweroff-gpio", - .owner = THIS_MODULE, .of_match_table = of_gpio_poweroff_match, }, }; diff --git a/drivers/power/reset/gpio-restart.c b/drivers/power/reset/gpio-restart.c index a76829b3f1cd..edb327efee8b 100644 --- a/drivers/power/reset/gpio-restart.c +++ b/drivers/power/reset/gpio-restart.c @@ -137,7 +137,6 @@ static struct platform_driver gpio_restart_driver = { .remove = gpio_restart_remove, .driver = { .name = "restart-gpio", - .owner = THIS_MODULE, .of_match_table = of_gpio_restart_match, }, }; diff --git a/drivers/power/reset/imx-snvs-poweroff.c b/drivers/power/reset/imx-snvs-poweroff.c new file mode 100644 index 000000000000..ad6ce5020ea7 --- /dev/null +++ b/drivers/power/reset/imx-snvs-poweroff.c @@ -0,0 +1,66 @@ +/* Power off driver for i.mx6 + * Copyright (c) 2014, FREESCALE CORPORATION. All rights reserved. + * + * based on msm-poweroff.c + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include <linux/err.h> +#include <linux/init.h> +#include <linux/io.h> +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/of.h> +#include <linux/of_address.h> +#include <linux/platform_device.h> + +static void __iomem *snvs_base; + +static void do_imx_poweroff(void) +{ + u32 value = readl(snvs_base); + + /* set TOP and DP_EN bit */ + writel(value | 0x60, snvs_base); +} + +static int imx_poweroff_probe(struct platform_device *pdev) +{ + snvs_base = of_iomap(pdev->dev.of_node, 0); + if (!snvs_base) { + dev_err(&pdev->dev, "failed to get memory\n"); + return -ENODEV; + } + + pm_power_off = do_imx_poweroff; + return 0; +} + +static const struct of_device_id of_imx_poweroff_match[] = { + { .compatible = "fsl,sec-v4.0-poweroff", }, + {}, +}; +MODULE_DEVICE_TABLE(of, of_imx_poweroff_match); + +static struct platform_driver imx_poweroff_driver = { + .probe = imx_poweroff_probe, + .driver = { + .name = "imx-snvs-poweroff", + .of_match_table = of_match_ptr(of_imx_poweroff_match), + }, +}; + +static int __init imx_poweroff_init(void) +{ + return platform_driver_register(&imx_poweroff_driver); +} +device_initcall(imx_poweroff_init); diff --git a/drivers/power/reset/keystone-reset.c b/drivers/power/reset/keystone-reset.c index 408a18fd91cb..86bc100818b2 100644 --- a/drivers/power/reset/keystone-reset.c +++ b/drivers/power/reset/keystone-reset.c @@ -153,7 +153,6 @@ static int rsctrl_probe(struct platform_device *pdev) static struct platform_driver rsctrl_driver = { .probe = rsctrl_probe, .driver = { - .owner = THIS_MODULE, .name = KBUILD_MODNAME, .of_match_table = rsctrl_of_match, }, diff --git a/drivers/power/reset/ltc2952-poweroff.c b/drivers/power/reset/ltc2952-poweroff.c index 116a1cef8f7b..34f38a3dc3ff 100644 --- a/drivers/power/reset/ltc2952-poweroff.c +++ b/drivers/power/reset/ltc2952-poweroff.c @@ -342,7 +342,6 @@ static struct platform_driver ltc2952_poweroff_driver = { .remove = ltc2952_poweroff_remove, .driver = { .name = "ltc2952-poweroff", - .owner = THIS_MODULE, .of_match_table = of_ltc2952_poweroff_match, }, .suspend = ltc2952_poweroff_suspend, diff --git a/drivers/power/reset/qnap-poweroff.c b/drivers/power/reset/qnap-poweroff.c index a75db7f8a92f..2789a61cec68 100644 --- a/drivers/power/reset/qnap-poweroff.c +++ b/drivers/power/reset/qnap-poweroff.c @@ -129,7 +129,6 @@ static struct platform_driver qnap_power_off_driver = { .probe = qnap_power_off_probe, .remove = qnap_power_off_remove, .driver = { - .owner = THIS_MODULE, .name = "qnap_power_off", .of_match_table = of_match_ptr(qnap_power_off_of_match_table), }, diff --git a/drivers/power/reset/restart-poweroff.c b/drivers/power/reset/restart-poweroff.c index edd707ee7281..f46f2c2e4648 100644 --- a/drivers/power/reset/restart-poweroff.c +++ b/drivers/power/reset/restart-poweroff.c @@ -55,7 +55,6 @@ static struct platform_driver restart_poweroff_driver = { .remove = restart_poweroff_remove, .driver = { .name = "poweroff-restart", - .owner = THIS_MODULE, .of_match_table = of_restart_poweroff_match, }, }; diff --git a/drivers/power/rx51_battery.c b/drivers/power/rx51_battery.c index d5a2acfb8821..a01aacb32f59 100644 --- a/drivers/power/rx51_battery.c +++ b/drivers/power/rx51_battery.c @@ -281,7 +281,6 @@ static struct platform_driver rx51_battery_driver = { .remove = rx51_battery_remove, .driver = { .name = "rx51-battery", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(n900_battery_of_match), }, }; diff --git a/drivers/power/tps65090-charger.c b/drivers/power/tps65090-charger.c index 3e8ba97c8169..0f4e5971dff5 100644 --- a/drivers/power/tps65090-charger.c +++ b/drivers/power/tps65090-charger.c @@ -353,7 +353,6 @@ static struct platform_driver tps65090_charger_driver = { .driver = { .name = "tps65090-charger", .of_match_table = of_tps65090_charger_match, - .owner = THIS_MODULE, }, .probe = tps65090_charger_probe, .remove = tps65090_charger_remove, diff --git a/drivers/power/twl4030_charger.c b/drivers/power/twl4030_charger.c index 2598c588006e..d35b83e635b5 100644 --- a/drivers/power/twl4030_charger.c +++ b/drivers/power/twl4030_charger.c @@ -716,7 +716,6 @@ MODULE_DEVICE_TABLE(of, twl_bci_of_match); static struct platform_driver twl4030_bci_driver = { .driver = { .name = "twl4030_bci", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(twl_bci_of_match), }, .remove = __exit_p(twl4030_bci_remove), diff --git a/drivers/power/wm97xx_battery.c b/drivers/power/wm97xx_battery.c index 58f7348e6c22..a8e6203673ad 100644 --- a/drivers/power/wm97xx_battery.c +++ b/drivers/power/wm97xx_battery.c @@ -281,7 +281,6 @@ static int wm97xx_bat_remove(struct platform_device *dev) static struct platform_driver wm97xx_bat_driver = { .driver = { .name = "wm97xx-battery", - .owner = THIS_MODULE, #ifdef CONFIG_PM .pm = &wm97xx_bat_pm_ops, #endif |