diff options
Diffstat (limited to 'arch/arm/mach-sa1100/collie_pm.c')
-rw-r--r-- | arch/arm/mach-sa1100/collie_pm.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/arm/mach-sa1100/collie_pm.c b/arch/arm/mach-sa1100/collie_pm.c index b39307f26b52..444f266ecc06 100644 --- a/arch/arm/mach-sa1100/collie_pm.c +++ b/arch/arm/mach-sa1100/collie_pm.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
23 | #include <linux/device.h> | 23 | #include <linux/device.h> |
24 | #include <linux/platform_device.h> | 24 | #include <linux/platform_device.h> |
25 | #include <linux/gpio.h> | ||
25 | 26 | ||
26 | #include <asm/irq.h> | 27 | #include <asm/irq.h> |
27 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
@@ -58,6 +59,9 @@ static void collie_charger_init(void) | |||
58 | return; | 59 | return; |
59 | } | 60 | } |
60 | 61 | ||
62 | gpio_request(COLLIE_GPIO_CHARGE_ON, "charge on"); | ||
63 | gpio_direction_output(COLLIE_GPIO_CHARGE_ON, 1); | ||
64 | |||
61 | ucb1x00_io_set_dir(ucb, 0, COLLIE_TC35143_GPIO_MBAT_ON | COLLIE_TC35143_GPIO_TMP_ON | | 65 | ucb1x00_io_set_dir(ucb, 0, COLLIE_TC35143_GPIO_MBAT_ON | COLLIE_TC35143_GPIO_TMP_ON | |
62 | COLLIE_TC35143_GPIO_BBAT_ON); | 66 | COLLIE_TC35143_GPIO_BBAT_ON); |
63 | return; | 67 | return; |
@@ -73,17 +77,11 @@ static void collie_measure_temp(int on) | |||
73 | 77 | ||
74 | static void collie_charge(int on) | 78 | static void collie_charge(int on) |
75 | { | 79 | { |
76 | extern struct platform_device colliescoop_device; | ||
77 | |||
78 | /* Zaurus seems to contain LTC1731; it should know when to | 80 | /* Zaurus seems to contain LTC1731; it should know when to |
79 | * stop charging itself, so setting charge on should be | 81 | * stop charging itself, so setting charge on should be |
80 | * relatively harmless (as long as it is not done too often). | 82 | * relatively harmless (as long as it is not done too often). |
81 | */ | 83 | */ |
82 | if (on) { | 84 | gpio_set_value(COLLIE_GPIO_CHARGE_ON, on); |
83 | set_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); | ||
84 | } else { | ||
85 | reset_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); | ||
86 | } | ||
87 | } | 85 | } |
88 | 86 | ||
89 | static void collie_discharge(int on) | 87 | static void collie_discharge(int on) |