@@ -30,6 +30,7 @@
#include <linux/gpio_keys.h>
#include <linux/input.h>
#include <linux/gpio.h>
+#include <linux/gpio/machine.h>
#include <linux/power/gpio-charger.h>
#include <video/sa1100fb.h>
@@ -131,6 +132,14 @@ static struct irda_platform_data collie_ir_data = {
/*
* Collie AC IN
*/
+static struct gpiod_lookup_table collie_charger_gpiod_table = {
+ .dev_id = "gpio-charger",
+ .table = {
+ GPIO_LOOKUP("gpio", COLLIE_GPIO_AC_IN, NULL, GPIO_ACTIVE_HIGH),
+ {},
+ },
+};
+
static char *collie_ac_supplied_to[] = {
"main-battery",
"backup-battery",
@@ -140,7 +149,6 @@ static char *collie_ac_supplied_to[] = {
static struct gpio_charger_platform_data collie_power_data = {
.name = "charger",
.type = POWER_SUPPLY_TYPE_MAINS,
- .gpio = COLLIE_GPIO_AC_IN,
.supplied_to = collie_ac_supplied_to,
.num_supplicants = ARRAY_SIZE(collie_ac_supplied_to),
};
@@ -386,6 +394,7 @@ static void __init collie_init(void)
platform_scoop_config = &collie_pcmcia_config;
+ gpiod_add_lookup_table(&collie_charger_gpiod_table);
ret = platform_add_devices(devices, ARRAY_SIZE(devices));
if (ret) {
printk(KERN_WARNING "collie: Unable to register LoCoMo device\n");
Provide AC detect GPIO via gpiod table instead of legacy platform data so that legacy GPIO support can be removed from the driver. Due to lack of hardware this has only been compile tested. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> --- arch/arm/mach-sa1100/collie.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)