diff options
| author | Dmitry Torokhov <dtor@insightbb.com> | 2006-11-02 23:27:30 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dtor@insightbb.com> | 2006-11-02 23:27:30 -0500 |
| commit | b187dd7b5231bb359f587bf4d276ffd467ebc884 (patch) | |
| tree | b296afbaa817b0a5a6c594aa6353e2db57fd3ca0 /drivers/input/gameport | |
| parent | 1ea2a69d54f40ecebf594ce5abfa02d53682df8a (diff) | |
Input: gameport - rearrange gameport_bus initialization
Initialize gameport_bus structure at compile time instead of at runtime
in gameport_init().
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/gameport')
| -rw-r--r-- | drivers/input/gameport/gameport.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c index a0af97efe6ac..bba5894fcecd 100644 --- a/drivers/input/gameport/gameport.c +++ b/drivers/input/gameport/gameport.c | |||
| @@ -730,12 +730,6 @@ static int gameport_driver_remove(struct device *dev) | |||
| 730 | return 0; | 730 | return 0; |
| 731 | } | 731 | } |
| 732 | 732 | ||
| 733 | static struct bus_type gameport_bus = { | ||
| 734 | .name = "gameport", | ||
| 735 | .probe = gameport_driver_probe, | ||
| 736 | .remove = gameport_driver_remove, | ||
| 737 | }; | ||
| 738 | |||
| 739 | static void gameport_add_driver(struct gameport_driver *drv) | 733 | static void gameport_add_driver(struct gameport_driver *drv) |
| 740 | { | 734 | { |
| 741 | int error; | 735 | int error; |
| @@ -781,6 +775,15 @@ static int gameport_bus_match(struct device *dev, struct device_driver *drv) | |||
| 781 | return !gameport_drv->ignore; | 775 | return !gameport_drv->ignore; |
| 782 | } | 776 | } |
| 783 | 777 | ||
| 778 | static struct bus_type gameport_bus = { | ||
| 779 | .name = "gameport", | ||
| 780 | .dev_attrs = gameport_device_attrs, | ||
| 781 | .drv_attrs = gameport_driver_attrs, | ||
| 782 | .match = gameport_bus_match, | ||
| 783 | .probe = gameport_driver_probe, | ||
| 784 | .remove = gameport_driver_remove, | ||
| 785 | }; | ||
| 786 | |||
| 784 | static void gameport_set_drv(struct gameport *gameport, struct gameport_driver *drv) | 787 | static void gameport_set_drv(struct gameport *gameport, struct gameport_driver *drv) |
| 785 | { | 788 | { |
| 786 | mutex_lock(&gameport->drv_mutex); | 789 | mutex_lock(&gameport->drv_mutex); |
| @@ -790,7 +793,6 @@ static void gameport_set_drv(struct gameport *gameport, struct gameport_driver * | |||
| 790 | 793 | ||
| 791 | int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mode) | 794 | int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mode) |
| 792 | { | 795 | { |
| 793 | |||
| 794 | if (gameport->open) { | 796 | if (gameport->open) { |
| 795 | if (gameport->open(gameport, mode)) { | 797 | if (gameport->open(gameport, mode)) { |
| 796 | return -1; | 798 | return -1; |
| @@ -818,9 +820,6 @@ static int __init gameport_init(void) | |||
| 818 | { | 820 | { |
| 819 | int error; | 821 | int error; |
| 820 | 822 | ||
| 821 | gameport_bus.dev_attrs = gameport_device_attrs; | ||
| 822 | gameport_bus.drv_attrs = gameport_driver_attrs; | ||
| 823 | gameport_bus.match = gameport_bus_match; | ||
| 824 | error = bus_register(&gameport_bus); | 823 | error = bus_register(&gameport_bus); |
| 825 | if (error) { | 824 | if (error) { |
| 826 | printk(KERN_ERR "gameport: failed to register gameport bus, error: %d\n", error); | 825 | printk(KERN_ERR "gameport: failed to register gameport bus, error: %d\n", error); |
