瀏覽代碼

hwmon: (core) check parent dev != NULL when chip != NULL

hwmon_device_register_with_info() registration API requires a
non-NULL parent device when chip is non-NULL.

This commit adds a check and documents this requirement.

Signed-off-by: Lucas Magasweran <lucas.magasweran@ieee.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Lucas Magasweran 7 年之前
父節點
當前提交
59df4f4e8e
共有 2 個文件被更改,包括 5 次插入1 次删除
  1. 2 1
      Documentation/hwmon/hwmon-kernel-api.txt
  2. 3 0
      drivers/hwmon/hwmon.c

+ 2 - 1
Documentation/hwmon/hwmon-kernel-api.txt

@@ -71,7 +71,8 @@ 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.
-Its parameters are described in more detail below.
+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
 hwmon_device_register_with_info. However, it is device managed, meaning the

+ 3 - 0
drivers/hwmon/hwmon.c

@@ -698,6 +698,9 @@ hwmon_device_register_with_info(struct device *dev, const char *name,
 	if (chip && (!chip->ops || !chip->ops->is_visible || !chip->info))
 		return ERR_PTR(-EINVAL);
 
+	if (chip && !dev)
+		return ERR_PTR(-EINVAL);
+
 	return __hwmon_device_register(dev, name, drvdata, chip, extra_groups);
 }
 EXPORT_SYMBOL_GPL(hwmon_device_register_with_info);