mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
pinctrl: samsung: Handle GPIO request and free using pinctrl helpers
This patch adds .request() and .free() operations to gpio_chip of pinctrl-samsung driver, which call pinctrl request and free helpers to request and free pinctrl pin along with GPIO pin. Signed-off-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
18c28caa17
commit
6c6ce620e0
1 changed files with 14 additions and 1 deletions
|
@ -771,7 +771,8 @@ static int samsung_pinctrl_register(struct platform_device *pdev,
|
|||
pin_bank = &drvdata->ctrl->pin_banks[bank];
|
||||
pin_bank->grange.name = pin_bank->name;
|
||||
pin_bank->grange.id = bank;
|
||||
pin_bank->grange.pin_base = pin_bank->pin_base;
|
||||
pin_bank->grange.pin_base = drvdata->ctrl->base
|
||||
+ pin_bank->pin_base;
|
||||
pin_bank->grange.base = pin_bank->gpio_chip.base;
|
||||
pin_bank->grange.npins = pin_bank->gpio_chip.ngpio;
|
||||
pin_bank->grange.gc = &pin_bank->gpio_chip;
|
||||
|
@ -781,7 +782,19 @@ static int samsung_pinctrl_register(struct platform_device *pdev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int samsung_gpio_request(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
return pinctrl_request_gpio(chip->base + offset);
|
||||
}
|
||||
|
||||
static void samsung_gpio_free(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
pinctrl_free_gpio(chip->base + offset);
|
||||
}
|
||||
|
||||
static const struct gpio_chip samsung_gpiolib_chip = {
|
||||
.request = samsung_gpio_request,
|
||||
.free = samsung_gpio_free,
|
||||
.set = samsung_gpio_set,
|
||||
.get = samsung_gpio_get,
|
||||
.direction_input = samsung_gpio_direction_input,
|
||||
|
|
Loading…
Reference in a new issue