Commit 5791c264 authored by Hans de Goede's avatar Hans de Goede
Browse files

platform/x86: i2c-multi-instantiate: Use the new i2c_acpi_client_count() helper



Use the new i2c_acpi_client_count() helper, this
results in a nice cleanup.

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210803160044.158802-4-hdegoede@redhat.com
parent f13d483e
Loading
Loading
Loading
Loading
+1 −26
Original line number Diff line number Diff line
@@ -32,31 +32,6 @@ struct i2c_multi_inst_data {
	struct i2c_client *clients[];
};

static int i2c_multi_inst_count(struct acpi_resource *ares, void *data)
{
	struct acpi_resource_i2c_serialbus *sb;
	int *count = data;

	if (i2c_acpi_get_i2c_resource(ares, &sb))
		*count = *count + 1;

	return 1;
}

static int i2c_multi_inst_count_resources(struct acpi_device *adev)
{
	LIST_HEAD(r);
	int count = 0;
	int ret;

	ret = acpi_dev_get_resources(adev, &r, i2c_multi_inst_count, &count);
	if (ret < 0)
		return ret;

	acpi_dev_free_resource_list(&r);
	return count;
}

static int i2c_multi_inst_probe(struct platform_device *pdev)
{
	struct i2c_multi_inst_data *multi;
@@ -76,7 +51,7 @@ static int i2c_multi_inst_probe(struct platform_device *pdev)
	adev = ACPI_COMPANION(dev);

	/* Count number of clients to instantiate */
	ret = i2c_multi_inst_count_resources(adev);
	ret = i2c_acpi_client_count(adev);
	if (ret < 0)
		return ret;