diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 11:59:37 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2010-05-10 14:20:42 +0200 | 
| commit | dbb6be6d5e974c42bbecd183effaa0df69e1dd8b (patch) | |
| tree | 5735cb47e70853d057a9881dd0ce44b83e88fa63 /drivers/gpu/drm/drm_sysfs.c | |
| parent | 6a867a395558a7f882d041783e4cdea6744ca2bf (diff) | |
| parent | b57f95a38233a2e73b679bea4a5453a1cc2a1cc9 (diff) | |
| download | olio-linux-3.10-dbb6be6d5e974c42bbecd183effaa0df69e1dd8b.tar.xz olio-linux-3.10-dbb6be6d5e974c42bbecd183effaa0df69e1dd8b.zip  | |
Merge branch 'linus' into timers/core
Reason: Further posix_cpu_timer patches depend on mainline changes
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/gpu/drm/drm_sysfs.c')
| -rw-r--r-- | drivers/gpu/drm/drm_sysfs.c | 22 | 
1 files changed, 13 insertions, 9 deletions
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c index 014ce24761b..25bbd30ed7a 100644 --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c @@ -14,6 +14,7 @@  #include <linux/device.h>  #include <linux/kdev_t.h> +#include <linux/gfp.h>  #include <linux/err.h>  #include "drm_sysfs.h" @@ -353,7 +354,10 @@ static struct bin_attribute edid_attr = {  int drm_sysfs_connector_add(struct drm_connector *connector)  {  	struct drm_device *dev = connector->dev; -	int ret = 0, i, j; +	int attr_cnt = 0; +	int opt_cnt = 0; +	int i; +	int ret = 0;  	/* We shouldn't get called more than once for the same connector */  	BUG_ON(device_is_registered(&connector->kdev)); @@ -376,8 +380,8 @@ int drm_sysfs_connector_add(struct drm_connector *connector)  	/* Standard attributes */ -	for (i = 0; i < ARRAY_SIZE(connector_attrs); i++) { -		ret = device_create_file(&connector->kdev, &connector_attrs[i]); +	for (attr_cnt = 0; attr_cnt < ARRAY_SIZE(connector_attrs); attr_cnt++) { +		ret = device_create_file(&connector->kdev, &connector_attrs[attr_cnt]);  		if (ret)  			goto err_out_files;  	} @@ -393,8 +397,8 @@ int drm_sysfs_connector_add(struct drm_connector *connector)  		case DRM_MODE_CONNECTOR_SVIDEO:  		case DRM_MODE_CONNECTOR_Component:  		case DRM_MODE_CONNECTOR_TV: -			for (i = 0; i < ARRAY_SIZE(connector_attrs_opt1); i++) { -				ret = device_create_file(&connector->kdev, &connector_attrs_opt1[i]); +			for (opt_cnt = 0; opt_cnt < ARRAY_SIZE(connector_attrs_opt1); opt_cnt++) { +				ret = device_create_file(&connector->kdev, &connector_attrs_opt1[opt_cnt]);  				if (ret)  					goto err_out_files;  			} @@ -413,10 +417,10 @@ int drm_sysfs_connector_add(struct drm_connector *connector)  	return 0;  err_out_files: -	if (i > 0) -		for (j = 0; j < i; j++) -			device_remove_file(&connector->kdev, -					   &connector_attrs[i]); +	for (i = 0; i < opt_cnt; i++) +		device_remove_file(&connector->kdev, &connector_attrs_opt1[i]); +	for (i = 0; i < attr_cnt; i++) +		device_remove_file(&connector->kdev, &connector_attrs[i]);  	device_unregister(&connector->kdev);  out:  |