aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorTang Chen <tangchen@cn.fujitsu.com>2012-10-26 07:38:16 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2012-11-14 18:16:01 -0500
commit594df89a59cf2a2afc22fe27f508dd864d1edb5f (patch)
treea502015feea0df21b4f899a8c7ed84f8ea4f648d /drivers/acpi
parent0a290ac4252c85205cb924ff7f6da10cfd20fb01 (diff)
ACPI: Fix a hard coding style when determining if a device is a container, v3
"ACPI0004","PNP0A05" and "PNP0A06" are all defined in array container_device_ids[], so use it, but not the hard coding style. Also, introduce a new API is_container_device() to determine if a device is a container device. Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> Reviewed-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/container.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/acpi/container.c b/drivers/acpi/container.c
index 1f9f7d7d7bc..69e2d6be910 100644
--- a/drivers/acpi/container.c
+++ b/drivers/acpi/container.c
@@ -92,6 +92,19 @@ static int is_device_present(acpi_handle handle)
92 return ((sta & ACPI_STA_DEVICE_PRESENT) == ACPI_STA_DEVICE_PRESENT); 92 return ((sta & ACPI_STA_DEVICE_PRESENT) == ACPI_STA_DEVICE_PRESENT);
93} 93}
94 94
95static bool is_container_device(const char *hid)
96{
97 const struct acpi_device_id *container_id;
98
99 for (container_id = container_device_ids;
100 container_id->id[0]; container_id++) {
101 if (!strcmp((char *)container_id->id, hid))
102 return true;
103 }
104
105 return false;
106}
107
95/*******************************************************************/ 108/*******************************************************************/
96static int acpi_container_add(struct acpi_device *device) 109static int acpi_container_add(struct acpi_device *device)
97{ 110{
@@ -232,10 +245,8 @@ container_walk_namespace_cb(acpi_handle handle,
232 goto end; 245 goto end;
233 } 246 }
234 247
235 if (strcmp(hid, "ACPI0004") && strcmp(hid, "PNP0A05") && 248 if (!is_container_device(hid))
236 strcmp(hid, "PNP0A06")) {
237 goto end; 249 goto end;
238 }
239 250
240 switch (*action) { 251 switch (*action) {
241 case INSTALL_NOTIFY_HANDLER: 252 case INSTALL_NOTIFY_HANDLER: