hwmon: constify pointers to hwmon_channel_info
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 6 Apr 2023 20:29:56 +0000 (22:29 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 7 Apr 2023 15:45:17 +0000 (08:45 -0700)
HWmon core receives an array of pointers to hwmon_channel_info and it
does not modify it, thus it can be array of const pointers for safety.
This allows drivers to make them also const.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/hwmon-kernel-api.rst
drivers/accel/habanalabs/common/hwmon.c
drivers/hwmon/hwmon.c
include/linux/hwmon.h

index 5451a6d..f00e4a0 100644 (file)
@@ -133,7 +133,7 @@ The hwmon_chip_info structure looks as follows::
 
        struct hwmon_chip_info {
                const struct hwmon_ops *ops;
-               const struct hwmon_channel_info **info;
+               const struct hwmon_channel_info * const *info;
        };
 
 It contains the following fields:
@@ -229,7 +229,7 @@ register (HWMON_T_MAX) as well as a maximum temperature hysteresis register
                .config = lm75_temp_config,
        };
 
-       static const struct hwmon_channel_info *lm75_info[] = {
+       static const struct hwmon_channel_info * const lm75_info[] = {
                &lm75_chip,
                &lm75_temp,
                NULL
@@ -238,7 +238,7 @@ register (HWMON_T_MAX) as well as a maximum temperature hysteresis register
        The HWMON_CHANNEL_INFO() macro can and should be used when possible.
        With this macro, the above example can be simplified to
 
-       static const struct hwmon_channel_info *lm75_info[] = {
+       static const struct hwmon_channel_info * const lm75_info[] = {
                HWMON_CHANNEL_INFO(chip,
                                HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL),
                HWMON_CHANNEL_INFO(temp,
index 55eb020..8598056 100644 (file)
@@ -914,7 +914,7 @@ void hl_hwmon_fini(struct hl_device *hdev)
 
 void hl_hwmon_release_resources(struct hl_device *hdev)
 {
-       const struct hwmon_channel_info **channel_info_arr;
+       const struct hwmon_channel_info * const *channel_info_arr;
        int i = 0;
 
        if (!hdev->hl_chip_info->info)
index d193ed3..c7ebef1 100644 (file)
@@ -174,7 +174,7 @@ static int hwmon_thermal_set_trips(struct thermal_zone_device *tz, int low, int
        struct hwmon_thermal_data *tdata = tz->devdata;
        struct hwmon_device *hwdev = to_hwmon_device(tdata->dev);
        const struct hwmon_chip_info *chip = hwdev->chip;
-       const struct hwmon_channel_info **info = chip->info;
+       const struct hwmon_channel_info * const *info = chip->info;
        unsigned int i;
        int err;
 
@@ -253,7 +253,7 @@ static int hwmon_thermal_register_sensors(struct device *dev)
 {
        struct hwmon_device *hwdev = to_hwmon_device(dev);
        const struct hwmon_chip_info *chip = hwdev->chip;
-       const struct hwmon_channel_info **info = chip->info;
+       const struct hwmon_channel_info * const *info = chip->info;
        void *drvdata = dev_get_drvdata(dev);
        int i;
 
index c1b6238..492dd27 100644 (file)
@@ -430,7 +430,7 @@ struct hwmon_channel_info {
  */
 struct hwmon_chip_info {
        const struct hwmon_ops *ops;
-       const struct hwmon_channel_info **info;
+       const struct hwmon_channel_info * const *info;
 };
 
 /* hwmon_device_register() is deprecated */