pinctrl: amd: Use irqchip template
[ Upstream commit e81376ebbafc679a5cea65f25f5ab242172f52df ] This makes the driver use the irqchip template to assign properties to the gpio_irq_chip instead of using the explicit call to gpiochip_irqchip_add(). The irqchip is instead added while adding the gpiochip. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Cc: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> Cc: Sandeep Singh <sandeep.singh@amd.com> Link: https://lore.kernel.org/r/20200722101545.144373-1-linus.walleij@linaro.org Stable-dep-of: b26cd9325be4 ("pinctrl: amd: Disable and mask interrupts on resume") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
387236b9e0
commit
3f3e4bd3f0
@ -852,6 +852,7 @@ static int amd_gpio_probe(struct platform_device *pdev)
|
||||
int irq_base;
|
||||
struct resource *res;
|
||||
struct amd_gpio *gpio_dev;
|
||||
struct gpio_irq_chip *girq;
|
||||
|
||||
gpio_dev = devm_kzalloc(&pdev->dev,
|
||||
sizeof(struct amd_gpio), GFP_KERNEL);
|
||||
@ -913,6 +914,15 @@ static int amd_gpio_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(gpio_dev->pctrl);
|
||||
}
|
||||
|
||||
girq = &gpio_dev->gc.irq;
|
||||
girq->chip = &amd_gpio_irqchip;
|
||||
/* This will let us handle the parent IRQ in the driver */
|
||||
girq->parent_handler = NULL;
|
||||
girq->num_parents = 0;
|
||||
girq->parents = NULL;
|
||||
girq->default_type = IRQ_TYPE_NONE;
|
||||
girq->handler = handle_simple_irq;
|
||||
|
||||
ret = gpiochip_add_data(&gpio_dev->gc, gpio_dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
@ -924,17 +934,6 @@ static int amd_gpio_probe(struct platform_device *pdev)
|
||||
goto out2;
|
||||
}
|
||||
|
||||
ret = gpiochip_irqchip_add(&gpio_dev->gc,
|
||||
&amd_gpio_irqchip,
|
||||
0,
|
||||
handle_simple_irq,
|
||||
IRQ_TYPE_NONE);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "could not add irqchip\n");
|
||||
ret = -ENODEV;
|
||||
goto out2;
|
||||
}
|
||||
|
||||
ret = devm_request_irq(&pdev->dev, irq_base, amd_gpio_irq_handler,
|
||||
IRQF_SHARED, KBUILD_MODNAME, gpio_dev);
|
||||
if (ret)
|
||||
|
Loading…
x
Reference in New Issue
Block a user