[to-be-updated] acpi-reintroduce-acpi_device_ops-shutdown-method.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     acpi: reintroduce acpi_device_ops .shutdown method
has been removed from the -mm tree.  Its filename was
     acpi-reintroduce-acpi_device_ops-shutdown-method.patch

This patch was dropped because an updated version will be merged

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: acpi: reintroduce acpi_device_ops .shutdown method
From: David Hardeman <david@xxxxxxxxxxx>

Reintroduce the .shutdown method which is used by the winbond-cir driver. 

I didn't want to call wbcir_shutdown from wbcir_remove since wbcir_remove
is called on rmmod and the wbcir_shutdown method programs the chip so that
wake-on-a-specific-ir-command is enabled (and I imagine that people would
expect rmmod to disable the hardware completely).

I think this single user does have a real dependency because of its
wake-from-poweroff and wake-from-suspend capability.

Signed-off-by: David Hardeman <david@xxxxxxxxxxx>
Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Cc: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 drivers/acpi/scan.c     |   12 ++++++++++++
 include/acpi/acpi_bus.h |    2 ++
 2 files changed, 14 insertions(+)

diff -puN drivers/acpi/scan.c~acpi-reintroduce-acpi_device_ops-shutdown-method drivers/acpi/scan.c
--- a/drivers/acpi/scan.c~acpi-reintroduce-acpi_device_ops-shutdown-method
+++ a/drivers/acpi/scan.c
@@ -427,10 +427,22 @@ static int acpi_device_remove(struct dev
 	return 0;
 }
 
+static void acpi_device_shutdown(struct device *dev)
+{
+	struct acpi_device *acpi_dev = to_acpi_device(dev);
+	struct acpi_driver *acpi_drv = acpi_dev->driver;
+
+	if (acpi_drv && acpi_drv->ops.shutdown)
+		acpi_drv->ops.shutdown(acpi_dev);
+
+	return ;
+}
+
 struct bus_type acpi_bus_type = {
 	.name		= "acpi",
 	.suspend	= acpi_device_suspend,
 	.resume		= acpi_device_resume,
+	.shutdown	= acpi_device_shutdown,
 	.match		= acpi_bus_match,
 	.probe		= acpi_device_probe,
 	.remove		= acpi_device_remove,
diff -puN include/acpi/acpi_bus.h~acpi-reintroduce-acpi_device_ops-shutdown-method include/acpi/acpi_bus.h
--- a/include/acpi/acpi_bus.h~acpi-reintroduce-acpi_device_ops-shutdown-method
+++ a/include/acpi/acpi_bus.h
@@ -92,6 +92,7 @@ typedef int (*acpi_op_resume) (struct ac
 typedef int (*acpi_op_bind) (struct acpi_device * device);
 typedef int (*acpi_op_unbind) (struct acpi_device * device);
 typedef void (*acpi_op_notify) (struct acpi_device * device, u32 event);
+typedef int (*acpi_op_shutdown) (struct acpi_device *device);
 
 struct acpi_bus_ops {
 	u32 acpi_op_add:1;
@@ -107,6 +108,7 @@ struct acpi_device_ops {
 	acpi_op_bind bind;
 	acpi_op_unbind unbind;
 	acpi_op_notify notify;
+	acpi_op_shutdown shutdown;
 };
 
 #define ACPI_DRIVER_ALL_NOTIFY_EVENTS	0x1	/* system AND device events */
_

Patches currently in -mm which might be from david@xxxxxxxxxxx are

acpi-reintroduce-acpi_device_ops-shutdown-method.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux