I didn't notice this when merging the thermal code from Zhang, but his merge (commit 5a924a07f882: "Merge branches 'thermal-core' and 'thermal-intel' of .git into next") of the thermal-core and thermal-intel branches was wrong. In thermal-core, commit 17e8351a7739 ("thermal: consistently use int for temperatures") converted the thermal layer to use "int" for temperatures. But in parallel, in the thermal-intel branch commit d0a12625d2ff ("thermal: Add Intel PCH thermal driver") added support for the intel PCH thermal sensor using the old interfaces that used "unsigned long" pointers. This resulted in warnings like this: drivers/thermal/intel_pch_thermal.c:184:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] .get_temp = pch_thermal_get_temp, ^ drivers/thermal/intel_pch_thermal.c:184:14: note: (near initialization for ‘tzd_ops.get_temp’) drivers/thermal/intel_pch_thermal.c:186:19: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] .get_trip_temp = pch_get_trip_temp, ^ drivers/thermal/intel_pch_thermal.c:186:19: note: (near initialization for ‘tzd_ops.get_trip_temp’) This fixes it.
Unified · Split
| @@ -117,8 +117,7 @@ read_trips: · 116 unmodified lines | ||
| 117 | 117 | return 0; |
| 118 | 118 | } |
| 119 | 119 | |
| 120 | −static int pch_wpt_get_temp(struct pch_thermal_device *ptd, | |
| 121 | − unsigned long *temp) | |
| 120 | +static int pch_wpt_get_temp(struct pch_thermal_device *ptd, int *temp) | |
| 122 | 121 | { |
| 123 | 122 | u8 wpt_temp; |
| 124 | 123 | |
| @@ -132,7 +131,7 @@ static int pch_wpt_get_temp(struct pch_thermal_device *ptd, · 7 unmodified lines | ||
| 132 | 131 | |
| 133 | 132 | struct pch_dev_ops { |
| 134 | 133 | int (*hw_init)(struct pch_thermal_device *ptd, int *nr_trips); |
| 135 | − int (*get_temp)(struct pch_thermal_device *ptd, unsigned long *temp); | |
| 134 | + int (*get_temp)(struct pch_thermal_device *ptd, int *temp); | |
| 136 | 135 | }; |
| 137 | 136 | |
| 138 | 137 | |
| @@ -142,8 +141,7 @@ static struct pch_dev_ops pch_dev_ops_wpt = { · 3 unmodified lines | ||
| 142 | 141 | .get_temp = pch_wpt_get_temp, |
| 143 | 142 | }; |
| 144 | 143 | |
| 145 | −static int pch_thermal_get_temp(struct thermal_zone_device *tzd, | |
| 146 | − unsigned long *temp) | |
| 144 | +static int pch_thermal_get_temp(struct thermal_zone_device *tzd, int *temp) | |
| 147 | 145 | { |
| 148 | 146 | struct pch_thermal_device *ptd = tzd->devdata; |
| 149 | 147 | |
| @@ -165,8 +163,7 @@ static int pch_get_trip_type(struct thermal_zone_device *tzd, int trip, · 15 unmodified lines | ||
| 165 | 163 | return 0; |
| 166 | 164 | } |
| 167 | 165 | |
| 168 | −static int pch_get_trip_temp(struct thermal_zone_device *tzd, int trip, | |
| 169 | − unsigned long *temp) | |
| 166 | +static int pch_get_trip_temp(struct thermal_zone_device *tzd, int trip, int *temp) | |
| 170 | 167 | { |
| 171 | 168 | struct pch_thermal_device *ptd = tzd->devdata; |
| 172 | 169 | |