summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/dock.c
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@huawei.com>2013-06-28 12:24:35 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-07-14 19:33:09 -0400
commited633e709fa633c6bc24f4d6ecb55ad0c14fd335 (patch)
treecc22a9d198bf34b80482fbcca8ab894738dff9eb /drivers/acpi/dock.c
parentf22ff5523af8b365167cb79189f8b91470d57c8c (diff)
ACPI / dock: drop redundant spin lock in dock station object
All dock station objects are created during initialization and don't change at runtime, so drop the redundant spin lock from struct dock_station. [rjw: Changelog] Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/dock.c')
-rw-r--r--drivers/acpi/dock.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
index c36de862fd50..750f958ef0bf 100644
--- a/drivers/acpi/dock.c
+++ b/drivers/acpi/dock.c
@@ -63,7 +63,6 @@ struct dock_station {
63 acpi_handle handle; 63 acpi_handle handle;
64 unsigned long last_dock_time; 64 unsigned long last_dock_time;
65 u32 flags; 65 u32 flags;
66 spinlock_t dd_lock;
67 struct mutex hp_lock; 66 struct mutex hp_lock;
68 struct list_head dependent_devices; 67 struct list_head dependent_devices;
69 68
@@ -112,10 +111,7 @@ add_dock_dependent_device(struct dock_station *ds, acpi_handle handle)
112 111
113 dd->handle = handle; 112 dd->handle = handle;
114 INIT_LIST_HEAD(&dd->list); 113 INIT_LIST_HEAD(&dd->list);
115
116 spin_lock(&ds->dd_lock);
117 list_add_tail(&dd->list, &ds->dependent_devices); 114 list_add_tail(&dd->list, &ds->dependent_devices);
118 spin_unlock(&ds->dd_lock);
119 115
120 return 0; 116 return 0;
121} 117}
@@ -220,14 +216,10 @@ find_dock_dependent_device(struct dock_station *ds, acpi_handle handle)
220{ 216{
221 struct dock_dependent_device *dd; 217 struct dock_dependent_device *dd;
222 218
223 spin_lock(&ds->dd_lock); 219 list_for_each_entry(dd, &ds->dependent_devices, list)
224 list_for_each_entry(dd, &ds->dependent_devices, list) { 220 if (handle == dd->handle)
225 if (handle == dd->handle) {
226 spin_unlock(&ds->dd_lock);
227 return dd; 221 return dd;
228 } 222
229 }
230 spin_unlock(&ds->dd_lock);
231 return NULL; 223 return NULL;
232} 224}
233 225
@@ -1005,7 +997,6 @@ static int __init dock_add(acpi_handle handle)
1005 dock_station->last_dock_time = jiffies - HZ; 997 dock_station->last_dock_time = jiffies - HZ;
1006 998
1007 mutex_init(&dock_station->hp_lock); 999 mutex_init(&dock_station->hp_lock);
1008 spin_lock_init(&dock_station->dd_lock);
1009 INIT_LIST_HEAD(&dock_station->sibling); 1000 INIT_LIST_HEAD(&dock_station->sibling);
1010 INIT_LIST_HEAD(&dock_station->dependent_devices); 1001 INIT_LIST_HEAD(&dock_station->dependent_devices);
1011 1002