@@ -134,7 +134,7 @@ out_both:
return;
}
-static void parport_attach(struct parport *port)
+static int parport_attach(struct parport *port)
{
struct pps_client_pp *device;
struct pps_source_info info = {
@@ -151,7 +151,7 @@ static void parport_attach(struct parport *port)
device = kzalloc(sizeof(struct pps_client_pp), GFP_KERNEL);
if (!device) {
pr_err("memory allocation failed, not attaching\n");
- return;
+ return -ENOMEM;
}
device->pardev = parport_register_device(port, KBUILD_MODNAME,
@@ -179,7 +179,7 @@ static void parport_attach(struct parport *port)
pr_info("attached to %s\n", port->name);
- return;
+ return 0;
err_release_dev:
parport_release(device->pardev);
@@ -187,6 +187,7 @@ err_unregister_dev:
parport_unregister_device(device->pardev);
err_free:
kfree(device);
+ return -ENODEV;
}
static void parport_detach(struct parport *port)
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/clients/pps_parport.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)