diff options
| author | Linus Walleij <linus.walleij@linaro.org> | 2015-12-08 03:53:39 -0500 |
|---|---|---|
| committer | Linus Walleij <linus.walleij@linaro.org> | 2016-01-05 08:15:01 -0500 |
| commit | 064761d1566617018567ed4d18bbb82519c01506 (patch) | |
| tree | eb485fb945f5ca601dc22db3d7da628fd9a50aca /drivers/pinctrl/qcom | |
| parent | c52d9df14ba75af351a2be7cc49f9e055192af93 (diff) | |
pinctrl: spmi-mpp: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().
Cc: Björn Andersson <bjorn.andersson@sonymobile.com>
Cc: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/qcom')
| -rw-r--r-- | drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c index ea1d2b2f6fd1..f49713d199ca 100644 --- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c +++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | |||
| @@ -178,11 +178,6 @@ static const char *const pmic_mpp_functions[] = { | |||
| 178 | "digital", "analog", "sink" | 178 | "digital", "analog", "sink" |
| 179 | }; | 179 | }; |
| 180 | 180 | ||
| 181 | static inline struct pmic_mpp_state *to_mpp_state(struct gpio_chip *chip) | ||
| 182 | { | ||
| 183 | return container_of(chip, struct pmic_mpp_state, chip); | ||
| 184 | }; | ||
| 185 | |||
| 186 | static int pmic_mpp_read(struct pmic_mpp_state *state, | 181 | static int pmic_mpp_read(struct pmic_mpp_state *state, |
| 187 | struct pmic_mpp_pad *pad, unsigned int addr) | 182 | struct pmic_mpp_pad *pad, unsigned int addr) |
| 188 | { | 183 | { |
| @@ -556,7 +551,7 @@ static const struct pinconf_ops pmic_mpp_pinconf_ops = { | |||
| 556 | 551 | ||
| 557 | static int pmic_mpp_direction_input(struct gpio_chip *chip, unsigned pin) | 552 | static int pmic_mpp_direction_input(struct gpio_chip *chip, unsigned pin) |
| 558 | { | 553 | { |
| 559 | struct pmic_mpp_state *state = to_mpp_state(chip); | 554 | struct pmic_mpp_state *state = gpiochip_get_data(chip); |
| 560 | unsigned long config; | 555 | unsigned long config; |
| 561 | 556 | ||
| 562 | config = pinconf_to_config_packed(PIN_CONFIG_INPUT_ENABLE, 1); | 557 | config = pinconf_to_config_packed(PIN_CONFIG_INPUT_ENABLE, 1); |
| @@ -567,7 +562,7 @@ static int pmic_mpp_direction_input(struct gpio_chip *chip, unsigned pin) | |||
| 567 | static int pmic_mpp_direction_output(struct gpio_chip *chip, | 562 | static int pmic_mpp_direction_output(struct gpio_chip *chip, |
| 568 | unsigned pin, int val) | 563 | unsigned pin, int val) |
| 569 | { | 564 | { |
| 570 | struct pmic_mpp_state *state = to_mpp_state(chip); | 565 | struct pmic_mpp_state *state = gpiochip_get_data(chip); |
| 571 | unsigned long config; | 566 | unsigned long config; |
| 572 | 567 | ||
| 573 | config = pinconf_to_config_packed(PIN_CONFIG_OUTPUT, val); | 568 | config = pinconf_to_config_packed(PIN_CONFIG_OUTPUT, val); |
| @@ -577,7 +572,7 @@ static int pmic_mpp_direction_output(struct gpio_chip *chip, | |||
| 577 | 572 | ||
| 578 | static int pmic_mpp_get(struct gpio_chip *chip, unsigned pin) | 573 | static int pmic_mpp_get(struct gpio_chip *chip, unsigned pin) |
| 579 | { | 574 | { |
| 580 | struct pmic_mpp_state *state = to_mpp_state(chip); | 575 | struct pmic_mpp_state *state = gpiochip_get_data(chip); |
| 581 | struct pmic_mpp_pad *pad; | 576 | struct pmic_mpp_pad *pad; |
| 582 | int ret; | 577 | int ret; |
| 583 | 578 | ||
| @@ -596,7 +591,7 @@ static int pmic_mpp_get(struct gpio_chip *chip, unsigned pin) | |||
| 596 | 591 | ||
| 597 | static void pmic_mpp_set(struct gpio_chip *chip, unsigned pin, int value) | 592 | static void pmic_mpp_set(struct gpio_chip *chip, unsigned pin, int value) |
| 598 | { | 593 | { |
| 599 | struct pmic_mpp_state *state = to_mpp_state(chip); | 594 | struct pmic_mpp_state *state = gpiochip_get_data(chip); |
| 600 | unsigned long config; | 595 | unsigned long config; |
| 601 | 596 | ||
| 602 | config = pinconf_to_config_packed(PIN_CONFIG_OUTPUT, value); | 597 | config = pinconf_to_config_packed(PIN_CONFIG_OUTPUT, value); |
| @@ -619,7 +614,7 @@ static int pmic_mpp_of_xlate(struct gpio_chip *chip, | |||
| 619 | 614 | ||
| 620 | static int pmic_mpp_to_irq(struct gpio_chip *chip, unsigned pin) | 615 | static int pmic_mpp_to_irq(struct gpio_chip *chip, unsigned pin) |
| 621 | { | 616 | { |
| 622 | struct pmic_mpp_state *state = to_mpp_state(chip); | 617 | struct pmic_mpp_state *state = gpiochip_get_data(chip); |
| 623 | struct pmic_mpp_pad *pad; | 618 | struct pmic_mpp_pad *pad; |
| 624 | 619 | ||
| 625 | pad = state->ctrl->desc->pins[pin].drv_data; | 620 | pad = state->ctrl->desc->pins[pin].drv_data; |
| @@ -629,7 +624,7 @@ static int pmic_mpp_to_irq(struct gpio_chip *chip, unsigned pin) | |||
| 629 | 624 | ||
| 630 | static void pmic_mpp_dbg_show(struct seq_file *s, struct gpio_chip *chip) | 625 | static void pmic_mpp_dbg_show(struct seq_file *s, struct gpio_chip *chip) |
| 631 | { | 626 | { |
| 632 | struct pmic_mpp_state *state = to_mpp_state(chip); | 627 | struct pmic_mpp_state *state = gpiochip_get_data(chip); |
| 633 | unsigned i; | 628 | unsigned i; |
| 634 | 629 | ||
| 635 | for (i = 0; i < chip->ngpio; i++) { | 630 | for (i = 0; i < chip->ngpio; i++) { |
| @@ -873,7 +868,7 @@ static int pmic_mpp_probe(struct platform_device *pdev) | |||
| 873 | if (IS_ERR(state->ctrl)) | 868 | if (IS_ERR(state->ctrl)) |
| 874 | return PTR_ERR(state->ctrl); | 869 | return PTR_ERR(state->ctrl); |
| 875 | 870 | ||
| 876 | ret = gpiochip_add(&state->chip); | 871 | ret = gpiochip_add_data(&state->chip, state); |
| 877 | if (ret) { | 872 | if (ret) { |
| 878 | dev_err(state->dev, "can't add gpio chip\n"); | 873 | dev_err(state->dev, "can't add gpio chip\n"); |
| 879 | goto err_chip; | 874 | goto err_chip; |
