mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 13:53:33 +00:00
mfd: htc-i2cpld: Fix an IS_ERR() vs NULL bug in htcpld_core_probe()
The gpiochip_request_own_desc() function returns error pointers on error, it doesn't return NULL. Fixes: 0ef5164a81fbf ("mfd/omap1: htc-i2cpld: Convert to a pure GPIO driver") Signed-off-by: Peng Wu <wupeng58@huawei.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee@kernel.org> Link: https://lore.kernel.org/r/20220913071659.94677-1-wupeng58@huawei.com
This commit is contained in:
parent
a328ae8504
commit
9c90f21f93
1 changed files with 6 additions and 3 deletions
|
@ -567,23 +567,26 @@ static int htcpld_core_probe(struct platform_device *pdev)
|
||||||
htcpld->int_reset_gpio_hi = gpiochip_request_own_desc(&htcpld->chip[2].chip_out,
|
htcpld->int_reset_gpio_hi = gpiochip_request_own_desc(&htcpld->chip[2].chip_out,
|
||||||
7, "htcpld-core", GPIO_ACTIVE_HIGH,
|
7, "htcpld-core", GPIO_ACTIVE_HIGH,
|
||||||
GPIOD_OUT_HIGH);
|
GPIOD_OUT_HIGH);
|
||||||
if (!htcpld->int_reset_gpio_hi)
|
if (IS_ERR(htcpld->int_reset_gpio_hi)) {
|
||||||
/*
|
/*
|
||||||
* If it failed, that sucks, but we can probably
|
* If it failed, that sucks, but we can probably
|
||||||
* continue on without it.
|
* continue on without it.
|
||||||
*/
|
*/
|
||||||
|
htcpld->int_reset_gpio_hi = NULL;
|
||||||
dev_warn(dev, "Unable to request int_reset_gpio_hi -- interrupts may not work\n");
|
dev_warn(dev, "Unable to request int_reset_gpio_hi -- interrupts may not work\n");
|
||||||
|
}
|
||||||
|
|
||||||
htcpld->int_reset_gpio_lo = gpiochip_request_own_desc(&htcpld->chip[2].chip_out,
|
htcpld->int_reset_gpio_lo = gpiochip_request_own_desc(&htcpld->chip[2].chip_out,
|
||||||
0, "htcpld-core", GPIO_ACTIVE_HIGH,
|
0, "htcpld-core", GPIO_ACTIVE_HIGH,
|
||||||
GPIOD_OUT_LOW);
|
GPIOD_OUT_LOW);
|
||||||
if (!htcpld->int_reset_gpio_lo)
|
if (IS_ERR(htcpld->int_reset_gpio_lo)) {
|
||||||
/*
|
/*
|
||||||
* If it failed, that sucks, but we can probably
|
* If it failed, that sucks, but we can probably
|
||||||
* continue on without it.
|
* continue on without it.
|
||||||
*/
|
*/
|
||||||
|
htcpld->int_reset_gpio_lo = NULL;
|
||||||
dev_warn(dev, "Unable to request int_reset_gpio_lo -- interrupts may not work\n");
|
dev_warn(dev, "Unable to request int_reset_gpio_lo -- interrupts may not work\n");
|
||||||
|
}
|
||||||
|
|
||||||
dev_info(dev, "Initialized successfully\n");
|
dev_info(dev, "Initialized successfully\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue