mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 09:01:34 +00:00
A single last pinctrl fix for the v3.15 series:
the vt8500 driver was failing to update the output value when the combined set direction output and set value was executed. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJThD6DAAoJEEEQszewGV1zH6EP/i9QeRZlQyD6lvSfuZG/gO6q f6Dvj+H7NqLnV3pRix7578LgclqozOUealOiSWrRpXFnJLMcNAoct9yr2hSlzZ+2 El6M0+u5d+HSrZRrv+tUXTGglzyuF6Z2hc3xZgOy0PuDXD4xc716aG8Zn9Ck9w7s X3maSLaGJFSUOzNNoQLejqdRG+vMZs9pZ1jLkvcipOz7GDhlX7HuXwPVlp+chiKU 0sGfEpLCUlNHxgmcNu0IUJOty6UvI2STQ57zA7N/Q+/IfLB6GsPa4FF69kJjg5Sl hU3MUUAmR0hvws4S4DCm6HTohXcz+P41PlIIVGDz3I7Io/GQSDhnlQTlN1iJqhqy erhQzXII40GrWJs2yEYpZU1wtcVmgJR+SZHTJlAMr42+SaE0zBJJA42FG+7XbNLM FxBbS53KKbJefV1s1gtmZNaVfrSMXZBKRoeV7NrhYuAWL57jywlxO1o0RNpxzVyk 7/nAigFRvG/2iKrso1zQyscNxJKk0LAuHgUzivuUlIsXOeFC4ndI46ObP/D6u4r/ TOS/UjdZysOFCWIXDJElLH0sXLugj2q4Yq3KJAyLjTnwnJPwVEkJdr0qS/STplww 10AbGU8AW4rL7+gal+DeleiviNqz2RhR4tBVM8Ph9KgrYiaXuiJH3rIA1hwXxIz0 tRaIkK1A/GJAinM2XL8h =pdRP -----END PGP SIGNATURE----- Merge tag 'pinctrl-v3.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pinctrl fix from Linus Walleij: "A single last pinctrl fix for the v3.15 series: the vt8500 driver was failing to update the output value when the combined set direction output and set value was executed" * tag 'pinctrl-v3.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: vt8500: Ensure value reg is updated when setting direction
This commit is contained in:
commit
51d566523b
@ -523,17 +523,6 @@ static int wmt_gpio_get_direction(struct gpio_chip *chip, unsigned offset)
|
||||
return GPIOF_DIR_IN;
|
||||
}
|
||||
|
||||
static int wmt_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
return pinctrl_gpio_direction_input(chip->base + offset);
|
||||
}
|
||||
|
||||
static int wmt_gpio_direction_output(struct gpio_chip *chip, unsigned offset,
|
||||
int value)
|
||||
{
|
||||
return pinctrl_gpio_direction_output(chip->base + offset);
|
||||
}
|
||||
|
||||
static int wmt_gpio_get_value(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
struct wmt_pinctrl_data *data = dev_get_drvdata(chip->dev);
|
||||
@ -568,6 +557,18 @@ static void wmt_gpio_set_value(struct gpio_chip *chip, unsigned offset,
|
||||
wmt_clearbits(data, reg_data_out, BIT(bit));
|
||||
}
|
||||
|
||||
static int wmt_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
return pinctrl_gpio_direction_input(chip->base + offset);
|
||||
}
|
||||
|
||||
static int wmt_gpio_direction_output(struct gpio_chip *chip, unsigned offset,
|
||||
int value)
|
||||
{
|
||||
wmt_gpio_set_value(chip, offset, value);
|
||||
return pinctrl_gpio_direction_output(chip->base + offset);
|
||||
}
|
||||
|
||||
static struct gpio_chip wmt_gpio_chip = {
|
||||
.label = "gpio-wmt",
|
||||
.owner = THIS_MODULE,
|
||||
|
Loading…
Reference in New Issue
Block a user