Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: gyro: bmg160: use regmap to retrieve struct device

Driver includes struct regmap and struct device in its global data.
Remove the struct device and use regmap API to retrieve device info.

Patch created using Coccinelle plus manual edits.

Signed-off-by: Alison Schofield <amsfield22@gmail.com>
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>

authored by

Alison Schofield and committed by
Jonathan Cameron
dc2c5715 0ef4c311

+44 -42
+44 -42
drivers/iio/gyro/bmg160_core.c
··· 95 95 #define BMG160_AUTO_SUSPEND_DELAY_MS 2000 96 96 97 97 struct bmg160_data { 98 - struct device *dev; 99 98 struct regmap *regmap; 100 99 struct iio_trigger *dready_trig; 101 100 struct iio_trigger *motion_trig; ··· 136 137 137 138 static int bmg160_set_mode(struct bmg160_data *data, u8 mode) 138 139 { 140 + struct device *dev = regmap_get_device(data->regmap); 139 141 int ret; 140 142 141 143 ret = regmap_write(data->regmap, BMG160_REG_PMU_LPW, mode); 142 144 if (ret < 0) { 143 - dev_err(data->dev, "Error writing reg_pmu_lpw\n"); 145 + dev_err(dev, "Error writing reg_pmu_lpw\n"); 144 146 return ret; 145 147 } 146 148 ··· 162 162 163 163 static int bmg160_set_bw(struct bmg160_data *data, int val) 164 164 { 165 + struct device *dev = regmap_get_device(data->regmap); 165 166 int ret; 166 167 int bw_bits; 167 168 ··· 172 171 173 172 ret = regmap_write(data->regmap, BMG160_REG_PMU_BW, bw_bits); 174 173 if (ret < 0) { 175 - dev_err(data->dev, "Error writing reg_pmu_bw\n"); 174 + dev_err(dev, "Error writing reg_pmu_bw\n"); 176 175 return ret; 177 176 } 178 177 ··· 183 182 184 183 static int bmg160_chip_init(struct bmg160_data *data) 185 184 { 185 + struct device *dev = regmap_get_device(data->regmap); 186 186 int ret; 187 187 unsigned int val; 188 188 189 189 ret = regmap_read(data->regmap, BMG160_REG_CHIP_ID, &val); 190 190 if (ret < 0) { 191 - dev_err(data->dev, "Error reading reg_chip_id\n"); 191 + dev_err(dev, "Error reading reg_chip_id\n"); 192 192 return ret; 193 193 } 194 194 195 - dev_dbg(data->dev, "Chip Id %x\n", val); 195 + dev_dbg(dev, "Chip Id %x\n", val); 196 196 if (val != BMG160_CHIP_ID_VAL) { 197 - dev_err(data->dev, "invalid chip %x\n", val); 197 + dev_err(dev, "invalid chip %x\n", val); 198 198 return -ENODEV; 199 199 } 200 200 ··· 214 212 /* Set Default Range */ 215 213 ret = regmap_write(data->regmap, BMG160_REG_RANGE, BMG160_RANGE_500DPS); 216 214 if (ret < 0) { 217 - dev_err(data->dev, "Error writing reg_range\n"); 215 + dev_err(dev, "Error writing reg_range\n"); 218 216 return ret; 219 217 } 220 218 data->dps_range = BMG160_RANGE_500DPS; 221 219 222 220 ret = regmap_read(data->regmap, BMG160_REG_SLOPE_THRES, &val); 223 221 if (ret < 0) { 224 - dev_err(data->dev, "Error reading reg_slope_thres\n"); 222 + dev_err(dev, "Error reading reg_slope_thres\n"); 225 223 return ret; 226 224 } 227 225 data->slope_thres = val; ··· 230 228 ret = regmap_update_bits(data->regmap, BMG160_REG_INT_EN_1, 231 229 BMG160_INT1_BIT_OD, 0); 232 230 if (ret < 0) { 233 - dev_err(data->dev, "Error updating bits in reg_int_en_1\n"); 231 + dev_err(dev, "Error updating bits in reg_int_en_1\n"); 234 232 return ret; 235 233 } 236 234 ··· 238 236 BMG160_INT_MODE_LATCH_INT | 239 237 BMG160_INT_MODE_LATCH_RESET); 240 238 if (ret < 0) { 241 - dev_err(data->dev, 239 + dev_err(dev, 242 240 "Error writing reg_motion_intr\n"); 243 241 return ret; 244 242 } ··· 249 247 static int bmg160_set_power_state(struct bmg160_data *data, bool on) 250 248 { 251 249 #ifdef CONFIG_PM 250 + struct device *dev = regmap_get_device(data->regmap); 252 251 int ret; 253 252 254 253 if (on) 255 - ret = pm_runtime_get_sync(data->dev); 254 + ret = pm_runtime_get_sync(dev); 256 255 else { 257 - pm_runtime_mark_last_busy(data->dev); 258 - ret = pm_runtime_put_autosuspend(data->dev); 256 + pm_runtime_mark_last_busy(dev); 257 + ret = pm_runtime_put_autosuspend(dev); 259 258 } 260 259 261 260 if (ret < 0) { 262 - dev_err(data->dev, 263 - "Failed: bmg160_set_power_state for %d\n", on); 261 + dev_err(dev, "Failed: bmg160_set_power_state for %d\n", on); 262 + 264 263 if (on) 265 - pm_runtime_put_noidle(data->dev); 264 + pm_runtime_put_noidle(dev); 266 265 267 266 return ret; 268 267 } ··· 275 272 static int bmg160_setup_any_motion_interrupt(struct bmg160_data *data, 276 273 bool status) 277 274 { 275 + struct device *dev = regmap_get_device(data->regmap); 278 276 int ret; 279 277 280 278 /* Enable/Disable INT_MAP0 mapping */ ··· 283 279 BMG160_INT_MAP_0_BIT_ANY, 284 280 (status ? BMG160_INT_MAP_0_BIT_ANY : 0)); 285 281 if (ret < 0) { 286 - dev_err(data->dev, "Error updating bits reg_int_map0\n"); 282 + dev_err(dev, "Error updating bits reg_int_map0\n"); 287 283 return ret; 288 284 } 289 285 ··· 293 289 ret = regmap_write(data->regmap, BMG160_REG_SLOPE_THRES, 294 290 data->slope_thres); 295 291 if (ret < 0) { 296 - dev_err(data->dev, 297 - "Error writing reg_slope_thres\n"); 292 + dev_err(dev, "Error writing reg_slope_thres\n"); 298 293 return ret; 299 294 } 300 295 ··· 301 298 BMG160_INT_MOTION_X | BMG160_INT_MOTION_Y | 302 299 BMG160_INT_MOTION_Z); 303 300 if (ret < 0) { 304 - dev_err(data->dev, 305 - "Error writing reg_motion_intr\n"); 301 + dev_err(dev, "Error writing reg_motion_intr\n"); 306 302 return ret; 307 303 } 308 304 ··· 316 314 BMG160_INT_MODE_LATCH_INT | 317 315 BMG160_INT_MODE_LATCH_RESET); 318 316 if (ret < 0) { 319 - dev_err(data->dev, 320 - "Error writing reg_rst_latch\n"); 317 + dev_err(dev, "Error writing reg_rst_latch\n"); 321 318 return ret; 322 319 } 323 320 } ··· 329 328 } 330 329 331 330 if (ret < 0) { 332 - dev_err(data->dev, "Error writing reg_int_en0\n"); 331 + dev_err(dev, "Error writing reg_int_en0\n"); 333 332 return ret; 334 333 } 335 334 ··· 339 338 static int bmg160_setup_new_data_interrupt(struct bmg160_data *data, 340 339 bool status) 341 340 { 341 + struct device *dev = regmap_get_device(data->regmap); 342 342 int ret; 343 343 344 344 /* Enable/Disable INT_MAP1 mapping */ ··· 347 345 BMG160_INT_MAP_1_BIT_NEW_DATA, 348 346 (status ? BMG160_INT_MAP_1_BIT_NEW_DATA : 0)); 349 347 if (ret < 0) { 350 - dev_err(data->dev, "Error updating bits in reg_int_map1\n"); 348 + dev_err(dev, "Error updating bits in reg_int_map1\n"); 351 349 return ret; 352 350 } 353 351 ··· 356 354 BMG160_INT_MODE_NON_LATCH_INT | 357 355 BMG160_INT_MODE_LATCH_RESET); 358 356 if (ret < 0) { 359 - dev_err(data->dev, 360 - "Error writing reg_rst_latch\n"); 361 - return ret; 357 + dev_err(dev, "Error writing reg_rst_latch\n"); 358 + return ret; 362 359 } 363 360 364 361 ret = regmap_write(data->regmap, BMG160_REG_INT_EN_0, ··· 369 368 BMG160_INT_MODE_LATCH_INT | 370 369 BMG160_INT_MODE_LATCH_RESET); 371 370 if (ret < 0) { 372 - dev_err(data->dev, 373 - "Error writing reg_rst_latch\n"); 374 - return ret; 371 + dev_err(dev, "Error writing reg_rst_latch\n"); 372 + return ret; 375 373 } 376 374 377 375 ret = regmap_write(data->regmap, BMG160_REG_INT_EN_0, 0); 378 376 } 379 377 380 378 if (ret < 0) { 381 - dev_err(data->dev, "Error writing reg_int_en0\n"); 379 + dev_err(dev, "Error writing reg_int_en0\n"); 382 380 return ret; 383 381 } 384 382 ··· 400 400 401 401 static int bmg160_set_scale(struct bmg160_data *data, int val) 402 402 { 403 + struct device *dev = regmap_get_device(data->regmap); 403 404 int ret, i; 404 405 405 406 for (i = 0; i < ARRAY_SIZE(bmg160_scale_table); ++i) { ··· 408 407 ret = regmap_write(data->regmap, BMG160_REG_RANGE, 409 408 bmg160_scale_table[i].dps_range); 410 409 if (ret < 0) { 411 - dev_err(data->dev, 412 - "Error writing reg_range\n"); 410 + dev_err(dev, "Error writing reg_range\n"); 413 411 return ret; 414 412 } 415 413 data->dps_range = bmg160_scale_table[i].dps_range; ··· 421 421 422 422 static int bmg160_get_temp(struct bmg160_data *data, int *val) 423 423 { 424 + struct device *dev = regmap_get_device(data->regmap); 424 425 int ret; 425 426 unsigned int raw_val; 426 427 ··· 434 433 435 434 ret = regmap_read(data->regmap, BMG160_REG_TEMP, &raw_val); 436 435 if (ret < 0) { 437 - dev_err(data->dev, "Error reading reg_temp\n"); 436 + dev_err(dev, "Error reading reg_temp\n"); 438 437 bmg160_set_power_state(data, false); 439 438 mutex_unlock(&data->mutex); 440 439 return ret; ··· 451 450 452 451 static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val) 453 452 { 453 + struct device *dev = regmap_get_device(data->regmap); 454 454 int ret; 455 455 unsigned int raw_val; 456 456 ··· 465 463 ret = regmap_bulk_read(data->regmap, BMG160_AXIS_TO_REG(axis), &raw_val, 466 464 2); 467 465 if (ret < 0) { 468 - dev_err(data->dev, "Error reading axis %d\n", axis); 466 + dev_err(dev, "Error reading axis %d\n", axis); 469 467 bmg160_set_power_state(data, false); 470 468 mutex_unlock(&data->mutex); 471 469 return ret; ··· 795 793 { 796 794 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); 797 795 struct bmg160_data *data = iio_priv(indio_dev); 796 + struct device *dev = regmap_get_device(data->regmap); 798 797 int ret; 799 798 800 799 /* new data interrupts don't need ack */ ··· 807 804 BMG160_INT_MODE_LATCH_INT | 808 805 BMG160_INT_MODE_LATCH_RESET); 809 806 if (ret < 0) { 810 - dev_err(data->dev, "Error writing reg_rst_latch\n"); 807 + dev_err(dev, "Error writing reg_rst_latch\n"); 811 808 return ret; 812 809 } 813 810 ··· 867 864 { 868 865 struct iio_dev *indio_dev = private; 869 866 struct bmg160_data *data = iio_priv(indio_dev); 867 + struct device *dev = regmap_get_device(data->regmap); 870 868 int ret; 871 869 int dir; 872 870 unsigned int val; 873 871 874 872 ret = regmap_read(data->regmap, BMG160_REG_INT_STATUS_2, &val); 875 873 if (ret < 0) { 876 - dev_err(data->dev, "Error reading reg_int_status2\n"); 874 + dev_err(dev, "Error reading reg_int_status2\n"); 877 875 goto ack_intr_status; 878 876 } 879 877 ··· 911 907 BMG160_INT_MODE_LATCH_INT | 912 908 BMG160_INT_MODE_LATCH_RESET); 913 909 if (ret < 0) 914 - dev_err(data->dev, 915 - "Error writing reg_rst_latch\n"); 910 + dev_err(dev, "Error writing reg_rst_latch\n"); 916 911 } 917 912 918 913 return IRQ_HANDLED; ··· 979 976 980 977 data = iio_priv(indio_dev); 981 978 dev_set_drvdata(dev, indio_dev); 982 - data->dev = dev; 983 979 data->irq = irq; 984 980 data->regmap = regmap; 985 981 ··· 1141 1139 1142 1140 ret = bmg160_set_mode(data, BMG160_MODE_SUSPEND); 1143 1141 if (ret < 0) { 1144 - dev_err(data->dev, "set mode failed\n"); 1142 + dev_err(dev, "set mode failed\n"); 1145 1143 return -EAGAIN; 1146 1144 } 1147 1145