now that we are monitoring the return value from attach, make the required changes to return proper value from its attach function.
Signed-off-by: Sudip Mukherjee sudip@vectorindia.org --- drivers/pps/generators/pps_gen_parport.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/pps/generators/pps_gen_parport.c b/drivers/pps/generators/pps_gen_parport.c index dcd39fb..499f410 100644 --- a/drivers/pps/generators/pps_gen_parport.c +++ b/drivers/pps/generators/pps_gen_parport.c @@ -190,18 +190,18 @@ static inline ktime_t next_intr_time(struct pps_generator_pp *dev) dev->port_write_time + 3 * SAFETY_INTERVAL)); }
-static void parport_attach(struct parport *port) +static int parport_attach(struct parport *port) { if (attached) { /* we already have a port */ - return; + return -EALREADY; }
device.pardev = parport_register_device(port, KBUILD_MODNAME, NULL, NULL, NULL, PARPORT_FLAG_EXCL, &device); if (!device.pardev) { pr_err("couldn't register with %s\n", port->name); - return; + return -ENODEV; }
if (parport_claim_or_block(device.pardev) < 0) { @@ -218,10 +218,11 @@ static void parport_attach(struct parport *port) device.timer.function = hrtimer_event; hrtimer_start(&device.timer, next_intr_time(&device), HRTIMER_MODE_ABS);
- return; + return 0;
err_unregister_dev: parport_unregister_device(device.pardev); + return -ENODEV; }
static void parport_detach(struct parport *port)