History

Merge tag 'gpio-fixes-for-v6.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski: - fix interrupt handling in suspend and wakeup in gpio-vf610 - fix a bug on setting direction to output in gpio-vf610 - add a missing memset() in gpio ACPI code * tag 'gpio-fixes-for-v6.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: gpiolib: acpi: Add missing memset(0) to acpi_get_gpiod_from_data() gpio: vf610: set value before the direction to avoid a glitch gpio: vf610: mask the gpio irq in system suspend and support wakeup

Linus Torvalds committed 3 years ago

Commit d537ae42 parents 03027aa 479ac412 files · +5 −3Browse files

Unified · Split

2 files
  1. drivers/gpio/gpio-vf610.c +4 −3
  2. drivers/gpio/gpiolib-acpi.c +1 −0
drivers/gpio/gpio-vf610.c+4−3
@@ -126,14 +126,14 @@ static int vf610_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, · 125 unmodified lines
126 unsigned long mask = BIT(gpio);126 unsigned long mask = BIT(gpio);
127 u32 val;127 u32 val;
128 128
129 vf610_gpio_set(chip, gpio, value);
130
129 if (port->sdata && port->sdata->have_paddr) {131 if (port->sdata && port->sdata->have_paddr) {
130 val = vf610_gpio_readl(port->gpio_base + GPIO_PDDR);132 val = vf610_gpio_readl(port->gpio_base + GPIO_PDDR);
131 val |= mask;133 val |= mask;
132 vf610_gpio_writel(val, port->gpio_base + GPIO_PDDR);134 vf610_gpio_writel(val, port->gpio_base + GPIO_PDDR);
133 }135 }
134 136
135 vf610_gpio_set(chip, gpio, value);
136
137 return pinctrl_gpio_direction_output(chip->base + gpio);137 return pinctrl_gpio_direction_output(chip->base + gpio);
138}138}
139 139
@@ -246,7 +246,8 @@ static const struct irq_chip vf610_irqchip = { · 106 unmodified lines
246 .irq_unmask = vf610_gpio_irq_unmask,246 .irq_unmask = vf610_gpio_irq_unmask,
247 .irq_set_type = vf610_gpio_irq_set_type,247 .irq_set_type = vf610_gpio_irq_set_type,
248 .irq_set_wake = vf610_gpio_irq_set_wake,248 .irq_set_wake = vf610_gpio_irq_set_wake,
249 .flags = IRQCHIP_IMMUTABLE,249 .flags = IRQCHIP_IMMUTABLE | IRQCHIP_MASK_ON_SUSPEND
250 | IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND,
250 GPIOCHIP_IRQ_RESOURCE_HELPERS,251 GPIOCHIP_IRQ_RESOURCE_HELPERS,
251};252};
252 253
drivers/gpio/gpiolib-acpi.c+1−0
@@ -951,6 +951,7 @@ static struct gpio_desc *acpi_get_gpiod_from_data(struct fwnode_handle *fwnode, · 950 unmodified lines
951 if (!propname)951 if (!propname)
952 return ERR_PTR(-EINVAL);952 return ERR_PTR(-EINVAL);
953 953
954 memset(&lookup, 0, sizeof(lookup));
954 lookup.index = index;955 lookup.index = index;
955 956
956 ret = acpi_gpio_property_lookup(fwnode, propname, index, &lookup);957 ret = acpi_gpio_property_lookup(fwnode, propname, index, &lookup);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t