Check ACPI device for NULL inside acpi_can_fallback_to_crs(), so callers
won't need to.
Signed-off-by: Laura Nao <[email protected]>
Reported-by: "kernelci.org bot" <[email protected]>
Closes: https://lore.kernel.org/all/[email protected]/
Fixes: 49c02f6e901c ("gpiolib: acpi: Move acpi_can_fallback_to_crs() out of __acpi_find_gpio()")
---
drivers/gpio/gpiolib-acpi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 553a5f94c00a..688aff6e51bc 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -939,7 +939,7 @@ static bool acpi_can_fallback_to_crs(struct acpi_device *adev,
const char *con_id)
{
/* Never allow fallback if the device has properties */
- if (acpi_dev_has_props(adev) || adev->driver_gpios)
+ if (!adev || acpi_dev_has_props(adev) || adev->driver_gpios)
return false;
return con_id == NULL;
--
2.30.2
Il 09/05/24 12:46, Laura Nao ha scritto:
> Check ACPI device for NULL inside acpi_can_fallback_to_crs(), so callers
> won't need to.
>
> Signed-off-by: Laura Nao <[email protected]>
> Reported-by: "kernelci.org bot" <[email protected]>
> Closes: https://lore.kernel.org/all/[email protected]/
> Fixes: 49c02f6e901c ("gpiolib: acpi: Move acpi_can_fallback_to_crs() out of __acpi_find_gpio()")
>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
On Thu, May 09, 2024 at 12:46:05PM +0200, Laura Nao wrote:
> Check ACPI device for NULL inside acpi_can_fallback_to_crs(), so callers
> won't need to.
Thank you for the patch, one change seems good to have along this.
..
> /* Never allow fallback if the device has properties */
> - if (acpi_dev_has_props(adev) || adev->driver_gpios)
> + if (!adev || acpi_dev_has_props(adev) || adev->driver_gpios)
Right, since it was adev || _crs() combined.
> return false;
Now we may remove that check from __acpi_find_gpio():
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -988,10 +988,10 @@ __acpi_find_gpio(struct fwnode_handle *fwnode, const char *con_id, unsigned int
}
/* Then from plain _CRS GPIOs */
- if (!adev || !can_fallback)
- return ERR_PTR(-ENOENT);
+ if (can_fallback)
+ return acpi_get_gpiod_by_index(adev, NULL, idx, info);
- return acpi_get_gpiod_by_index(adev, NULL, idx, info);
+ return ERR_PTR(-ENOENT);
}
struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
As a side effect it will make the comment better to understand.
With above suggestion applied, feel free to add mine
Reviewed-by: Andy Shevchenko <[email protected]>
You might need to rephrase the commit message to say that
"We also move the check in additional to the moving the function call
outside of __acpi_find_gpio()."
or something similar, up to you.
--
With Best Regards,
Andy Shevchenko
Hi Andy,
On 5/10/24 16:46, Andy Shevchenko wrote:
>
> Now we may remove that check from __acpi_find_gpio():
>
> --- a/drivers/gpio/gpiolib-acpi.c
> +++ b/drivers/gpio/gpiolib-acpi.c
> @@ -988,10 +988,10 @@ __acpi_find_gpio(struct fwnode_handle *fwnode,
> const char *con_id, unsigned int
> }
>
> /* Then from plain _CRS GPIOs */
> - if (!adev || !can_fallback)
> - return ERR_PTR(-ENOENT);
> + if (can_fallback)
> + return acpi_get_gpiod_by_index(adev, NULL, idx, info);
>
> - return acpi_get_gpiod_by_index(adev, NULL, idx, info);
> + return ERR_PTR(-ENOENT);
> }
>
> struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
>
>
> As a side effect it will make the comment better to understand.
>
> With above suggestion applied, feel free to add mine
> Reviewed-by: Andy Shevchenko <[email protected]>
>
> You might need to rephrase the commit message to say that
>
> "We also move the check in additional to the moving the function
> call
> outside of __acpi_find_gpio()."
>
> or something similar, up to you.
>
Thanks for the feedback, I sent another patch with the suggestions above
applied:
https://lore.kernel.org/all/[email protected]/T/#u
Best regards,
Laura Nao