Skip to content

Commit

Permalink
Revert "hwmon: Make chip parameter for with_info API mandatory"
Browse files Browse the repository at this point in the history
This reverts commit 1ec0bc7 which is
commit ddaefa2 upstream.  It should not
have been applied to the stable trees.

Link: https://lore.kernel.org/r/20220622154454.GA1864037@roeck-us.net
Reported-by: Julian Haller <julian.haller@philips.com>
Reported-by: Guenter Roeck <linux@roeck-us.net>
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Greg Kroah-Hartman committed Jun 25, 2022
1 parent 9b40c2b commit a2f5599
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
2 changes: 1 addition & 1 deletion Documentation/hwmon/hwmon-kernel-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ hwmon_device_register_with_info is the most comprehensive and preferred means
to register a hardware monitoring device. It creates the standard sysfs
attributes in the hardware monitoring core, letting the driver focus on reading
from and writing to the chip instead of having to bother with sysfs attributes.
The parent device parameter as well as the chip parameter must not be NULL. Its
The parent device parameter cannot be NULL with non-NULL chip info. Its
parameters are described in more detail below.

devm_hwmon_device_register_with_info is similar to
Expand Down
16 changes: 9 additions & 7 deletions drivers/hwmon/hwmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,12 +695,11 @@ EXPORT_SYMBOL_GPL(hwmon_device_register_with_groups);

/**
* hwmon_device_register_with_info - register w/ hwmon
* @dev: the parent device (mandatory)
* @name: hwmon name attribute (mandatory)
* @drvdata: driver data to attach to created device (optional)
* @chip: pointer to hwmon chip information (mandatory)
* @dev: the parent device
* @name: hwmon name attribute
* @drvdata: driver data to attach to created device
* @chip: pointer to hwmon chip information
* @extra_groups: pointer to list of additional non-standard attribute groups
* (optional)
*
* hwmon_device_unregister() must be called when the device is no
* longer needed.
Expand All @@ -713,10 +712,13 @@ hwmon_device_register_with_info(struct device *dev, const char *name,
const struct hwmon_chip_info *chip,
const struct attribute_group **extra_groups)
{
if (!dev || !name || !chip)
if (!name)
return ERR_PTR(-EINVAL);

if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
return ERR_PTR(-EINVAL);

if (!chip->ops || !chip->ops->is_visible || !chip->info)
if (chip && !dev)
return ERR_PTR(-EINVAL);

return __hwmon_device_register(dev, name, drvdata, chip, extra_groups);
Expand Down

0 comments on commit a2f5599

Please sign in to comment.