]> Git Repo - J-linux.git/commitdiff
thermal: core: Eliminate writable trip points masks
authorRafael J. Wysocki <[email protected]>
Thu, 22 Feb 2024 18:09:16 +0000 (19:09 +0100)
committerRafael J. Wysocki <[email protected]>
Tue, 27 Feb 2024 11:04:38 +0000 (12:04 +0100)
All of the thermal_zone_device_register_with_trips() callers pass zero
writable trip points masks to it, so drop the mask argument from that
function and update all of its callers accordingly.

This also removes the artificial trip points per zone limit of 32,
related to using writable trip points masks.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <[email protected]>
Reviewed-by: Daniel Lezcano <[email protected]>
18 files changed:
drivers/acpi/thermal.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
drivers/net/wireless/intel/iwlwifi/mvm/tt.c
drivers/platform/x86/acerhdf.c
drivers/thermal/da9062-thermal.c
drivers/thermal/imx_thermal.c
drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
drivers/thermal/intel/intel_pch_thermal.c
drivers/thermal/intel/intel_quark_dts_thermal.c
drivers/thermal/intel/intel_soc_dts_iosf.c
drivers/thermal/intel/x86_pkg_temp_thermal.c
drivers/thermal/rcar_thermal.c
drivers/thermal/st/st_thermal.c
drivers/thermal/thermal_core.c
drivers/thermal/thermal_of.c
include/linux/thermal.h

index 8042e96016e6597d47d89edaef95d6c0307c2c5d..302dce0b2b5044e20489f4b34bb8f4fde189e597 100644 (file)
@@ -665,7 +665,7 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz,
        tz->thermal_zone = thermal_zone_device_register_with_trips("acpitz",
                                                                   trip_table,
                                                                   trip_count,
-                                                                  0, tz,
+                                                                  tz,
                                                                   &acpi_thermal_zone_ops,
                                                                   NULL,
                                                                   passive_delay,
index dea9d290766671ca8c3953aeca42a7ef9983bf91..b08356060fb465bfb18158e85111a7d7f78547aa 100644 (file)
@@ -60,7 +60,7 @@ int cxgb4_thermal_init(struct adapter *adap)
 
        snprintf(ch_tz_name, sizeof(ch_tz_name), "cxgb4_%s", adap->name);
        ch_thermal->tzdev = thermal_zone_device_register_with_trips(ch_tz_name, &trip, num_trip,
-                                                                   0, adap,
+                                                                   adap,
                                                                    &cxgb4_thermal_ops,
                                                                    NULL, 0, 0);
        if (IS_ERR(ch_thermal->tzdev)) {
index 29ec0c1221394281805e33d53100be240bdb974d..5c511e1a8efa2e362b8c6e065d06f7b24261fe41 100644 (file)
@@ -423,7 +423,6 @@ mlxsw_thermal_module_tz_init(struct mlxsw_thermal_module *module_tz)
        module_tz->tzdev = thermal_zone_device_register_with_trips(tz_name,
                                                        module_tz->trips,
                                                        MLXSW_THERMAL_NUM_TRIPS,
-                                                       0,
                                                        module_tz,
                                                        &mlxsw_thermal_module_ops,
                                                        &mlxsw_thermal_params,
@@ -551,7 +550,6 @@ mlxsw_thermal_gearbox_tz_init(struct mlxsw_thermal_module *gearbox_tz)
        gearbox_tz->tzdev = thermal_zone_device_register_with_trips(tz_name,
                                                gearbox_tz->trips,
                                                MLXSW_THERMAL_NUM_TRIPS,
-                                               0,
                                                gearbox_tz,
                                                &mlxsw_thermal_gearbox_ops,
                                                &mlxsw_thermal_params, 0,
@@ -776,7 +774,6 @@ int mlxsw_thermal_init(struct mlxsw_core *core,
        thermal->tzdev = thermal_zone_device_register_with_trips("mlxsw",
                                                      thermal->trips,
                                                      MLXSW_THERMAL_NUM_TRIPS,
-                                                     0,
                                                      thermal,
                                                      &mlxsw_thermal_ops,
                                                      &mlxsw_thermal_params, 0,
index 2353177f2dfab60dba30fc6fb03fb0c773a74258..61a4638d1be2f2fdf952db252bb3755359f85eae 100644 (file)
@@ -694,7 +694,6 @@ static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
        mvm->tz_device.tzone = thermal_zone_device_register_with_trips(name,
                                                        mvm->tz_device.trips,
                                                        IWL_MAX_DTS_TRIPS,
-                                                       0,
                                                        mvm, &tzone_ops,
                                                        NULL, 0, 0);
        if (IS_ERR(mvm->tz_device.tzone)) {
index 74bcb3d131042f9e19a80766b0109821ecb0a609..018c484296162b1dcd482a46695869593bc0568a 100644 (file)
@@ -678,7 +678,7 @@ static int __init acerhdf_register_thermal(void)
                return -EINVAL;
 
        thz_dev = thermal_zone_device_register_with_trips("acerhdf", trips, ARRAY_SIZE(trips),
-                                                         0, NULL, &acerhdf_dev_ops,
+                                                         NULL, &acerhdf_dev_ops,
                                                          &acerhdf_zone_params, 0,
                                                          (kernelmode) ? interval*1000 : 0);
        if (IS_ERR(thz_dev))
index 160d64913057dc9a269c745e98c51c23cf99da0c..a27aff88cd96cbe17a0360781167b05ea4a241a4 100644 (file)
@@ -197,7 +197,7 @@ static int da9062_thermal_probe(struct platform_device *pdev)
        mutex_init(&thermal->lock);
 
        thermal->zone = thermal_zone_device_register_with_trips(thermal->config->name,
-                                                               trips, ARRAY_SIZE(trips), 0, thermal,
+                                                               trips, ARRAY_SIZE(trips), thermal,
                                                                &da9062_thermal_ops, NULL, pp_tmp,
                                                                0);
        if (IS_ERR(thermal->zone)) {
index 0dbede6bec5462db14d1591118845f685ccd72fb..83eaae5ca3b8ace566079ba270731adee1b76bb9 100644 (file)
@@ -701,7 +701,7 @@ static int imx_thermal_probe(struct platform_device *pdev)
        data->tz = thermal_zone_device_register_with_trips("imx_thermal_zone",
                                                           trips,
                                                           ARRAY_SIZE(trips),
-                                                          0, data,
+                                                          data,
                                                           &imx_tz_ops, NULL,
                                                           IMX_PASSIVE_DELAY,
                                                           IMX_POLLING_DELAY);
index 0e8148afb490a34ee56f1c20e49b268614596734..e8182f0929d3ddec43bdf8fb12bcd6f1d5a09d0e 100644 (file)
@@ -171,7 +171,7 @@ struct int34x_thermal_zone *int340x_thermal_zone_add(struct acpi_device *adev,
        int34x_zone->zone = thermal_zone_device_register_with_trips(
                                                        acpi_device_bid(adev),
                                                        zone_trips, trip_cnt,
-                                                       0, int34x_zone,
+                                                       int34x_zone,
                                                        &zone_ops,
                                                        &int340x_thermal_params,
                                                        0, 0);
index 7572f3a73c549c130db2c197872c0c48f5968b8a..7dcf6006816eadc4056a1041d0847b6e1f430e45 100644 (file)
@@ -290,7 +290,7 @@ static int proc_thermal_pci_probe(struct pci_dev *pdev, const struct pci_device_
        psv_trip.temperature = get_trip_temp(pci_info);
 
        pci_info->tzone = thermal_zone_device_register_with_trips("TCPU_PCI", &psv_trip,
-                                                       1, 0, pci_info,
+                                                       1, pci_info,
                                                        &tzone_ops,
                                                        &tzone_params, 0, 0);
        if (IS_ERR(pci_info->tzone)) {
index 8bfb221e57e753998f5ec4bfddd198a13797ee47..f5be2c389351a9f2f1262677fec40ebaa4a52ad0 100644 (file)
@@ -237,7 +237,7 @@ read_trips:
 
        ptd->tzd = thermal_zone_device_register_with_trips(board_names[board_id],
                                                           ptd_trips, nr_trips,
-                                                          0, ptd, &tzd_ops,
+                                                          ptd, &tzd_ops,
                                                           NULL, 0, 0);
        if (IS_ERR(ptd->tzd)) {
                dev_err(&pdev->dev, "Failed to register thermal zone %s\n",
index 55a031fc3a9af961c81a7d3fae0b76ac5d4ac37c..ec6ad26027bcb21122faf0d85dbeee1b9b3f80fe 100644 (file)
@@ -363,7 +363,7 @@ static struct soc_sensor_entry *alloc_soc_dts(void)
        aux_entry->tzone = thermal_zone_device_register_with_trips("quark_dts",
                                                                   trips,
                                                                   QRK_MAX_DTS_TRIPS,
-                                                                  0, aux_entry,
+                                                                  aux_entry,
                                                                   &tzone_ops,
                                                                   NULL, 0, polling_delay);
        if (IS_ERR(aux_entry->tzone)) {
index 5a84c91662745ce25d00a52e51e3df4536d17cda..2ab943b66f7aa914a96c434928994b807a6fe7ed 100644 (file)
@@ -230,7 +230,7 @@ static int add_dts_thermal_zone(int id, struct intel_soc_dts_sensor_entry *dts,
        snprintf(name, sizeof(name), "soc_dts%d", id);
        dts->tzone = thermal_zone_device_register_with_trips(name, trips,
                                                             SOC_MAX_DTS_TRIPS,
-                                                            0, dts, &tzone_ops,
+                                                            dts, &tzone_ops,
                                                             NULL, 0, 0);
        if (IS_ERR(dts->tzone)) {
                ret = PTR_ERR(dts->tzone);
index 5a48b73a0951ba68702bb55ad1721695d8cc103e..22a1e3268a989d7c99094e3a669db41feeeb2e78 100644 (file)
@@ -338,7 +338,7 @@ static int pkg_temp_thermal_device_add(unsigned int cpu)
        INIT_DELAYED_WORK(&zonedev->work, pkg_temp_thermal_threshold_work_fn);
        zonedev->cpu = cpu;
        zonedev->tzone = thermal_zone_device_register_with_trips("x86_pkg_temp",
-                       trips, thres_count, 0,
+                       trips, thres_count,
                        zonedev, &tzone_ops, &pkg_temp_tz_params, 0, 0);
        if (IS_ERR(zonedev->tzone)) {
                err = PTR_ERR(zonedev->tzone);
index feb848d595fa10a34cd1efcb9556fefdcc6a3f4d..925183753fcb46f5a75d1c36315c6e3867231edd 100644 (file)
@@ -489,7 +489,7 @@ static int rcar_thermal_probe(struct platform_device *pdev)
                                                &rcar_thermal_zone_ops);
                } else {
                        priv->zone = thermal_zone_device_register_with_trips(
-                               "rcar_thermal", trips, ARRAY_SIZE(trips), 0, priv,
+                               "rcar_thermal", trips, ARRAY_SIZE(trips), priv,
                                                &rcar_thermal_zone_ops, NULL, 0,
                                                idle);
 
index 0d6249b36609efc16903cd0f4358273da0296cb0..2a105409864ead390d8a57731240486f9b10b26a 100644 (file)
@@ -203,7 +203,7 @@ int st_thermal_register(struct platform_device *pdev,
        trip.type = THERMAL_TRIP_CRITICAL;
 
        sensor->thermal_dev =
-               thermal_zone_device_register_with_trips(dev_name(dev), &trip, 1, 0, sensor,
+               thermal_zone_device_register_with_trips(dev_name(dev), &trip, 1, sensor,
                                                        &st_tz_ops, NULL, 0, polling_delay);
        if (IS_ERR(sensor->thermal_dev)) {
                dev_err(dev, "failed to register thermal zone device\n");
index 2ab495220c6ef8998dd2792a7ee7454df36ac5f6..f7a7d43809e72daaa91f71d46bd1cb7681bc08b4 100644 (file)
@@ -1248,7 +1248,6 @@ EXPORT_SYMBOL_GPL(thermal_zone_get_crit_temp);
  * @type:      the thermal zone device type
  * @trips:     a pointer to an array of thermal trips
  * @num_trips: the number of trip points the thermal zone support
- * @mask:      a bit string indicating the writeablility of trip points
  * @devdata:   private device data
  * @ops:       standard thermal zone device callbacks
  * @tzp:       thermal zone platform parameters
@@ -1271,14 +1270,12 @@ EXPORT_SYMBOL_GPL(thermal_zone_get_crit_temp);
 struct thermal_zone_device *
 thermal_zone_device_register_with_trips(const char *type,
                                        const struct thermal_trip *trips,
-                                       int num_trips, int mask,
-                                       void *devdata,
+                                       int num_trips, void *devdata,
                                        const struct thermal_zone_device_ops *ops,
                                        const struct thermal_zone_params *tzp,
                                        int passive_delay, int polling_delay)
 {
        struct thermal_zone_device *tz;
-       struct thermal_trip *trip;
        int id;
        int result;
        struct thermal_governor *governor;
@@ -1294,20 +1291,7 @@ thermal_zone_device_register_with_trips(const char *type,
                return ERR_PTR(-EINVAL);
        }
 
-       /*
-        * Max trip count can't exceed 31 as the "mask >> num_trips" condition.
-        * For example, shifting by 32 will result in compiler warning:
-        * warning: right shift count >= width of type [-Wshift-count- overflow]
-        *
-        * Also "mask >> num_trips" will always be true with 32 bit shift.
-        * E.g. mask = 0x80000000 for trip id 31 to be RW. Then
-        * mask >> 32 = 0x80000000
-        * This will result in failure for the below condition.
-        *
-        * Check will be true when the bit 31 of the mask is set.
-        * 32 bit shift will cause overflow of 4 byte integer.
-        */
-       if (num_trips > (BITS_PER_TYPE(int) - 1) || num_trips < 0 || mask >> num_trips) {
+       if (num_trips < 0) {
                pr_err("Incorrect number of thermal trips\n");
                return ERR_PTR(-EINVAL);
        }
@@ -1357,12 +1341,6 @@ thermal_zone_device_register_with_trips(const char *type,
        tz->devdata = devdata;
        tz->num_trips = num_trips;
        memcpy(tz->trips, trips, num_trips * sizeof(*trips));
-       for_each_trip(tz, trip) {
-               if (mask & 1)
-                       trip->flags |= THERMAL_TRIP_FLAG_RW_TEMP;
-
-               mask >>= 1;
-       }
 
        thermal_set_delay_jiffies(&tz->passive_delay_jiffies, passive_delay);
        thermal_set_delay_jiffies(&tz->polling_delay_jiffies, polling_delay);
@@ -1447,7 +1425,7 @@ struct thermal_zone_device *thermal_tripless_zone_device_register(
                                        const struct thermal_zone_device_ops *ops,
                                        const struct thermal_zone_params *tzp)
 {
-       return thermal_zone_device_register_with_trips(type, NULL, 0, 0, devdata,
+       return thermal_zone_device_register_with_trips(type, NULL, 0, devdata,
                                                       ops, tzp, 0, 0);
 }
 EXPORT_SYMBOL_GPL(thermal_tripless_zone_device_register);
index c3bd5fb15c7e2952ff79e1030068304f29328b6c..f1cbf9aa62cfedc2f621d6d619f3226f4a46f2e9 100644 (file)
@@ -507,7 +507,7 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node *
                        of_ops.critical = thermal_zone_device_critical_reboot;
 
        tz = thermal_zone_device_register_with_trips(np->name, trips, ntrips,
-                                                    0, data, &of_ops, &tzp,
+                                                    data, &of_ops, &tzp,
                                                     pdelay, delay);
        if (IS_ERR(tz)) {
                ret = PTR_ERR(tz);
index eb4145a64c7e0e603284c13ce42c0af87b248b52..c33f50177f5185e0f0ea9dcbb78fc4d6843217da 100644 (file)
@@ -323,8 +323,7 @@ int thermal_zone_get_crit_temp(struct thermal_zone_device *tz, int *temp);
 struct thermal_zone_device *thermal_zone_device_register_with_trips(
                                        const char *type,
                                        const struct thermal_trip *trips,
-                                       int num_trips, int mask,
-                                       void *devdata,
+                                       int num_trips, void *devdata,
                                        const struct thermal_zone_device_ops *ops,
                                        const struct thermal_zone_params *tzp,
                                        int passive_delay, int polling_delay);
@@ -383,8 +382,7 @@ void thermal_zone_device_critical(struct thermal_zone_device *tz);
 static inline struct thermal_zone_device *thermal_zone_device_register_with_trips(
                                        const char *type,
                                        const struct thermal_trip *trips,
-                                       int num_trips, int mask,
-                                       void *devdata,
+                                       int num_trips, void *devdata,
                                        const struct thermal_zone_device_ops *ops,
                                        const struct thermal_zone_params *tzp,
                                        int passive_delay, int polling_delay)
This page took 0.188563 seconds and 4 git commands to generate.