On Wed, Jun 20, 2012 at 01:36:10PM +0100, Rupesh Gujare wrote:
> Register ozmo_wpan class with sysfs & support for udev
> to create device node.
>
> Signed-off-by: Rupesh Gujare <[email protected]>
> ---
> drivers/staging/ozwpan/ozcdev.c | 24 +++++++++++++++++++++++-
> 1 files changed, 23 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/staging/ozwpan/ozcdev.c b/drivers/staging/ozwpan/ozcdev.c
> index 27325f7..929756a 100644
> --- a/drivers/staging/ozwpan/ozcdev.c
> +++ b/drivers/staging/ozwpan/ozcdev.c
> @@ -330,10 +330,12 @@ const struct file_operations oz_fops = {
> int oz_cdev_register(void)
> {
> int err;
> + struct class *cl;
> + struct device *dev;
Put a blank line between declarations and statements.
> memset(&g_cdev, 0, sizeof(g_cdev));
> err = alloc_chrdev_region(&g_cdev.devnum, 0, 1, "ozwpan");
> if (err < 0)
> - return err;
> + goto out3;
Just return directly here. Don't use GW-BASIC names for labels.
The label name should reflect the what happens at the label. For
example: goto unregister; would meant that you unregister after the
goto.
> oz_trace("Alloc dev number %d:%d\n", MAJOR(g_cdev.devnum),
> MINOR(g_cdev.devnum));
> cdev_init(&g_cdev.cdev, &oz_fops);
> @@ -342,7 +344,27 @@ int oz_cdev_register(void)
> spin_lock_init(&g_cdev.lock);
> init_waitqueue_head(&g_cdev.rdq);
> err = cdev_add(&g_cdev.cdev, g_cdev.devnum, 1);
> + if (err < 0) {
> + oz_trace("Failed to add cdev\n");
> + goto out2;
> + }
> + cl = class_create(THIS_MODULE, "ozmo_wpan");
> + if (IS_ERR(cl)) {
Needs a:
err = PTR_ERR(cl);
> + oz_trace("Failed to register ozmo_wpan class\n");
> + goto out1;
> + }
> + dev = device_create(cl, NULL, g_cdev.devnum, NULL, "ozwpan");
> + if (IS_ERR(dev)) {
> + oz_trace("Failed to create sysfs entry for cdev\n");
Needs a:
err = PTR_ERR(dev);
> + goto out1;
> + }
> return 0;
Blank line here probably.
regards,
dan carpenter
> +out1:
> + cdev_del(&g_cdev.cdev);
> +out2:
> + unregister_chrdev_region(g_cdev.devnum, 1);
> +out3:
> + return err;
> }
>
> /*------------------------------------------------------------------------------
> * Context: process
> --
> 1.7.5.4
>
>
> _______________________________________________
> devel mailing list
> [email protected]
> http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel