diff options
author | Pritesh Raithatha <praithatha@nvidia.com> | 2011-09-27 15:24:46 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:10 -0800 |
commit | a1478bcfafecdc8cbe356f71b869e236aeb58cda (patch) | |
tree | 9af575ccae0a068a1b4ceee4019cfd9eaeef6ad5 /arch/arm/mach-tegra/board-cardhu-power.c | |
parent | bd8c731268f20849a3c7ed625dc1bac52f73cade (diff) |
arm: tegra: cardhu: add gpio charger support
Bug 872590
Change-Id: I7e5bfe68a4f299f771b4af7094754e4167a44f29
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-on: http://git-master/r/54663
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: R9dce2ca60c88531d5b16ed669404b3f1a25a9e81
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-power.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-power.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-power.c b/arch/arm/mach-tegra/board-cardhu-power.c index 82fa58356314..3a1f9e7d412f 100644 --- a/arch/arm/mach-tegra/board-cardhu-power.c +++ b/arch/arm/mach-tegra/board-cardhu-power.c @@ -28,6 +28,7 @@ #include <linux/regulator/gpio-switch-regulator.h> #include <linux/regulator/tps6591x-regulator.h> #include <linux/regulator/tps6236x-regulator.h> +#include <linux/power/gpio-charger.h> #include <mach/iomap.h> #include <mach/irqs.h> @@ -1063,3 +1064,32 @@ int __init cardhu_edp_init(void) return 0; } #endif + +static char *cardhu_battery[] = { + "battery", +}; + +static struct gpio_charger_platform_data cardhu_charger_pdata = { + .name = "ac", + .type = POWER_SUPPLY_TYPE_MAINS, + .gpio = AC_PRESENT_GPIO, + .gpio_active_low = 0, + .supplied_to = cardhu_battery, + .num_supplicants = ARRAY_SIZE(cardhu_battery), +}; + +static struct platform_device cardhu_charger_device = { + .name = "gpio-charger", + .dev = { + .platform_data = &cardhu_charger_pdata, + }, +}; + +static int __init cardhu_charger_late_init(void) +{ + platform_device_register(&cardhu_charger_device); + return 0; +} + +late_initcall(cardhu_charger_late_init); + |