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:
Peng Wu 2022-09-13 07:16:59 +00:00 committed by Lee Jones
parent a328ae8504
commit 9c90f21f93

View file

@ -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;