diff options
| author | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-01-29 21:51:21 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-01-29 21:51:21 -0500 |
| commit | 0399addd71565b27eae27821fa04dad44f8644fe (patch) | |
| tree | 893ed1f7ff62692175bbd922e9bcf6eb56e92876 | |
| parent | 3575c3410071dc778d2d9c6002493a5dce73ec0b (diff) | |
Input: grip - handle errors from input_register_device()
Also set .owner in driver structure so we'll have a link between
module and driver in sysfs.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| -rw-r--r-- | drivers/input/joystick/grip.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/input/joystick/grip.c b/drivers/input/joystick/grip.c index 330c6717c149..20cb98ac2d79 100644 --- a/drivers/input/joystick/grip.c +++ b/drivers/input/joystick/grip.c | |||
| @@ -384,12 +384,15 @@ static int grip_connect(struct gameport *gameport, struct gameport_driver *drv) | |||
| 384 | if (t > 0) | 384 | if (t > 0) |
| 385 | set_bit(t, input_dev->keybit); | 385 | set_bit(t, input_dev->keybit); |
| 386 | 386 | ||
| 387 | input_register_device(grip->dev[i]); | 387 | err = input_register_device(grip->dev[i]); |
| 388 | if (err) | ||
| 389 | goto fail4; | ||
| 388 | } | 390 | } |
| 389 | 391 | ||
| 390 | return 0; | 392 | return 0; |
| 391 | 393 | ||
| 392 | fail3: for (i = 0; i < 2; i++) | 394 | fail4: input_free_device(grip->dev[i]); |
| 395 | fail3: while (--i >= 0) | ||
| 393 | if (grip->dev[i]) | 396 | if (grip->dev[i]) |
| 394 | input_unregister_device(grip->dev[i]); | 397 | input_unregister_device(grip->dev[i]); |
| 395 | fail2: gameport_close(gameport); | 398 | fail2: gameport_close(gameport); |
| @@ -414,6 +417,7 @@ static void grip_disconnect(struct gameport *gameport) | |||
| 414 | static struct gameport_driver grip_drv = { | 417 | static struct gameport_driver grip_drv = { |
| 415 | .driver = { | 418 | .driver = { |
| 416 | .name = "grip", | 419 | .name = "grip", |
| 420 | .owner = THIS_MODULE, | ||
| 417 | }, | 421 | }, |
| 418 | .description = DRIVER_DESC, | 422 | .description = DRIVER_DESC, |
| 419 | .connect = grip_connect, | 423 | .connect = grip_connect, |
