Unverified Commit 32156fd2 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Ilpo Järvinen
Browse files

platform/x86: toshiba_haps: Register ACPI notify handler directly



To facilitate subsequent conversion of the driver to a platform one,
make it install an ACPI notify handler directly instead of using
a .notify() callback in struct acpi_driver.

No intentional functional impact.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/10834562.nUPlyArG6x@rafael.j.wysocki


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 553b2ac5
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -129,8 +129,10 @@ static const struct attribute_group haps_attr_group = {
/*
 * ACPI stuff
 */
static void toshiba_haps_notify(struct acpi_device *device, u32 event)
static void toshiba_haps_notify(acpi_handle handle, u32 event, void *data)
{
	struct acpi_device *device = data;

	pr_debug("Received event: 0x%x\n", event);

	acpi_bus_generate_netlink_event(device->pnp.device_class,
@@ -140,6 +142,9 @@ static void toshiba_haps_notify(struct acpi_device *device, u32 event)

static void toshiba_haps_remove(struct acpi_device *device)
{
	acpi_dev_remove_notify_handler(device, ACPI_DEVICE_NOTIFY,
				       toshiba_haps_notify);

	sysfs_remove_group(&device->dev.kobj, &haps_attr_group);

	if (toshiba_haps)
@@ -201,9 +206,18 @@ static int toshiba_haps_add(struct acpi_device *acpi_dev)
	if (ret)
		return ret;

	ret = acpi_dev_install_notify_handler(acpi_dev, ACPI_DEVICE_NOTIFY,
					      toshiba_haps_notify, acpi_dev);
	if (ret)
		goto err;

	toshiba_haps = haps;

	return 0;

err:
	sysfs_remove_group(&acpi_dev->dev.kobj, &haps_attr_group);
	return ret;
}

#ifdef CONFIG_PM_SLEEP
@@ -256,7 +270,6 @@ static struct acpi_driver toshiba_haps_driver = {
	.ops = {
		.add =		toshiba_haps_add,
		.remove =	toshiba_haps_remove,
		.notify =	toshiba_haps_notify,
	},
	.drv.pm = &toshiba_haps_pm,
};