forked from mirrors/linux
		
	hwmon: (pmbus) Simplify remove functions
Since devm_kzalloc() is now used to allocate driver memory, the client driver remove function has no purpose other than to call pmbus_do_remove(). This means we can get rid of it by redefining pmbus_do_remove() to use the same prototype, and pointing to it directly. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
		
							parent
							
								
									8b313ca7f1
								
							
						
					
					
						commit
						dd285ad737
					
				
					 12 changed files with 13 additions and 74 deletions
				
			
		|  | @ -301,18 +301,12 @@ static int adm1275_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, id, info); | 	return pmbus_do_probe(client, id, info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int adm1275_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static struct i2c_driver adm1275_driver = { | static struct i2c_driver adm1275_driver = { | ||||||
| 	.driver = { | 	.driver = { | ||||||
| 		   .name = "adm1275", | 		   .name = "adm1275", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = adm1275_probe, | 	.probe = adm1275_probe, | ||||||
| 	.remove = adm1275_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = adm1275_id, | 	.id_table = adm1275_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -295,12 +295,6 @@ static int lm25066_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, id, info); | 	return pmbus_do_probe(client, id, info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int lm25066_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static const struct i2c_device_id lm25066_id[] = { | static const struct i2c_device_id lm25066_id[] = { | ||||||
| 	{"lm25066", lm25066}, | 	{"lm25066", lm25066}, | ||||||
| 	{"lm5064", lm5064}, | 	{"lm5064", lm5064}, | ||||||
|  | @ -316,7 +310,7 @@ static struct i2c_driver lm25066_driver = { | ||||||
| 		   .name = "lm25066", | 		   .name = "lm25066", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = lm25066_probe, | 	.probe = lm25066_probe, | ||||||
| 	.remove = lm25066_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = lm25066_id, | 	.id_table = lm25066_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -361,19 +361,13 @@ static int ltc2978_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, id, info); | 	return pmbus_do_probe(client, id, info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ltc2978_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* This is the driver that will be inserted */ | /* This is the driver that will be inserted */ | ||||||
| static struct i2c_driver ltc2978_driver = { | static struct i2c_driver ltc2978_driver = { | ||||||
| 	.driver = { | 	.driver = { | ||||||
| 		   .name = "ltc2978", | 		   .name = "ltc2978", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = ltc2978_probe, | 	.probe = ltc2978_probe, | ||||||
| 	.remove = ltc2978_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = ltc2978_id, | 	.id_table = ltc2978_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -103,12 +103,6 @@ static int max16064_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, id, &max16064_info); | 	return pmbus_do_probe(client, id, &max16064_info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int max16064_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static const struct i2c_device_id max16064_id[] = { | static const struct i2c_device_id max16064_id[] = { | ||||||
| 	{"max16064", 0}, | 	{"max16064", 0}, | ||||||
| 	{} | 	{} | ||||||
|  | @ -122,7 +116,7 @@ static struct i2c_driver max16064_driver = { | ||||||
| 		   .name = "max16064", | 		   .name = "max16064", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = max16064_probe, | 	.probe = max16064_probe, | ||||||
| 	.remove = max16064_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = max16064_id, | 	.id_table = max16064_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -224,12 +224,6 @@ static int max34440_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, id, &max34440_info[id->driver_data]); | 	return pmbus_do_probe(client, id, &max34440_info[id->driver_data]); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int max34440_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static const struct i2c_device_id max34440_id[] = { | static const struct i2c_device_id max34440_id[] = { | ||||||
| 	{"max34440", max34440}, | 	{"max34440", max34440}, | ||||||
| 	{"max34441", max34441}, | 	{"max34441", max34441}, | ||||||
|  | @ -244,7 +238,7 @@ static struct i2c_driver max34440_driver = { | ||||||
| 		   .name = "max34440", | 		   .name = "max34440", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = max34440_probe, | 	.probe = max34440_probe, | ||||||
| 	.remove = max34440_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = max34440_id, | 	.id_table = max34440_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -180,12 +180,6 @@ static int max8688_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, id, &max8688_info); | 	return pmbus_do_probe(client, id, &max8688_info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int max8688_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static const struct i2c_device_id max8688_id[] = { | static const struct i2c_device_id max8688_id[] = { | ||||||
| 	{"max8688", 0}, | 	{"max8688", 0}, | ||||||
| 	{ } | 	{ } | ||||||
|  | @ -199,7 +193,7 @@ static struct i2c_driver max8688_driver = { | ||||||
| 		   .name = "max8688", | 		   .name = "max8688", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = max8688_probe, | 	.probe = max8688_probe, | ||||||
| 	.remove = max8688_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = max8688_id, | 	.id_table = max8688_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -178,12 +178,6 @@ static int pmbus_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, id, info); | 	return pmbus_do_probe(client, id, info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int pmbus_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /*
 | /*
 | ||||||
|  * Use driver_data to set the number of pages supported by the chip. |  * Use driver_data to set the number of pages supported by the chip. | ||||||
|  */ |  */ | ||||||
|  | @ -209,7 +203,7 @@ static struct i2c_driver pmbus_driver = { | ||||||
| 		   .name = "pmbus", | 		   .name = "pmbus", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = pmbus_probe, | 	.probe = pmbus_probe, | ||||||
| 	.remove = pmbus_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = pmbus_id, | 	.id_table = pmbus_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -364,7 +364,7 @@ bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg); | ||||||
| bool pmbus_check_word_register(struct i2c_client *client, int page, int reg); | bool pmbus_check_word_register(struct i2c_client *client, int page, int reg); | ||||||
| int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id, | int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id, | ||||||
| 		   struct pmbus_driver_info *info); | 		   struct pmbus_driver_info *info); | ||||||
| void pmbus_do_remove(struct i2c_client *client); | int pmbus_do_remove(struct i2c_client *client); | ||||||
| const struct pmbus_driver_info *pmbus_get_driver_info(struct i2c_client | const struct pmbus_driver_info *pmbus_get_driver_info(struct i2c_client | ||||||
| 						      *client); | 						      *client); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1778,11 +1778,12 @@ int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id, | ||||||
| } | } | ||||||
| EXPORT_SYMBOL_GPL(pmbus_do_probe); | EXPORT_SYMBOL_GPL(pmbus_do_probe); | ||||||
| 
 | 
 | ||||||
| void pmbus_do_remove(struct i2c_client *client) | int pmbus_do_remove(struct i2c_client *client) | ||||||
| { | { | ||||||
| 	struct pmbus_data *data = i2c_get_clientdata(client); | 	struct pmbus_data *data = i2c_get_clientdata(client); | ||||||
| 	hwmon_device_unregister(data->hwmon_dev); | 	hwmon_device_unregister(data->hwmon_dev); | ||||||
| 	sysfs_remove_group(&client->dev.kobj, &data->group); | 	sysfs_remove_group(&client->dev.kobj, &data->group); | ||||||
|  | 	return 0; | ||||||
| } | } | ||||||
| EXPORT_SYMBOL_GPL(pmbus_do_remove); | EXPORT_SYMBOL_GPL(pmbus_do_remove); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -229,20 +229,13 @@ static int ucd9000_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, mid, info); | 	return pmbus_do_probe(client, mid, info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ucd9000_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /* This is the driver that will be inserted */ | /* This is the driver that will be inserted */ | ||||||
| static struct i2c_driver ucd9000_driver = { | static struct i2c_driver ucd9000_driver = { | ||||||
| 	.driver = { | 	.driver = { | ||||||
| 		.name = "ucd9000", | 		.name = "ucd9000", | ||||||
| 	}, | 	}, | ||||||
| 	.probe = ucd9000_probe, | 	.probe = ucd9000_probe, | ||||||
| 	.remove = ucd9000_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = ucd9000_id, | 	.id_table = ucd9000_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -163,20 +163,13 @@ static int ucd9200_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, mid, info); | 	return pmbus_do_probe(client, mid, info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ucd9200_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /* This is the driver that will be inserted */ | /* This is the driver that will be inserted */ | ||||||
| static struct i2c_driver ucd9200_driver = { | static struct i2c_driver ucd9200_driver = { | ||||||
| 	.driver = { | 	.driver = { | ||||||
| 		.name = "ucd9200", | 		.name = "ucd9200", | ||||||
| 	}, | 	}, | ||||||
| 	.probe = ucd9200_probe, | 	.probe = ucd9200_probe, | ||||||
| 	.remove = ucd9200_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = ucd9200_id, | 	.id_table = ucd9200_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -240,18 +240,12 @@ static int zl6100_probe(struct i2c_client *client, | ||||||
| 	return pmbus_do_probe(client, mid, info); | 	return pmbus_do_probe(client, mid, info); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int zl6100_remove(struct i2c_client *client) |  | ||||||
| { |  | ||||||
| 	pmbus_do_remove(client); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static struct i2c_driver zl6100_driver = { | static struct i2c_driver zl6100_driver = { | ||||||
| 	.driver = { | 	.driver = { | ||||||
| 		   .name = "zl6100", | 		   .name = "zl6100", | ||||||
| 		   }, | 		   }, | ||||||
| 	.probe = zl6100_probe, | 	.probe = zl6100_probe, | ||||||
| 	.remove = zl6100_remove, | 	.remove = pmbus_do_remove, | ||||||
| 	.id_table = zl6100_id, | 	.id_table = zl6100_id, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Guenter Roeck
						Guenter Roeck