Commit 5c1c78e0 authored by Armin Wolf's avatar Armin Wolf Committed by Guenter Roeck
Browse files

hwmon: (sch56xx-common) Simplify sch56xx_device_add



Use platform_device_register_simple() instead of
manually calling platform_device_alloc()/platform_device_add().

Signed-off-by: default avatarArmin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20210508131457.12780-5-W_Armin@gmx.de


Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 989c9c67
Loading
Loading
Loading
Loading
+4 −23
Original line number Diff line number Diff line
@@ -504,37 +504,18 @@ static int __init sch56xx_device_add(int address, const char *name)
	struct resource res = {
		.start	= address,
		.end	= address + REGION_LENGTH - 1,
		.name	= name,
		.flags	= IORESOURCE_IO,
	};
	int err;

	sch56xx_pdev = platform_device_alloc(name, address);
	if (!sch56xx_pdev)
		return -ENOMEM;

	res.name = sch56xx_pdev->name;
	err = acpi_check_resource_conflict(&res);
	if (err)
		goto exit_device_put;

	err = platform_device_add_resources(sch56xx_pdev, &res, 1);
	if (err) {
		pr_err("Device resource addition failed\n");
		goto exit_device_put;
	}

	err = platform_device_add(sch56xx_pdev);
	if (err) {
		pr_err("Device addition failed\n");
		goto exit_device_put;
	}

	return 0;
		return err;

exit_device_put:
	platform_device_put(sch56xx_pdev);
	sch56xx_pdev = platform_device_register_simple(name, -1, &res, 1);

	return err;
	return PTR_ERR_OR_ZERO(sch56xx_pdev);
}

static int __init sch56xx_init(void)