From 2191522500491b71c874ebbd770b6f49778a238e Mon Sep 17 00:00:00 2001 From: Rupesh Gujare Date: Tue, 26 Jun 2012 13:03:39 +0100 Subject: [PATCH] --- yaml --- r: 317575 b: refs/heads/master c: ba0a7ae713c89c7be204646d9a34c7f612743f51 h: refs/heads/master i: 317573: 94d7dba7be885460d1e4a5c2f2bbd2d6008f46c5 317571: c129d0b4dfe65d7d63cab04f4e26b0cc6234bb38 317567: f713a5a625308487b79c71e8b9f2d806cec42a7e v: v3 --- [refs] | 2 +- trunk/drivers/staging/ozwpan/ozcdev.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 8fcc6241909c..9efe0a1cc4c9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f204739736fecee77280c7743b5409dd158a49a6 +refs/heads/master: ba0a7ae713c89c7be204646d9a34c7f612743f51 diff --git a/trunk/drivers/staging/ozwpan/ozcdev.c b/trunk/drivers/staging/ozwpan/ozcdev.c index 929756abf02c..d98321945802 100644 --- a/trunk/drivers/staging/ozwpan/ozcdev.c +++ b/trunk/drivers/staging/ozwpan/ozcdev.c @@ -42,6 +42,7 @@ struct oz_serial_ctx { /*------------------------------------------------------------------------------ */ static struct oz_cdev g_cdev; +struct class *g_oz_class; /*------------------------------------------------------------------------------ * Context: process and softirq */ @@ -330,7 +331,6 @@ const struct file_operations oz_fops = { int oz_cdev_register(void) { int err; - struct class *cl; struct device *dev; memset(&g_cdev, 0, sizeof(g_cdev)); err = alloc_chrdev_region(&g_cdev.devnum, 0, 1, "ozwpan"); @@ -348,12 +348,12 @@ int oz_cdev_register(void) oz_trace("Failed to add cdev\n"); goto out2; } - cl = class_create(THIS_MODULE, "ozmo_wpan"); - if (IS_ERR(cl)) { + g_oz_class = class_create(THIS_MODULE, "ozmo_wpan"); + if (IS_ERR(g_oz_class)) { oz_trace("Failed to register ozmo_wpan class\n"); goto out1; } - dev = device_create(cl, NULL, g_cdev.devnum, NULL, "ozwpan"); + dev = device_create(g_oz_class, NULL, g_cdev.devnum, NULL, "ozwpan"); if (IS_ERR(dev)) { oz_trace("Failed to create sysfs entry for cdev\n"); goto out1; @@ -373,6 +373,10 @@ int oz_cdev_deregister(void) { cdev_del(&g_cdev.cdev); unregister_chrdev_region(g_cdev.devnum, 1); + if (g_oz_class) { + device_destroy(g_oz_class, g_cdev.devnum); + class_destroy(g_oz_class); + } return 0; } /*------------------------------------------------------------------------------