diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2015-12-08 04:13:53 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2016-01-05 08:15:01 -0500 |
commit | ed47941a17993cc455b1009a9810b85faa02c23f (patch) | |
tree | 3aa8e29c1dae8226c5038a2502e34bf403c8fb14 | |
parent | 064761d1566617018567ed4d18bbb82519c01506 (diff) |
pinctrl: ssbi-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>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c index 629642b73489..6c8ad0ee8554 100644 --- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | |||
@@ -448,7 +448,7 @@ static struct pinctrl_desc pm8xxx_pinctrl_desc = { | |||
448 | static int pm8xxx_mpp_direction_input(struct gpio_chip *chip, | 448 | static int pm8xxx_mpp_direction_input(struct gpio_chip *chip, |
449 | unsigned offset) | 449 | unsigned offset) |
450 | { | 450 | { |
451 | struct pm8xxx_mpp *pctrl = container_of(chip, struct pm8xxx_mpp, chip); | 451 | struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); |
452 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; | 452 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; |
453 | 453 | ||
454 | switch (pin->mode) { | 454 | switch (pin->mode) { |
@@ -472,7 +472,7 @@ static int pm8xxx_mpp_direction_output(struct gpio_chip *chip, | |||
472 | unsigned offset, | 472 | unsigned offset, |
473 | int value) | 473 | int value) |
474 | { | 474 | { |
475 | struct pm8xxx_mpp *pctrl = container_of(chip, struct pm8xxx_mpp, chip); | 475 | struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); |
476 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; | 476 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; |
477 | 477 | ||
478 | switch (pin->mode) { | 478 | switch (pin->mode) { |
@@ -496,7 +496,7 @@ static int pm8xxx_mpp_direction_output(struct gpio_chip *chip, | |||
496 | 496 | ||
497 | static int pm8xxx_mpp_get(struct gpio_chip *chip, unsigned offset) | 497 | static int pm8xxx_mpp_get(struct gpio_chip *chip, unsigned offset) |
498 | { | 498 | { |
499 | struct pm8xxx_mpp *pctrl = container_of(chip, struct pm8xxx_mpp, chip); | 499 | struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); |
500 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; | 500 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; |
501 | bool state; | 501 | bool state; |
502 | int ret; | 502 | int ret; |
@@ -513,7 +513,7 @@ static int pm8xxx_mpp_get(struct gpio_chip *chip, unsigned offset) | |||
513 | 513 | ||
514 | static void pm8xxx_mpp_set(struct gpio_chip *chip, unsigned offset, int value) | 514 | static void pm8xxx_mpp_set(struct gpio_chip *chip, unsigned offset, int value) |
515 | { | 515 | { |
516 | struct pm8xxx_mpp *pctrl = container_of(chip, struct pm8xxx_mpp, chip); | 516 | struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); |
517 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; | 517 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; |
518 | 518 | ||
519 | pin->output_value = !!value; | 519 | pin->output_value = !!value; |
@@ -537,7 +537,7 @@ static int pm8xxx_mpp_of_xlate(struct gpio_chip *chip, | |||
537 | 537 | ||
538 | static int pm8xxx_mpp_to_irq(struct gpio_chip *chip, unsigned offset) | 538 | static int pm8xxx_mpp_to_irq(struct gpio_chip *chip, unsigned offset) |
539 | { | 539 | { |
540 | struct pm8xxx_mpp *pctrl = container_of(chip, struct pm8xxx_mpp, chip); | 540 | struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); |
541 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; | 541 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; |
542 | 542 | ||
543 | return pin->irq; | 543 | return pin->irq; |
@@ -552,7 +552,7 @@ static void pm8xxx_mpp_dbg_show_one(struct seq_file *s, | |||
552 | unsigned offset, | 552 | unsigned offset, |
553 | unsigned gpio) | 553 | unsigned gpio) |
554 | { | 554 | { |
555 | struct pm8xxx_mpp *pctrl = container_of(chip, struct pm8xxx_mpp, chip); | 555 | struct pm8xxx_mpp *pctrl = gpiochip_get_data(chip); |
556 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; | 556 | struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; |
557 | 557 | ||
558 | static const char * const aout_lvls[] = { | 558 | static const char * const aout_lvls[] = { |
@@ -826,7 +826,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev) | |||
826 | pctrl->chip.of_gpio_n_cells = 2; | 826 | pctrl->chip.of_gpio_n_cells = 2; |
827 | pctrl->chip.label = dev_name(pctrl->dev); | 827 | pctrl->chip.label = dev_name(pctrl->dev); |
828 | pctrl->chip.ngpio = pctrl->npins; | 828 | pctrl->chip.ngpio = pctrl->npins; |
829 | ret = gpiochip_add(&pctrl->chip); | 829 | ret = gpiochip_add_data(&pctrl->chip, pctrl); |
830 | if (ret) { | 830 | if (ret) { |
831 | dev_err(&pdev->dev, "failed register gpiochip\n"); | 831 | dev_err(&pdev->dev, "failed register gpiochip\n"); |
832 | goto unregister_pinctrl; | 832 | goto unregister_pinctrl; |