diff options
author | Patrick Mochel <mochel@linux.intel.com> | 2006-12-07 07:56:27 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-12-15 23:38:34 -0500 |
commit | 5d9464a46918ced087c351a10f38cee95725f85b (patch) | |
tree | acb45582f9c43a867a60cc5fa8ae2c6197dc1d2d /include/acpi | |
parent | d43ec68e9837dfa6618ab473622683fdbf6e68a9 (diff) |
ACPI: add ACPI bus_type for driver model
Add ACPI bus_type for Linux driver model.
1. .shutdown method is added into acpi_driver.ops
needed by bus_type operations.
2. remove useless parameter 'int state' in .resume method.
3. change parameter 'int state'
to 'pm_message_t state' in .suspend method.
Note: The new .uevent method mark ACPI drivers by PNPID instead of by name.
Udev script needs to look for "HWID=" or "COMPTID=" to load
ACPI drivers as a result.
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acpi_bus.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index a09538eb61e7..d7dd52615456 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -92,13 +92,14 @@ typedef int (*acpi_op_remove) (struct acpi_device * device, int type); | |||
92 | typedef int (*acpi_op_lock) (struct acpi_device * device, int type); | 92 | typedef int (*acpi_op_lock) (struct acpi_device * device, int type); |
93 | typedef int (*acpi_op_start) (struct acpi_device * device); | 93 | typedef int (*acpi_op_start) (struct acpi_device * device); |
94 | typedef int (*acpi_op_stop) (struct acpi_device * device, int type); | 94 | typedef int (*acpi_op_stop) (struct acpi_device * device, int type); |
95 | typedef int (*acpi_op_suspend) (struct acpi_device * device, int state); | 95 | typedef int (*acpi_op_suspend) (struct acpi_device * device, pm_message_t state); |
96 | typedef int (*acpi_op_resume) (struct acpi_device * device, int state); | 96 | typedef int (*acpi_op_resume) (struct acpi_device * device); |
97 | typedef int (*acpi_op_scan) (struct acpi_device * device); | 97 | typedef int (*acpi_op_scan) (struct acpi_device * device); |
98 | typedef int (*acpi_op_bind) (struct acpi_device * device); | 98 | typedef int (*acpi_op_bind) (struct acpi_device * device); |
99 | typedef int (*acpi_op_unbind) (struct acpi_device * device); | 99 | typedef int (*acpi_op_unbind) (struct acpi_device * device); |
100 | typedef int (*acpi_op_match) (struct acpi_device * device, | 100 | typedef int (*acpi_op_match) (struct acpi_device * device, |
101 | struct acpi_driver * driver); | 101 | struct acpi_driver * driver); |
102 | typedef int (*acpi_op_shutdown) (struct acpi_device * device); | ||
102 | 103 | ||
103 | struct acpi_bus_ops { | 104 | struct acpi_bus_ops { |
104 | u32 acpi_op_add:1; | 105 | u32 acpi_op_add:1; |
@@ -112,7 +113,8 @@ struct acpi_bus_ops { | |||
112 | u32 acpi_op_bind:1; | 113 | u32 acpi_op_bind:1; |
113 | u32 acpi_op_unbind:1; | 114 | u32 acpi_op_unbind:1; |
114 | u32 acpi_op_match:1; | 115 | u32 acpi_op_match:1; |
115 | u32 reserved:21; | 116 | u32 acpi_op_shutdown:1; |
117 | u32 reserved:20; | ||
116 | }; | 118 | }; |
117 | 119 | ||
118 | struct acpi_device_ops { | 120 | struct acpi_device_ops { |
@@ -127,6 +129,7 @@ struct acpi_device_ops { | |||
127 | acpi_op_bind bind; | 129 | acpi_op_bind bind; |
128 | acpi_op_unbind unbind; | 130 | acpi_op_unbind unbind; |
129 | acpi_op_match match; | 131 | acpi_op_match match; |
132 | acpi_op_shutdown shutdown; | ||
130 | }; | 133 | }; |
131 | 134 | ||
132 | struct acpi_driver { | 135 | struct acpi_driver { |