diff mbox

[v2] hwmon: Make name attribute mandatory for new APIs

Message ID 1485277034-12364-1-git-send-email-linux@roeck-us.net (mailing list archive)
State Accepted
Headers show

Commit Message

Guenter Roeck Jan. 24, 2017, 4:57 p.m. UTC
It does not make sense to use one of the the new APIs when not
even providing a name attribute. Make it mandatory.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v2: One should use ERR_PTR where appropriate

 drivers/hwmon/hwmon.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Jean Delvare Jan. 25, 2017, 9:04 a.m. UTC | #1
Hi Guenter,

On Tue, 24 Jan 2017 08:57:14 -0800, Guenter Roeck wrote:
> It does not make sense to use one of the the new APIs when not
> even providing a name attribute. Make it mandatory.

Fully agreed, but...

> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> v2: One should use ERR_PTR where appropriate
> 
>  drivers/hwmon/hwmon.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
> index 0c5660ccdbf4..a408b10d9a86 100644
> --- a/drivers/hwmon/hwmon.c
> +++ b/drivers/hwmon/hwmon.c
> @@ -651,6 +651,9 @@ hwmon_device_register_with_groups(struct device *dev, const char *name,
>  				  void *drvdata,
>  				  const struct attribute_group **groups)
>  {
> +	if (!name)
> +		return ERR_PTR(-EINVAL);
> +
>  	return __hwmon_device_register(dev, name, drvdata, NULL, groups);
>  }
>  EXPORT_SYMBOL_GPL(hwmon_device_register_with_groups);
> @@ -674,6 +677,9 @@ hwmon_device_register_with_info(struct device *dev, const char *name,
>  				const struct hwmon_chip_info *chip,
>  				const struct attribute_group **extra_groups)
>  {
> +	if (!name)
> +		return ERR_PTR(-EINVAL);
> +
>  	if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
>  		return ERR_PTR(-EINVAL);
>  

... this breaks hwmon_device_register(), which calls:

	return hwmon_device_register_with_groups(dev, NULL, NULL, NULL);
	                                              ^^^^
	                                              name

So you would have to change hwmon_device_register() to call
__hwmon_device_register() directly first.

Thanks,
Guenter Roeck Jan. 25, 2017, 9:33 a.m. UTC | #2
On 01/25/2017 01:04 AM, Jean Delvare wrote:
> Hi Guenter,
>
> On Tue, 24 Jan 2017 08:57:14 -0800, Guenter Roeck wrote:
>> It does not make sense to use one of the the new APIs when not
>> even providing a name attribute. Make it mandatory.
>
> Fully agreed, but...
>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>> ---
>> v2: One should use ERR_PTR where appropriate
>>
>>  drivers/hwmon/hwmon.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
>> index 0c5660ccdbf4..a408b10d9a86 100644
>> --- a/drivers/hwmon/hwmon.c
>> +++ b/drivers/hwmon/hwmon.c
>> @@ -651,6 +651,9 @@ hwmon_device_register_with_groups(struct device *dev, const char *name,
>>  				  void *drvdata,
>>  				  const struct attribute_group **groups)
>>  {
>> +	if (!name)
>> +		return ERR_PTR(-EINVAL);
>> +
>>  	return __hwmon_device_register(dev, name, drvdata, NULL, groups);
>>  }
>>  EXPORT_SYMBOL_GPL(hwmon_device_register_with_groups);
>> @@ -674,6 +677,9 @@ hwmon_device_register_with_info(struct device *dev, const char *name,
>>  				const struct hwmon_chip_info *chip,
>>  				const struct attribute_group **extra_groups)
>>  {
>> +	if (!name)
>> +		return ERR_PTR(-EINVAL);
>> +
>>  	if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
>>  		return ERR_PTR(-EINVAL);
>>
>
> ... this breaks hwmon_device_register(), which calls:
>
> 	return hwmon_device_register_with_groups(dev, NULL, NULL, NULL);
> 	                                              ^^^^
> 	                                              name
>
> So you would have to change hwmon_device_register() to call
> __hwmon_device_register() directly first.
>
Thanks!

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index 0c5660ccdbf4..a408b10d9a86 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -651,6 +651,9 @@  hwmon_device_register_with_groups(struct device *dev, const char *name,
 				  void *drvdata,
 				  const struct attribute_group **groups)
 {
+	if (!name)
+		return ERR_PTR(-EINVAL);
+
 	return __hwmon_device_register(dev, name, drvdata, NULL, groups);
 }
 EXPORT_SYMBOL_GPL(hwmon_device_register_with_groups);
@@ -674,6 +677,9 @@  hwmon_device_register_with_info(struct device *dev, const char *name,
 				const struct hwmon_chip_info *chip,
 				const struct attribute_group **extra_groups)
 {
+	if (!name)
+		return ERR_PTR(-EINVAL);
+
 	if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
 		return ERR_PTR(-EINVAL);