From 3ab5ce11fbc786236b0edf0c2344595455ac3d04 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Wed, 13 Apr 2016 10:57:52 +0930 Subject: [PATCH] HACK: gpio-aspeed: Request pins via pinctrl Signed-off-by: Andrew Jeffery --- drivers/gpio/gpio-aspeed.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c index aa4573f03cb67..2f23fb1034b51 100644 --- a/drivers/gpio/gpio-aspeed.c +++ b/drivers/gpio/gpio-aspeed.c @@ -16,6 +16,7 @@ #include #include #include +#include struct aspeed_gpio { struct gpio_chip chip; @@ -366,6 +367,15 @@ static void aspeed_gpio_setup_irqs(struct aspeed_gpio *gpio, aspeed_gpio_irq_handler, gpio); } +static int aspeed_gpio_request(struct gpio_chip *chip, unsigned offset) +{ + return pinctrl_request_gpio(offset); +} + +static void aspeed_gpio_free(struct gpio_chip *chip, unsigned offset) +{ + pinctrl_free_gpio(offset); +} static int __init aspeed_gpio_probe(struct platform_device *pdev) { @@ -392,6 +402,8 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev) gpio->chip.parent = &pdev->dev; gpio->chip.direction_input = aspeed_gpio_dir_in; gpio->chip.direction_output = aspeed_gpio_dir_out; + gpio->chip.request = aspeed_gpio_request; + gpio->chip.free = aspeed_gpio_free; gpio->chip.get = aspeed_gpio_get; gpio->chip.set = aspeed_gpio_set; gpio->chip.to_irq = aspeed_gpio_to_irq;