Unverified Commit 6718d42b authored by Hans de Goede's avatar Hans de Goede Committed by Ilpo Järvinen
Browse files

platform/x86: int3472: Fix skl_int3472_handle_gpio_resources() return value



The INT3472 code never wants a copy of the ACPI resource to be added
to the list-head passed to acpi_dev_get_resources().

Make skl_int3472_handle_gpio_resources() always return -errno or 1.

Also update the inaccurate comment about the return value.
skl_int3472_handle_gpio_resources() was already returning 1 in the case
of not a GPIO resource or invalid _DSM return and not -EINVAL / -ENODEV
as the comment claimed.

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20241209220522.25288-3-hdegoede@redhat.com


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 1dd0cb9c
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -178,11 +178,11 @@ static void int3472_get_func_and_polarity(u8 type, const char **func, u32 *polar
 * to create clocks and regulators via the usual frameworks.
 *
 * Return:
 * * 1		- To continue the loop
 * * 0		- When all resources found are handled properly.
 * * -EINVAL	- If the resource is not a GPIO IO resource
 * * -ENODEV	- If the resource has no corresponding _DSM entry
 * * -Other	- Errors propagated from one of the sub-functions.
 * * 1		- Continue the loop without adding a copy of the resource to
 * *		  the list passed to acpi_dev_get_resources()
 * * 0		- Continue the loop after adding a copy of the resource to
 * *		  the list passed to acpi_dev_get_resources()
 * * -errno	- Error, break loop
 */
static int skl_int3472_handle_gpio_resources(struct acpi_resource *ares,
					     void *data)
@@ -289,7 +289,8 @@ static int skl_int3472_handle_gpio_resources(struct acpi_resource *ares,
	if (ret < 0)
		return dev_err_probe(int3472->dev, ret, err_msg);

	return ret;
	/* Tell acpi_dev_get_resources() to not make a copy of the resource */
	return 1;
}

static int skl_int3472_parse_crs(struct int3472_discrete_device *int3472)