diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-12-17 01:04:14 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-12-17 01:04:14 -0500 |
commit | 022573c275500e1a50889949f679d04b5446edf6 (patch) | |
tree | 766ab0e13fc38275466f8544d1bbf4982833cbff /drivers/input/joystick | |
parent | 516d798f656614f59553b1ff3592c2c36102b684 (diff) | |
parent | a455e2985f57e2a71566bb8850094af38b2c932d (diff) |
Merge branch 'next' into for-linus
Prepare first set of updates for 3.8 merge window.
Diffstat (limited to 'drivers/input/joystick')
-rw-r--r-- | drivers/input/joystick/as5011.c | 29 | ||||
-rw-r--r-- | drivers/input/joystick/maplecontrol.c | 6 | ||||
-rw-r--r-- | drivers/input/joystick/walkera0701.c | 7 |
3 files changed, 28 insertions, 14 deletions
diff --git a/drivers/input/joystick/as5011.c b/drivers/input/joystick/as5011.c index c96653b5886..121cd63d333 100644 --- a/drivers/input/joystick/as5011.c +++ b/drivers/input/joystick/as5011.c | |||
@@ -85,7 +85,10 @@ static int as5011_i2c_write(struct i2c_client *client, | |||
85 | { | 85 | { |
86 | uint8_t data[2] = { aregaddr, avalue }; | 86 | uint8_t data[2] = { aregaddr, avalue }; |
87 | struct i2c_msg msg = { | 87 | struct i2c_msg msg = { |
88 | client->addr, I2C_M_IGNORE_NAK, 2, (uint8_t *)data | 88 | .addr = client->addr, |
89 | .flags = I2C_M_IGNORE_NAK, | ||
90 | .len = 2, | ||
91 | .buf = (uint8_t *)data | ||
89 | }; | 92 | }; |
90 | int error; | 93 | int error; |
91 | 94 | ||
@@ -98,8 +101,18 @@ static int as5011_i2c_read(struct i2c_client *client, | |||
98 | { | 101 | { |
99 | uint8_t data[2] = { aregaddr }; | 102 | uint8_t data[2] = { aregaddr }; |
100 | struct i2c_msg msg_set[2] = { | 103 | struct i2c_msg msg_set[2] = { |
101 | { client->addr, I2C_M_REV_DIR_ADDR, 1, (uint8_t *)data }, | 104 | { |
102 | { client->addr, I2C_M_RD | I2C_M_NOSTART, 1, (uint8_t *)data } | 105 | .addr = client->addr, |
106 | .flags = I2C_M_REV_DIR_ADDR, | ||
107 | .len = 1, | ||
108 | .buf = (uint8_t *)data | ||
109 | }, | ||
110 | { | ||
111 | .addr = client->addr, | ||
112 | .flags = I2C_M_RD | I2C_M_NOSTART, | ||
113 | .len = 1, | ||
114 | .buf = (uint8_t *)data | ||
115 | } | ||
103 | }; | 116 | }; |
104 | int error; | 117 | int error; |
105 | 118 | ||
@@ -144,7 +157,7 @@ out: | |||
144 | return IRQ_HANDLED; | 157 | return IRQ_HANDLED; |
145 | } | 158 | } |
146 | 159 | ||
147 | static int __devinit as5011_configure_chip(struct as5011_device *as5011, | 160 | static int as5011_configure_chip(struct as5011_device *as5011, |
148 | const struct as5011_platform_data *plat_dat) | 161 | const struct as5011_platform_data *plat_dat) |
149 | { | 162 | { |
150 | struct i2c_client *client = as5011->i2c_client; | 163 | struct i2c_client *client = as5011->i2c_client; |
@@ -212,8 +225,8 @@ static int __devinit as5011_configure_chip(struct as5011_device *as5011, | |||
212 | return 0; | 225 | return 0; |
213 | } | 226 | } |
214 | 227 | ||
215 | static int __devinit as5011_probe(struct i2c_client *client, | 228 | static int as5011_probe(struct i2c_client *client, |
216 | const struct i2c_device_id *id) | 229 | const struct i2c_device_id *id) |
217 | { | 230 | { |
218 | const struct as5011_platform_data *plat_data; | 231 | const struct as5011_platform_data *plat_data; |
219 | struct as5011_device *as5011; | 232 | struct as5011_device *as5011; |
@@ -328,7 +341,7 @@ err_free_mem: | |||
328 | return error; | 341 | return error; |
329 | } | 342 | } |
330 | 343 | ||
331 | static int __devexit as5011_remove(struct i2c_client *client) | 344 | static int as5011_remove(struct i2c_client *client) |
332 | { | 345 | { |
333 | struct as5011_device *as5011 = i2c_get_clientdata(client); | 346 | struct as5011_device *as5011 = i2c_get_clientdata(client); |
334 | 347 | ||
@@ -353,7 +366,7 @@ static struct i2c_driver as5011_driver = { | |||
353 | .name = "as5011", | 366 | .name = "as5011", |
354 | }, | 367 | }, |
355 | .probe = as5011_probe, | 368 | .probe = as5011_probe, |
356 | .remove = __devexit_p(as5011_remove), | 369 | .remove = as5011_remove, |
357 | .id_table = as5011_id, | 370 | .id_table = as5011_id, |
358 | }; | 371 | }; |
359 | 372 | ||
diff --git a/drivers/input/joystick/maplecontrol.c b/drivers/input/joystick/maplecontrol.c index 77cfde571bd..59c10ec5a2a 100644 --- a/drivers/input/joystick/maplecontrol.c +++ b/drivers/input/joystick/maplecontrol.c | |||
@@ -78,7 +78,7 @@ static void dc_pad_close(struct input_dev *dev) | |||
78 | } | 78 | } |
79 | 79 | ||
80 | /* allow the controller to be used */ | 80 | /* allow the controller to be used */ |
81 | static int __devinit probe_maple_controller(struct device *dev) | 81 | static int probe_maple_controller(struct device *dev) |
82 | { | 82 | { |
83 | static const short btn_bit[32] = { | 83 | static const short btn_bit[32] = { |
84 | BTN_C, BTN_B, BTN_A, BTN_START, -1, -1, -1, -1, | 84 | BTN_C, BTN_B, BTN_A, BTN_START, -1, -1, -1, -1, |
@@ -157,7 +157,7 @@ fail: | |||
157 | return error; | 157 | return error; |
158 | } | 158 | } |
159 | 159 | ||
160 | static int __devexit remove_maple_controller(struct device *dev) | 160 | static int remove_maple_controller(struct device *dev) |
161 | { | 161 | { |
162 | struct maple_device *mdev = to_maple_dev(dev); | 162 | struct maple_device *mdev = to_maple_dev(dev); |
163 | struct dc_pad *pad = maple_get_drvdata(mdev); | 163 | struct dc_pad *pad = maple_get_drvdata(mdev); |
@@ -175,7 +175,7 @@ static struct maple_driver dc_pad_driver = { | |||
175 | .drv = { | 175 | .drv = { |
176 | .name = "Dreamcast_controller", | 176 | .name = "Dreamcast_controller", |
177 | .probe = probe_maple_controller, | 177 | .probe = probe_maple_controller, |
178 | .remove = __devexit_p(remove_maple_controller), | 178 | .remove = remove_maple_controller, |
179 | }, | 179 | }, |
180 | }; | 180 | }; |
181 | 181 | ||
diff --git a/drivers/input/joystick/walkera0701.c b/drivers/input/joystick/walkera0701.c index 4dfa1eed4b7..f8f892b076e 100644 --- a/drivers/input/joystick/walkera0701.c +++ b/drivers/input/joystick/walkera0701.c | |||
@@ -196,6 +196,7 @@ static void walkera0701_close(struct input_dev *dev) | |||
196 | struct walkera_dev *w = input_get_drvdata(dev); | 196 | struct walkera_dev *w = input_get_drvdata(dev); |
197 | 197 | ||
198 | parport_disable_irq(w->parport); | 198 | parport_disable_irq(w->parport); |
199 | hrtimer_cancel(&w->timer); | ||
199 | } | 200 | } |
200 | 201 | ||
201 | static int walkera0701_connect(struct walkera_dev *w, int parport) | 202 | static int walkera0701_connect(struct walkera_dev *w, int parport) |
@@ -224,6 +225,9 @@ static int walkera0701_connect(struct walkera_dev *w, int parport) | |||
224 | if (parport_claim(w->pardevice)) | 225 | if (parport_claim(w->pardevice)) |
225 | goto init_err1; | 226 | goto init_err1; |
226 | 227 | ||
228 | hrtimer_init(&w->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); | ||
229 | w->timer.function = timer_handler; | ||
230 | |||
227 | w->input_dev = input_allocate_device(); | 231 | w->input_dev = input_allocate_device(); |
228 | if (!w->input_dev) | 232 | if (!w->input_dev) |
229 | goto init_err2; | 233 | goto init_err2; |
@@ -254,8 +258,6 @@ static int walkera0701_connect(struct walkera_dev *w, int parport) | |||
254 | if (err) | 258 | if (err) |
255 | goto init_err3; | 259 | goto init_err3; |
256 | 260 | ||
257 | hrtimer_init(&w->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); | ||
258 | w->timer.function = timer_handler; | ||
259 | return 0; | 261 | return 0; |
260 | 262 | ||
261 | init_err3: | 263 | init_err3: |
@@ -271,7 +273,6 @@ static int walkera0701_connect(struct walkera_dev *w, int parport) | |||
271 | 273 | ||
272 | static void walkera0701_disconnect(struct walkera_dev *w) | 274 | static void walkera0701_disconnect(struct walkera_dev *w) |
273 | { | 275 | { |
274 | hrtimer_cancel(&w->timer); | ||
275 | input_unregister_device(w->input_dev); | 276 | input_unregister_device(w->input_dev); |
276 | parport_release(w->pardevice); | 277 | parport_release(w->pardevice); |
277 | parport_unregister_device(w->pardevice); | 278 | parport_unregister_device(w->pardevice); |