diff options
Diffstat (limited to 'drivers/hwmon/hp_accel.c')
-rw-r--r-- | drivers/hwmon/hp_accel.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/hwmon/hp_accel.c b/drivers/hwmon/hp_accel.c index abca7e9f953b..6679854c85b0 100644 --- a/drivers/hwmon/hp_accel.c +++ b/drivers/hwmon/hp_accel.c | |||
@@ -27,9 +27,6 @@ | |||
27 | #include <linux/types.h> | 27 | #include <linux/types.h> |
28 | #include <linux/platform_device.h> | 28 | #include <linux/platform_device.h> |
29 | #include <linux/interrupt.h> | 29 | #include <linux/interrupt.h> |
30 | #include <linux/input.h> | ||
31 | #include <linux/kthread.h> | ||
32 | #include <linux/semaphore.h> | ||
33 | #include <linux/delay.h> | 30 | #include <linux/delay.h> |
34 | #include <linux/wait.h> | 31 | #include <linux/wait.h> |
35 | #include <linux/poll.h> | 32 | #include <linux/poll.h> |
@@ -161,6 +158,7 @@ static struct axis_conversion lis3lv02d_axis_normal = {1, 2, 3}; | |||
161 | static struct axis_conversion lis3lv02d_axis_y_inverted = {1, -2, 3}; | 158 | static struct axis_conversion lis3lv02d_axis_y_inverted = {1, -2, 3}; |
162 | static struct axis_conversion lis3lv02d_axis_x_inverted = {-1, 2, 3}; | 159 | static struct axis_conversion lis3lv02d_axis_x_inverted = {-1, 2, 3}; |
163 | static struct axis_conversion lis3lv02d_axis_z_inverted = {1, 2, -3}; | 160 | static struct axis_conversion lis3lv02d_axis_z_inverted = {1, 2, -3}; |
161 | static struct axis_conversion lis3lv02d_axis_xy_swap = {2, 1, 3}; | ||
164 | static struct axis_conversion lis3lv02d_axis_xy_rotated_left = {-2, 1, 3}; | 162 | static struct axis_conversion lis3lv02d_axis_xy_rotated_left = {-2, 1, 3}; |
165 | static struct axis_conversion lis3lv02d_axis_xy_rotated_left_usd = {-2, 1, -3}; | 163 | static struct axis_conversion lis3lv02d_axis_xy_rotated_left_usd = {-2, 1, -3}; |
166 | static struct axis_conversion lis3lv02d_axis_xy_swap_inverted = {-2, -1, 3}; | 164 | static struct axis_conversion lis3lv02d_axis_xy_swap_inverted = {-2, -1, 3}; |
@@ -194,13 +192,16 @@ static struct dmi_system_id lis3lv02d_dmi_ids[] = { | |||
194 | AXIS_DMI_MATCH("NX9420", "HP Compaq nx9420", x_inverted), | 192 | AXIS_DMI_MATCH("NX9420", "HP Compaq nx9420", x_inverted), |
195 | AXIS_DMI_MATCH("NW9440", "HP Compaq nw9440", x_inverted), | 193 | AXIS_DMI_MATCH("NW9440", "HP Compaq nw9440", x_inverted), |
196 | AXIS_DMI_MATCH("NC2510", "HP Compaq 2510", y_inverted), | 194 | AXIS_DMI_MATCH("NC2510", "HP Compaq 2510", y_inverted), |
195 | AXIS_DMI_MATCH("NC2710", "HP Compaq 2710", xy_swap), | ||
197 | AXIS_DMI_MATCH("NC8510", "HP Compaq 8510", xy_swap_inverted), | 196 | AXIS_DMI_MATCH("NC8510", "HP Compaq 8510", xy_swap_inverted), |
198 | AXIS_DMI_MATCH("HP2133", "HP 2133", xy_rotated_left), | 197 | AXIS_DMI_MATCH("HP2133", "HP 2133", xy_rotated_left), |
199 | AXIS_DMI_MATCH("HP2140", "HP 2140", xy_swap_inverted), | 198 | AXIS_DMI_MATCH("HP2140", "HP 2140", xy_swap_inverted), |
200 | AXIS_DMI_MATCH("NC653x", "HP Compaq 653", xy_rotated_left_usd), | 199 | AXIS_DMI_MATCH("NC653x", "HP Compaq 653", xy_rotated_left_usd), |
201 | AXIS_DMI_MATCH("NC673x", "HP Compaq 673", xy_rotated_left_usd), | 200 | AXIS_DMI_MATCH("NC673x", "HP Compaq 673", xy_rotated_left_usd), |
202 | AXIS_DMI_MATCH("NC651xx", "HP Compaq 651", xy_rotated_right), | 201 | AXIS_DMI_MATCH("NC651xx", "HP Compaq 651", xy_rotated_right), |
203 | AXIS_DMI_MATCH("NC671xx", "HP Compaq 671", xy_swap_yz_inverted), | 202 | AXIS_DMI_MATCH("NC6710x", "HP Compaq 6710", xy_swap_yz_inverted), |
203 | AXIS_DMI_MATCH("NC6715x", "HP Compaq 6715", y_inverted), | ||
204 | AXIS_DMI_MATCH("NC693xx", "HP EliteBook 693", xy_rotated_right), | ||
204 | /* Intel-based HP Pavilion dv5 */ | 205 | /* Intel-based HP Pavilion dv5 */ |
205 | AXIS_DMI_MATCH2("HPDV5_I", | 206 | AXIS_DMI_MATCH2("HPDV5_I", |
206 | PRODUCT_NAME, "HP Pavilion dv5", | 207 | PRODUCT_NAME, "HP Pavilion dv5", |
@@ -216,7 +217,6 @@ static struct dmi_system_id lis3lv02d_dmi_ids[] = { | |||
216 | { NULL, } | 217 | { NULL, } |
217 | /* Laptop models without axis info (yet): | 218 | /* Laptop models without axis info (yet): |
218 | * "NC6910" "HP Compaq 6910" | 219 | * "NC6910" "HP Compaq 6910" |
219 | * HP Compaq 8710x Notebook PC / Mobile Workstation | ||
220 | * "NC2400" "HP Compaq nc2400" | 220 | * "NC2400" "HP Compaq nc2400" |
221 | * "NX74x0" "HP Compaq nx74" | 221 | * "NX74x0" "HP Compaq nx74" |
222 | * "NX6325" "HP Compaq nx6325" | 222 | * "NX6325" "HP Compaq nx6325" |
@@ -324,7 +324,7 @@ static int lis3lv02d_remove(struct acpi_device *device, int type) | |||
324 | flush_work(&hpled_led.work); | 324 | flush_work(&hpled_led.work); |
325 | led_classdev_unregister(&hpled_led.led_classdev); | 325 | led_classdev_unregister(&hpled_led.led_classdev); |
326 | 326 | ||
327 | return lis3lv02d_remove_fs(); | 327 | return lis3lv02d_remove_fs(&lis3_dev); |
328 | } | 328 | } |
329 | 329 | ||
330 | 330 | ||
@@ -338,13 +338,7 @@ static int lis3lv02d_suspend(struct acpi_device *device, pm_message_t state) | |||
338 | 338 | ||
339 | static int lis3lv02d_resume(struct acpi_device *device) | 339 | static int lis3lv02d_resume(struct acpi_device *device) |
340 | { | 340 | { |
341 | /* put back the device in the right state (ACPI might turn it on) */ | 341 | lis3lv02d_poweron(&lis3_dev); |
342 | mutex_lock(&lis3_dev.lock); | ||
343 | if (lis3_dev.usage > 0) | ||
344 | lis3lv02d_poweron(&lis3_dev); | ||
345 | else | ||
346 | lis3lv02d_poweroff(&lis3_dev); | ||
347 | mutex_unlock(&lis3_dev.lock); | ||
348 | return 0; | 342 | return 0; |
349 | } | 343 | } |
350 | #else | 344 | #else |