summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu-power.c
diff options
context:
space:
mode:
authorPritesh Raithatha <praithatha@nvidia.com>2011-09-27 15:24:46 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:10 -0800
commita1478bcfafecdc8cbe356f71b869e236aeb58cda (patch)
tree9af575ccae0a068a1b4ceee4019cfd9eaeef6ad5 /arch/arm/mach-tegra/board-cardhu-power.c
parentbd8c731268f20849a3c7ed625dc1bac52f73cade (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.c30
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);
+