Skip to content

Commit 171865d

Browse files
iwamatsu-tbrgl
authored andcommitted
gpio: visconti: Fix fwnode of GPIO IRQ
The fwnode of GPIO IRQ must be set to its own fwnode, not the fwnode of the parent IRQ. Therefore, this sets own fwnode instead of the parent IRQ fwnode to GPIO IRQ's. Fixes: 2ad74f4 ("gpio: visconti: Add Toshiba Visconti GPIO support") Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
1 parent 2d3535e commit 171865d

1 file changed

Lines changed: 2 additions & 5 deletions

File tree

drivers/gpio/gpio-visconti.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ static int visconti_gpio_probe(struct platform_device *pdev)
130130
struct gpio_irq_chip *girq;
131131
struct irq_domain *parent;
132132
struct device_node *irq_parent;
133-
struct fwnode_handle *fwnode;
134133
int ret;
135134

136135
priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
@@ -150,14 +149,12 @@ static int visconti_gpio_probe(struct platform_device *pdev)
150149
}
151150

152151
parent = irq_find_host(irq_parent);
152+
of_node_put(irq_parent);
153153
if (!parent) {
154154
dev_err(dev, "No IRQ parent domain\n");
155155
return -ENODEV;
156156
}
157157

158-
fwnode = of_node_to_fwnode(irq_parent);
159-
of_node_put(irq_parent);
160-
161158
ret = bgpio_init(&priv->gpio_chip, dev, 4,
162159
priv->base + GPIO_IDATA,
163160
priv->base + GPIO_OSET,
@@ -180,7 +177,7 @@ static int visconti_gpio_probe(struct platform_device *pdev)
180177

181178
girq = &priv->gpio_chip.irq;
182179
girq->chip = irq_chip;
183-
girq->fwnode = fwnode;
180+
girq->fwnode = of_node_to_fwnode(dev->of_node);
184181
girq->parent_domain = parent;
185182
girq->child_to_parent_hwirq = visconti_gpio_child_to_parent_hwirq;
186183
girq->populate_parent_alloc_arg = visconti_gpio_populate_parent_fwspec;

0 commit comments

Comments
 (0)