On Sat, 2016-04-16 at 20:20 +0100, Jonathan Cameron wrote: > On 10/04/16 20:05, Alison Schofield wrote: > > > > 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@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> > I'm happy with this but please do make sure to cc the maintainer / > author > of drivers if possible (often the email addresses are out of date!) > > Srinivas, this is one of yours. Are you happy with this? > I've also cc'd Irina who has worked on this driver recently for any > comments. > > If no one comments in the meantime I'll probably pick these up > sometime > in the next week. > > Jonathan > > > > --- > > drivers/iio/accel/bmc150-accel-core.c | 99 +++++++++++++++++++-- > > -------------- > > 1 file changed, 54 insertions(+), 45 deletions(-) > > > > diff --git a/drivers/iio/accel/bmc150-accel-core.c > > b/drivers/iio/accel/bmc150-accel-core.c > > index f3d096f..ad5310b 100644 > > --- a/drivers/iio/accel/bmc150-accel-core.c > > +++ b/drivers/iio/accel/bmc150-accel-core.c > > @@ -188,7 +188,6 @@ enum bmc150_accel_trigger_id { > > > > struct bmc150_accel_data { > > struct regmap *regmap; > > - struct device *dev; > > int irq; > > struct bmc150_accel_interrupt > > interrupts[BMC150_ACCEL_INTERRUPTS]; > > atomic_t active_intr; > > @@ -256,6 +255,7 @@ static int bmc150_accel_set_mode(struct > > bmc150_accel_data *data, > > enum bmc150_power_modes mode, > > int dur_us) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int i; > > int ret; > > u8 lpw_bits; > > @@ -279,11 +279,11 @@ static int bmc150_accel_set_mode(struct > > bmc150_accel_data *data, > > lpw_bits = mode << BMC150_ACCEL_PMU_MODE_SHIFT; > > lpw_bits |= (dur_val << > > BMC150_ACCEL_PMU_BIT_SLEEP_DUR_SHIFT); > > > > - dev_dbg(data->dev, "Set Mode bits %x\n", lpw_bits); > > + dev_dbg(dev, "Set Mode bits %x\n", lpw_bits); > > > > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_PMU_LPW, > > lpw_bits); > > if (ret < 0) { > > - dev_err(data->dev, "Error writing reg_pmu_lpw\n"); > > + dev_err(dev, "Error writing reg_pmu_lpw\n"); > > return ret; > > } > > > > @@ -316,23 +316,24 @@ static int bmc150_accel_set_bw(struct > > bmc150_accel_data *data, int val, > > > > static int bmc150_accel_update_slope(struct bmc150_accel_data > > *data) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int ret; > > > > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_6, > > data->slope_thres); > > if (ret < 0) { > > - dev_err(data->dev, "Error writing reg_int_6\n"); > > + dev_err(dev, "Error writing reg_int_6\n"); > > return ret; > > } > > > > ret = regmap_update_bits(data->regmap, > > BMC150_ACCEL_REG_INT_5, > > BMC150_ACCEL_SLOPE_DUR_MASK, > > data->slope_dur); > > if (ret < 0) { > > - dev_err(data->dev, "Error updating reg_int_5\n"); > > + dev_err(dev, "Error updating reg_int_5\n"); > > return ret; > > } > > > > - dev_dbg(data->dev, "%s: %x %x\n", __func__, data- > > >slope_thres, > > + dev_dbg(dev, "%s: %x %x\n", __func__, data->slope_thres, > > data->slope_dur); > > > > return ret; > > @@ -378,20 +379,21 @@ static int > > bmc150_accel_get_startup_times(struct bmc150_accel_data *data) > > > > static int bmc150_accel_set_power_state(struct bmc150_accel_data > > *data, bool on) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int ret; > > > > if (on) { > > - ret = pm_runtime_get_sync(data->dev); > > + ret = pm_runtime_get_sync(dev); > > } else { > > - pm_runtime_mark_last_busy(data->dev); > > - ret = pm_runtime_put_autosuspend(data->dev); > > + pm_runtime_mark_last_busy(dev); > > + ret = pm_runtime_put_autosuspend(dev); > > } > > > > if (ret < 0) { > > - dev_err(data->dev, > > + dev_err(dev, > > "Failed: bmc150_accel_set_power_state for > > %d\n", on); > > if (on) > > - pm_runtime_put_noidle(data->dev); > > + pm_runtime_put_noidle(dev); > > > > return ret; > > } > > @@ -445,6 +447,7 @@ static void > > bmc150_accel_interrupts_setup(struct iio_dev *indio_dev, > > static int bmc150_accel_set_interrupt(struct bmc150_accel_data > > *data, int i, > > bool state) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > struct bmc150_accel_interrupt *intr = &data- > > >interrupts[i]; > > const struct bmc150_accel_interrupt_info *info = intr- > > >info; > > int ret; > > @@ -474,7 +477,7 @@ static int bmc150_accel_set_interrupt(struct > > bmc150_accel_data *data, int i, > > ret = regmap_update_bits(data->regmap, info->map_reg, > > info->map_bitmask, > > (state ? info->map_bitmask : 0)); > > if (ret < 0) { > > - dev_err(data->dev, "Error updating > > reg_int_map\n"); > > + dev_err(dev, "Error updating reg_int_map\n"); > > goto out_fix_power_state; > > } > > > > @@ -482,7 +485,7 @@ static int bmc150_accel_set_interrupt(struct > > bmc150_accel_data *data, int i, > > ret = regmap_update_bits(data->regmap, info->en_reg, info- > > >en_bitmask, > > (state ? info->en_bitmask : 0)); > > if (ret < 0) { > > - dev_err(data->dev, "Error updating reg_int_en\n"); > > + dev_err(dev, "Error updating reg_int_en\n"); > > goto out_fix_power_state; > > } > > > > @@ -500,6 +503,7 @@ out_fix_power_state: > > > > static int bmc150_accel_set_scale(struct bmc150_accel_data *data, > > int val) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int ret, i; > > > > for (i = 0; i < ARRAY_SIZE(data->chip_info->scale_table); > > ++i) { > > @@ -508,8 +512,7 @@ static int bmc150_accel_set_scale(struct > > bmc150_accel_data *data, int val) > > BMC150_ACCEL_REG_PMU_RANGE, > > data->chip_info- > > >scale_table[i].reg_range); > > if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing > > pmu_range\n"); > > + dev_err(dev, "Error writing > > pmu_range\n"); > > return ret; > > } > > > > @@ -523,6 +526,7 @@ static int bmc150_accel_set_scale(struct > > bmc150_accel_data *data, int val) > > > > static int bmc150_accel_get_temp(struct bmc150_accel_data *data, > > int *val) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int ret; > > unsigned int value; > > > > @@ -530,7 +534,7 @@ static int bmc150_accel_get_temp(struct > > bmc150_accel_data *data, int *val) > > > > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_TEMP, > > &value); > > if (ret < 0) { > > - dev_err(data->dev, "Error reading reg_temp\n"); > > + dev_err(dev, "Error reading reg_temp\n"); > > mutex_unlock(&data->mutex); > > return ret; > > } > > @@ -545,6 +549,7 @@ static int bmc150_accel_get_axis(struct > > bmc150_accel_data *data, > > struct iio_chan_spec const *chan, > > int *val) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int ret; > > int axis = chan->scan_index; > > unsigned int raw_val; > > @@ -559,7 +564,7 @@ static int bmc150_accel_get_axis(struct > > bmc150_accel_data *data, > > ret = regmap_bulk_read(data->regmap, > > BMC150_ACCEL_AXIS_TO_REG(axis), > > &raw_val, 2); > > if (ret < 0) { > > - dev_err(data->dev, "Error reading axis %d\n", > > axis); > > + dev_err(dev, "Error reading axis %d\n", axis); > > bmc150_accel_set_power_state(data, false); > > mutex_unlock(&data->mutex); > > return ret; > > @@ -831,6 +836,7 @@ static int bmc150_accel_set_watermark(struct > > iio_dev *indio_dev, unsigned val) > > static int bmc150_accel_fifo_transfer(struct bmc150_accel_data > > *data, > > char *buffer, int samples) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int sample_length = 3 * 2; > > int ret; > > int total_length = samples * sample_length; > > @@ -854,7 +860,8 @@ static int bmc150_accel_fifo_transfer(struct > > bmc150_accel_data *data, > > } > > > > if (ret) > > - dev_err(data->dev, "Error transferring data from > > fifo in single steps of %zu\n", > > + dev_err(dev, > > + "Error transferring data from fifo in > > single steps of %zu\n", > > step); > > > > return ret; > > @@ -864,6 +871,7 @@ static int __bmc150_accel_fifo_flush(struct > > iio_dev *indio_dev, > > unsigned samples, bool irq) > > { > > struct bmc150_accel_data *data = iio_priv(indio_dev); > > + struct device *dev = regmap_get_device(data->regmap); > > int ret, i; > > u8 count; > > u16 buffer[BMC150_ACCEL_FIFO_LENGTH * 3]; > > @@ -873,7 +881,7 @@ static int __bmc150_accel_fifo_flush(struct > > iio_dev *indio_dev, > > > > ret = regmap_read(data->regmap, > > BMC150_ACCEL_REG_FIFO_STATUS, &val); > > if (ret < 0) { > > - dev_err(data->dev, "Error reading > > reg_fifo_status\n"); > > + dev_err(dev, "Error reading reg_fifo_status\n"); > > return ret; > > } > > > > @@ -1135,6 +1143,7 @@ static int bmc150_accel_trig_try_reen(struct > > iio_trigger *trig) > > { > > struct bmc150_accel_trigger *t = > > iio_trigger_get_drvdata(trig); > > struct bmc150_accel_data *data = t->data; > > + struct device *dev = regmap_get_device(data->regmap); > > int ret; > > > > /* new data interrupts don't need ack */ > > @@ -1148,8 +1157,7 @@ static int bmc150_accel_trig_try_reen(struct > > iio_trigger *trig) > > BMC150_ACCEL_INT_MODE_LATCH_RESET); > > mutex_unlock(&data->mutex); > > if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing reg_int_rst_latch\n"); > > + dev_err(dev, "Error writing reg_int_rst_latch\n"); > > return ret; > > } > > > > @@ -1200,13 +1208,14 @@ static const struct iio_trigger_ops > > bmc150_accel_trigger_ops = { > > static int bmc150_accel_handle_roc_event(struct iio_dev > > *indio_dev) > > { > > struct bmc150_accel_data *data = iio_priv(indio_dev); > > + struct device *dev = regmap_get_device(data->regmap); > > int dir; > > int ret; > > unsigned int val; > > > > ret = regmap_read(data->regmap, > > BMC150_ACCEL_REG_INT_STATUS_2, &val); > > if (ret < 0) { > > - dev_err(data->dev, "Error reading > > reg_int_status_2\n"); > > + dev_err(dev, "Error reading reg_int_status_2\n"); > > return ret; > > } > > > > @@ -1249,6 +1258,7 @@ static irqreturn_t > > bmc150_accel_irq_thread_handler(int irq, void *private) > > { > > struct iio_dev *indio_dev = private; > > struct bmc150_accel_data *data = iio_priv(indio_dev); > > + struct device *dev = regmap_get_device(data->regmap); > > bool ack = false; > > int ret; > > > > @@ -1272,7 +1282,7 @@ static irqreturn_t > > bmc150_accel_irq_thread_handler(int irq, void *private) > > BMC150_ACCEL_INT_MODE_LATCH_INT > > | > > BMC150_ACCEL_INT_MODE_LATCH_RES > > ET); > > if (ret) > > - dev_err(data->dev, "Error writing > > reg_int_rst_latch\n"); > > + dev_err(dev, "Error writing > > reg_int_rst_latch\n"); > > > > ret = IRQ_HANDLED; > > } else { > > @@ -1343,13 +1353,14 @@ static void > > bmc150_accel_unregister_triggers(struct bmc150_accel_data *data, > > static int bmc150_accel_triggers_setup(struct iio_dev *indio_dev, > > struct bmc150_accel_data > > *data) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int i, ret; > > > > for (i = 0; i < BMC150_ACCEL_TRIGGERS; i++) { > > struct bmc150_accel_trigger *t = &data- > > >triggers[i]; > > > > - t->indio_trig = devm_iio_trigger_alloc(data->dev, > > - bmc150_accel_trigge > > rs[i].name, > > + t->indio_trig = devm_iio_trigger_alloc(dev, > > + bmc150_accel_triggers[i].n > > ame, > > indio_dev- > > >name, > > indio_dev- > > >id); > > if (!t->indio_trig) { > > @@ -1357,7 +1368,7 @@ static int bmc150_accel_triggers_setup(struct > > iio_dev *indio_dev, > > break; > > } > > > > - t->indio_trig->dev.parent = data->dev; > > + t->indio_trig->dev.parent = dev; > > t->indio_trig->ops = &bmc150_accel_trigger_ops; > > t->intr = bmc150_accel_triggers[i].intr; > > t->data = data; > > @@ -1381,12 +1392,13 @@ static int > > bmc150_accel_triggers_setup(struct iio_dev *indio_dev, > > > > static int bmc150_accel_fifo_set_mode(struct bmc150_accel_data > > *data) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > u8 reg = BMC150_ACCEL_REG_FIFO_CONFIG1; > > int ret; > > > > ret = regmap_write(data->regmap, reg, data->fifo_mode); > > if (ret < 0) { > > - dev_err(data->dev, "Error writing > > reg_fifo_config1\n"); > > + dev_err(dev, "Error writing reg_fifo_config1\n"); > > return ret; > > } > > > > @@ -1396,7 +1408,7 @@ static int bmc150_accel_fifo_set_mode(struct > > bmc150_accel_data *data) > > ret = regmap_write(data->regmap, > > BMC150_ACCEL_REG_FIFO_CONFIG0, > > data->watermark); > > if (ret < 0) > > - dev_err(data->dev, "Error writing > > reg_fifo_config0\n"); > > + dev_err(dev, "Error writing reg_fifo_config0\n"); > > > > return ret; > > } > > @@ -1480,17 +1492,17 @@ static const struct iio_buffer_setup_ops > > bmc150_accel_buffer_ops = { > > > > static int bmc150_accel_chip_init(struct bmc150_accel_data *data) > > { > > + struct device *dev = regmap_get_device(data->regmap); > > int ret, i; > > unsigned int val; > > > > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_CHIP_ID, > > &val); > > if (ret < 0) { > > - dev_err(data->dev, > > - "Error: Reading chip id\n"); > > + dev_err(dev, "Error: Reading chip id\n"); > > return ret; > > } > > > > - dev_dbg(data->dev, "Chip Id %x\n", val); > > + dev_dbg(dev, "Chip Id %x\n", val); > > for (i = 0; i < ARRAY_SIZE(bmc150_accel_chip_info_tbl); > > i++) { > > if (bmc150_accel_chip_info_tbl[i].chip_id == val) > > { > > data->chip_info = > > &bmc150_accel_chip_info_tbl[i]; > > @@ -1499,7 +1511,7 @@ static int bmc150_accel_chip_init(struct > > bmc150_accel_data *data) > > } > > > > if (!data->chip_info) { > > - dev_err(data->dev, "Invalid chip %x\n", val); > > + dev_err(dev, "Invalid chip %x\n", val); > > return -ENODEV; > > } > > > > @@ -1516,8 +1528,7 @@ static int bmc150_accel_chip_init(struct > > bmc150_accel_data *data) > > ret = regmap_write(data->regmap, > > BMC150_ACCEL_REG_PMU_RANGE, > > BMC150_ACCEL_DEF_RANGE_4G); > > if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing > > reg_pmu_range\n"); > > + dev_err(dev, "Error writing reg_pmu_range\n"); > > return ret; > > } > > > > @@ -1535,8 +1546,7 @@ static int bmc150_accel_chip_init(struct > > bmc150_accel_data *data) > > BMC150_ACCEL_INT_MODE_LATCH_INT | > > BMC150_ACCEL_INT_MODE_LATCH_RESET); > > if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing reg_int_rst_latch\n"); > > + dev_err(dev, "Error writing reg_int_rst_latch\n"); > > return ret; > > } > > > > @@ -1556,7 +1566,6 @@ int bmc150_accel_core_probe(struct device > > *dev, struct regmap *regmap, int irq, > > > > data = iio_priv(indio_dev); > > dev_set_drvdata(dev, indio_dev); > > - data->dev = dev; > > data->irq = irq; > > > > data->regmap = regmap; > > @@ -1580,13 +1589,13 @@ int bmc150_accel_core_probe(struct device > > *dev, struct regmap *regmap, int irq, > > bmc150_accel_trigger_hand > > ler, > > &bmc150_accel_buffer_ops) > > ; > > if (ret < 0) { > > - dev_err(data->dev, "Failed: iio triggered buffer > > setup\n"); > > + dev_err(dev, "Failed: iio triggered buffer > > setup\n"); > > return ret; > > } > > > > if (data->irq > 0) { > > ret = devm_request_threaded_irq( > > - data->dev, data- > > >irq, > > + dev, data->irq, > > bmc150_accel_irq_h > > andler, > > bmc150_accel_irq_t > > hread_handler, > > IRQF_TRIGGER_RISIN > > G, > > @@ -1604,7 +1613,7 @@ int bmc150_accel_core_probe(struct device > > *dev, struct regmap *regmap, int irq, > > ret = regmap_write(data->regmap, > > BMC150_ACCEL_REG_INT_RST_LATCH, > > BMC150_ACCEL_INT_MODE_LATCH_RES > > ET); > > if (ret < 0) { > > - dev_err(data->dev, "Error writing > > reg_int_rst_latch\n"); > > + dev_err(dev, "Error writing > > reg_int_rst_latch\n"); > > goto err_buffer_cleanup; > > } > > > > @@ -1653,9 +1662,9 @@ int bmc150_accel_core_remove(struct device > > *dev) > > > > iio_device_unregister(indio_dev); > > > > - pm_runtime_disable(data->dev); > > - pm_runtime_set_suspended(data->dev); > > - pm_runtime_put_noidle(data->dev); > > + pm_runtime_disable(dev); > > + pm_runtime_set_suspended(dev); > > + pm_runtime_put_noidle(dev); > > > > bmc150_accel_unregister_triggers(data, > > BMC150_ACCEL_TRIGGERS - 1); > > > > @@ -1704,7 +1713,7 @@ static int > > bmc150_accel_runtime_suspend(struct device *dev) > > struct bmc150_accel_data *data = iio_priv(indio_dev); > > int ret; > > > > - dev_dbg(data->dev, __func__); > > + dev_dbg(dev, __func__); > > ret = bmc150_accel_set_mode(data, > > BMC150_ACCEL_SLEEP_MODE_SUSPEND, 0); > > if (ret < 0) > > return -EAGAIN; > > @@ -1719,7 +1728,7 @@ static int bmc150_accel_runtime_resume(struct > > device *dev) > > int ret; > > int sleep_val; > > > > - dev_dbg(data->dev, __func__); > > + dev_dbg(dev, __func__); > > > > ret = bmc150_accel_set_mode(data, > > BMC150_ACCEL_SLEEP_MODE_NORMAL, 0); > > if (ret < 0) > > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html