@@ -148,7 +148,7 @@ static int tca6416_keys_open(struct input_dev *dev)
148
148
if (chip -> use_polling )
149
149
schedule_delayed_work (& chip -> dwork , msecs_to_jiffies (100 ));
150
150
else
151
- enable_irq (chip -> irqnum );
151
+ enable_irq (chip -> client -> irq );
152
152
153
153
return 0 ;
154
154
}
@@ -160,7 +160,7 @@ static void tca6416_keys_close(struct input_dev *dev)
160
160
if (chip -> use_polling )
161
161
cancel_delayed_work_sync (& chip -> dwork );
162
162
else
163
- disable_irq (chip -> irqnum );
163
+ disable_irq (chip -> client -> irq );
164
164
}
165
165
166
166
static int tca6416_setup_registers (struct tca6416_keypad_chip * chip )
@@ -266,20 +266,15 @@ static int tca6416_keypad_probe(struct i2c_client *client)
266
266
goto fail1 ;
267
267
268
268
if (!chip -> use_polling ) {
269
- if (pdata -> irq_is_gpio )
270
- chip -> irqnum = gpio_to_irq (client -> irq );
271
- else
272
- chip -> irqnum = client -> irq ;
273
-
274
- error = request_threaded_irq (chip -> irqnum , NULL ,
269
+ error = request_threaded_irq (client -> irq , NULL ,
275
270
tca6416_keys_isr ,
276
271
IRQF_TRIGGER_FALLING |
277
272
IRQF_ONESHOT | IRQF_NO_AUTOEN ,
278
273
"tca6416-keypad" , chip );
279
274
if (error ) {
280
275
dev_dbg (& client -> dev ,
281
276
"Unable to claim irq %d; error %d\n" ,
282
- chip -> irqnum , error );
277
+ client -> irq , error );
283
278
goto fail1 ;
284
279
}
285
280
}
@@ -298,8 +293,8 @@ static int tca6416_keypad_probe(struct i2c_client *client)
298
293
299
294
fail2 :
300
295
if (!chip -> use_polling ) {
301
- free_irq (chip -> irqnum , chip );
302
- enable_irq (chip -> irqnum );
296
+ free_irq (client -> irq , chip );
297
+ enable_irq (client -> irq );
303
298
}
304
299
fail1 :
305
300
input_free_device (input );
@@ -312,8 +307,8 @@ static void tca6416_keypad_remove(struct i2c_client *client)
312
307
struct tca6416_keypad_chip * chip = i2c_get_clientdata (client );
313
308
314
309
if (!chip -> use_polling ) {
315
- free_irq (chip -> irqnum , chip );
316
- enable_irq (chip -> irqnum );
310
+ free_irq (client -> irq , chip );
311
+ enable_irq (client -> irq );
317
312
}
318
313
319
314
input_unregister_device (chip -> input );
@@ -323,21 +318,19 @@ static void tca6416_keypad_remove(struct i2c_client *client)
323
318
static int tca6416_keypad_suspend (struct device * dev )
324
319
{
325
320
struct i2c_client * client = to_i2c_client (dev );
326
- struct tca6416_keypad_chip * chip = i2c_get_clientdata (client );
327
321
328
322
if (device_may_wakeup (dev ))
329
- enable_irq_wake (chip -> irqnum );
323
+ enable_irq_wake (client -> irq );
330
324
331
325
return 0 ;
332
326
}
333
327
334
328
static int tca6416_keypad_resume (struct device * dev )
335
329
{
336
330
struct i2c_client * client = to_i2c_client (dev );
337
- struct tca6416_keypad_chip * chip = i2c_get_clientdata (client );
338
331
339
332
if (device_may_wakeup (dev ))
340
- disable_irq_wake (chip -> irqnum );
333
+ disable_irq_wake (client -> irq );
341
334
342
335
return 0 ;
343
336
}
0 commit comments