[PATCH 10/10] Driver core: Remove unneeded get_{device,driver}() calls.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <linux-kernel@...>
Cc: Cornelia Huck <cornelia.huck@...>, Dave Young <hidave.darkstar@...>, Greg Kroah-Hartman <gregkh@...>
Date: Saturday, February 2, 2008 - 7:56 pm

From: Cornelia Huck <cornelia.huck@de.ibm.com>

Driver core: Remove unneeded get_{device,driver}() calls.

Code trying to add/remove attributes must hold a reference to
the device resp. driver anyway, so let's remove those reference
count games.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/base/core.c   |    8 ++------
 drivers/base/driver.c |    9 +++------
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index a0cfda5..9c0070b 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -423,10 +423,8 @@ struct kset *devices_kset;
 int device_create_file(struct device *dev, struct device_attribute *attr)
 {
 	int error = 0;
-	if (get_device(dev)) {
+	if (dev)
 		error = sysfs_create_file(&dev->kobj, &attr->attr);
-		put_device(dev);
-	}
 	return error;
 }
 
@@ -437,10 +435,8 @@ int device_create_file(struct device *dev, struct device_attribute *attr)
  */
 void device_remove_file(struct device *dev, struct device_attribute *attr)
 {
-	if (get_device(dev)) {
+	if (dev)
 		sysfs_remove_file(&dev->kobj, &attr->attr);
-		put_device(dev);
-	}
 }
 
 /**
diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index a35f041..ba75184 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -97,10 +97,9 @@ int driver_create_file(struct device_driver *drv,
 		       struct driver_attribute *attr)
 {
 	int error;
-	if (get_driver(drv)) {
+	if (drv)
 		error = sysfs_create_file(&drv->p->kobj, &attr->attr);
-		put_driver(drv);
-	} else
+	else
 		error = -EINVAL;
 	return error;
 }
@@ -114,10 +113,8 @@ EXPORT_SYMBOL_GPL(driver_create_file);
 void driver_remove_file(struct device_driver *drv,
 			struct driver_attribute *attr)
 {
-	if (get_driver(drv)) {
+	if (drv)
 		sysfs_remove_file(&drv->p->kobj, &attr->attr);
-		put_driver(drv);
-	}
 }
 EXPORT_SYMBOL_GPL(driver_remove_file);
 
-- 
1.5.3.8

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 10/10] Driver core: Remove unneeded get_{device,drive..., Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 09/10] Driver core: Update some prototypes in platfor..., Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 08/10] driver core: convert to use class_find_device ..., Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 07/10] PM: Export device_pm_schedule_removal, Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 06/10] nozomi: finish constification, Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 05/10] nozomi: constify driver, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 04/10] nozomi driver update, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 03/10] Add ja_JP translation of stable_kernel_rules.txt, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 02/10] kobject: kerneldoc comment fix, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 01/10] kobject: Always build in kernel/ksysfs.o., Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)