tz->thermal_zone = thermal_zone_device_register_with_trips("acpitz",
                                                                   trip_table,
                                                                   trip_count,
-                                                                  0, tz,
+                                                                  tz,
                                                                   &acpi_thermal_zone_ops,
                                                                   NULL,
                                                                   passive_delay,
 
 
        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)) {
 
        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,
        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,
        thermal->tzdev = thermal_zone_device_register_with_trips("mlxsw",
                                                      thermal->trips,
                                                      MLXSW_THERMAL_NUM_TRIPS,
-                                                     0,
                                                      thermal,
                                                      &mlxsw_thermal_ops,
                                                      &mlxsw_thermal_params, 0,
 
        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)) {
 
                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))
 
        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)) {
 
        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);
 
        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);
 
        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)) {
 
 
        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",
 
        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)) {
 
        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);
 
        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);
 
                                                &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);
 
 
        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");
 
  * @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
 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;
                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);
        }
        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);
                                        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);
 
                        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);
 
 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);
 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)