diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/parport/daisy.c | 32 | ||||
| -rw-r--r-- | drivers/parport/probe.c | 2 | ||||
| -rw-r--r-- | drivers/parport/share.c | 10 |
3 files changed, 3 insertions, 41 deletions
diff --git a/drivers/parport/daisy.c b/drivers/parport/daisy.c index 56dd83a45e55..5484a46dafda 100644 --- a/drivers/parport/daisy.c +++ b/drivers/parport/daisy.c | |||
| @@ -213,12 +213,10 @@ void parport_daisy_fini(struct parport *port) | |||
| 213 | struct pardevice *parport_open(int devnum, const char *name) | 213 | struct pardevice *parport_open(int devnum, const char *name) |
| 214 | { | 214 | { |
| 215 | struct daisydev *p = topology; | 215 | struct daisydev *p = topology; |
| 216 | struct pardev_cb par_cb; | ||
| 217 | struct parport *port; | 216 | struct parport *port; |
| 218 | struct pardevice *dev; | 217 | struct pardevice *dev; |
| 219 | int daisy; | 218 | int daisy; |
| 220 | 219 | ||
| 221 | memset(&par_cb, 0, sizeof(par_cb)); | ||
| 222 | spin_lock(&topology_lock); | 220 | spin_lock(&topology_lock); |
| 223 | while (p && p->devnum != devnum) | 221 | while (p && p->devnum != devnum) |
| 224 | p = p->next; | 222 | p = p->next; |
| @@ -232,7 +230,7 @@ struct pardevice *parport_open(int devnum, const char *name) | |||
| 232 | port = parport_get_port(p->port); | 230 | port = parport_get_port(p->port); |
| 233 | spin_unlock(&topology_lock); | 231 | spin_unlock(&topology_lock); |
| 234 | 232 | ||
| 235 | dev = parport_register_dev_model(port, name, &par_cb, devnum); | 233 | dev = parport_register_device(port, name, NULL, NULL, NULL, 0, NULL); |
| 236 | parport_put_port(port); | 234 | parport_put_port(port); |
| 237 | if (!dev) | 235 | if (!dev) |
| 238 | return NULL; | 236 | return NULL; |
| @@ -482,31 +480,3 @@ static int assign_addrs(struct parport *port) | |||
| 482 | kfree(deviceid); | 480 | kfree(deviceid); |
| 483 | return detected; | 481 | return detected; |
| 484 | } | 482 | } |
| 485 | |||
| 486 | static int daisy_drv_probe(struct pardevice *par_dev) | ||
| 487 | { | ||
| 488 | struct device_driver *drv = par_dev->dev.driver; | ||
| 489 | |||
| 490 | if (strcmp(drv->name, "daisy_drv")) | ||
| 491 | return -ENODEV; | ||
| 492 | if (strcmp(par_dev->name, daisy_dev_name)) | ||
| 493 | return -ENODEV; | ||
| 494 | |||
| 495 | return 0; | ||
| 496 | } | ||
| 497 | |||
| 498 | static struct parport_driver daisy_driver = { | ||
| 499 | .name = "daisy_drv", | ||
| 500 | .probe = daisy_drv_probe, | ||
| 501 | .devmodel = true, | ||
| 502 | }; | ||
| 503 | |||
| 504 | int daisy_drv_init(void) | ||
| 505 | { | ||
| 506 | return parport_register_driver(&daisy_driver); | ||
| 507 | } | ||
| 508 | |||
| 509 | void daisy_drv_exit(void) | ||
| 510 | { | ||
| 511 | parport_unregister_driver(&daisy_driver); | ||
| 512 | } | ||
diff --git a/drivers/parport/probe.c b/drivers/parport/probe.c index e5e6a463a941..e035174ba205 100644 --- a/drivers/parport/probe.c +++ b/drivers/parport/probe.c | |||
| @@ -257,7 +257,7 @@ static ssize_t parport_read_device_id (struct parport *port, char *buffer, | |||
| 257 | ssize_t parport_device_id (int devnum, char *buffer, size_t count) | 257 | ssize_t parport_device_id (int devnum, char *buffer, size_t count) |
| 258 | { | 258 | { |
| 259 | ssize_t retval = -ENXIO; | 259 | ssize_t retval = -ENXIO; |
| 260 | struct pardevice *dev = parport_open(devnum, daisy_dev_name); | 260 | struct pardevice *dev = parport_open (devnum, "Device ID probe"); |
| 261 | if (!dev) | 261 | if (!dev) |
| 262 | return -ENXIO; | 262 | return -ENXIO; |
| 263 | 263 | ||
diff --git a/drivers/parport/share.c b/drivers/parport/share.c index 0171b8dbcdcd..5dc53d420ca8 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c | |||
| @@ -137,19 +137,11 @@ static struct bus_type parport_bus_type = { | |||
| 137 | 137 | ||
| 138 | int parport_bus_init(void) | 138 | int parport_bus_init(void) |
| 139 | { | 139 | { |
| 140 | int retval; | 140 | return bus_register(&parport_bus_type); |
| 141 | |||
| 142 | retval = bus_register(&parport_bus_type); | ||
| 143 | if (retval) | ||
| 144 | return retval; | ||
| 145 | daisy_drv_init(); | ||
| 146 | |||
| 147 | return 0; | ||
| 148 | } | 141 | } |
| 149 | 142 | ||
| 150 | void parport_bus_exit(void) | 143 | void parport_bus_exit(void) |
| 151 | { | 144 | { |
| 152 | daisy_drv_exit(); | ||
| 153 | bus_unregister(&parport_bus_type); | 145 | bus_unregister(&parport_bus_type); |
| 154 | } | 146 | } |
| 155 | 147 | ||
