Re: [PATCH 18/20] iio: bcm150: Remove i2c_client from private data
On Sat, Aug 15, 2015 at 02:33:51PM +0100, Jonathan Cameron wrote: > On 12/08/15 11:12, Markus Pargmann wrote: > > i2c_client struct is now only used for debugging output. We can use the > > device struct as well so we can remove all struct i2c_client usage. > > > > Signed-off-by: Markus Pargmann > This one looks fine to me. > > Acked-by: Jonathan Cameron > > Ideally these bmc150 patches should also get a look from Srinivas > before merging however (and testing given I'm guessing you don't have > all the parts!) Thanks. Yes indeed, I only have the SPI parts. Also to keep the fifo read support of the bmc150 as it is in the driver currently the regmap series has to be fixed. Best Regards, Markus > > Jonathan > > --- > > drivers/iio/accel/bmc150-accel.c | 120 > > +++ > > 1 file changed, 58 insertions(+), 62 deletions(-) > > > > diff --git a/drivers/iio/accel/bmc150-accel.c > > b/drivers/iio/accel/bmc150-accel.c > > index 1484e956482e..d75e1b0aa7e9 100644 > > --- a/drivers/iio/accel/bmc150-accel.c > > +++ b/drivers/iio/accel/bmc150-accel.c > > @@ -185,9 +185,9 @@ enum bmc150_accel_trigger_id { > > }; > > > > struct bmc150_accel_data { > > - struct i2c_client *client; > > struct regmap *regmap; > > struct device *dev; > > + int irq; > > struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS]; > > atomic_t active_intr; > > struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; > > @@ -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(>client->dev, "Set Mode bits %x\n", lpw_bits); > > + dev_dbg(data->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(>client->dev, "Error writing reg_pmu_lpw\n"); > > + dev_err(data->dev, "Error writing reg_pmu_lpw\n"); > > return ret; > > } > > > > @@ -321,18 +321,18 @@ static int bmc150_accel_update_slope(struct > > bmc150_accel_data *data) > > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_6, > > data->slope_thres); > > if (ret < 0) { > > - dev_err(>client->dev, "Error writing reg_int_6\n"); > > + dev_err(data->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(>client->dev, "Error updating reg_int_5\n"); > > + dev_err(data->dev, "Error updating reg_int_5\n"); > > return ret; > > } > > > > - dev_dbg(>client->dev, "%s: %x %x\n", __func__, data->slope_thres, > > + dev_dbg(data->dev, "%s: %x %x\n", __func__, data->slope_thres, > > data->slope_dur); > > > > return ret; > > @@ -354,14 +354,14 @@ static int bmc150_accel_chip_init(struct > > bmc150_accel_data *data) > > > > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_CHIP_ID, ); > > if (ret < 0) { > > - dev_err(>client->dev, > > + dev_err(data->dev, > > "Error: Reading chip id\n"); > > return ret; > > } > > > > - dev_dbg(>client->dev, "Chip Id %x\n", val); > > + dev_dbg(data->dev, "Chip Id %x\n", val); > > if (val != data->chip_info->chip_id) { > > - dev_err(>client->dev, "Invalid chip %x\n", val); > > + dev_err(data->dev, "Invalid chip %x\n", val); > > return -ENODEV; > > } > > > > @@ -378,8 +378,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(>client->dev, > > - "Error writing reg_pmu_range\n"); > > + dev_err(data->dev, "Error writing reg_pmu_range\n"); > > return ret; > > } > > > > @@ -397,7 +396,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(>client->dev, > > + dev_err(data->dev, > > "Error writing reg_int_rst_latch\n"); > > return ret; > > } > > @@ -439,16 +438,16 @@ static int bmc150_accel_set_power_state(struct > > bmc150_accel_data *data, bool on) > > int ret; > > > > if (on) > > - ret = pm_runtime_get_sync(>client->dev); > > + ret = pm_runtime_get_sync(data->dev); > > else { > > -
Re: [PATCH 18/20] iio: bcm150: Remove i2c_client from private data
On Sat, Aug 15, 2015 at 02:33:51PM +0100, Jonathan Cameron wrote: On 12/08/15 11:12, Markus Pargmann wrote: i2c_client struct is now only used for debugging output. We can use the device struct as well so we can remove all struct i2c_client usage. Signed-off-by: Markus Pargmann m...@pengutronix.de This one looks fine to me. Acked-by: Jonathan Cameron ji...@kernel.org Ideally these bmc150 patches should also get a look from Srinivas before merging however (and testing given I'm guessing you don't have all the parts!) Thanks. Yes indeed, I only have the SPI parts. Also to keep the fifo read support of the bmc150 as it is in the driver currently the regmap series has to be fixed. Best Regards, Markus Jonathan --- drivers/iio/accel/bmc150-accel.c | 120 +++ 1 file changed, 58 insertions(+), 62 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel.c b/drivers/iio/accel/bmc150-accel.c index 1484e956482e..d75e1b0aa7e9 100644 --- a/drivers/iio/accel/bmc150-accel.c +++ b/drivers/iio/accel/bmc150-accel.c @@ -185,9 +185,9 @@ enum bmc150_accel_trigger_id { }; struct bmc150_accel_data { - struct i2c_client *client; struct regmap *regmap; struct device *dev; + int irq; struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS]; atomic_t active_intr; struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; @@ -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-client-dev, Set Mode bits %x\n, lpw_bits); + dev_dbg(data-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-client-dev, Error writing reg_pmu_lpw\n); + dev_err(data-dev, Error writing reg_pmu_lpw\n); return ret; } @@ -321,18 +321,18 @@ static int bmc150_accel_update_slope(struct bmc150_accel_data *data) ret = regmap_write(data-regmap, BMC150_ACCEL_REG_INT_6, data-slope_thres); if (ret 0) { - dev_err(data-client-dev, Error writing reg_int_6\n); + dev_err(data-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-client-dev, Error updating reg_int_5\n); + dev_err(data-dev, Error updating reg_int_5\n); return ret; } - dev_dbg(data-client-dev, %s: %x %x\n, __func__, data-slope_thres, + dev_dbg(data-dev, %s: %x %x\n, __func__, data-slope_thres, data-slope_dur); return ret; @@ -354,14 +354,14 @@ static int bmc150_accel_chip_init(struct bmc150_accel_data *data) ret = regmap_read(data-regmap, BMC150_ACCEL_REG_CHIP_ID, val); if (ret 0) { - dev_err(data-client-dev, + dev_err(data-dev, Error: Reading chip id\n); return ret; } - dev_dbg(data-client-dev, Chip Id %x\n, val); + dev_dbg(data-dev, Chip Id %x\n, val); if (val != data-chip_info-chip_id) { - dev_err(data-client-dev, Invalid chip %x\n, val); + dev_err(data-dev, Invalid chip %x\n, val); return -ENODEV; } @@ -378,8 +378,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-client-dev, - Error writing reg_pmu_range\n); + dev_err(data-dev, Error writing reg_pmu_range\n); return ret; } @@ -397,7 +396,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-client-dev, + dev_err(data-dev, Error writing reg_int_rst_latch\n); return ret; } @@ -439,16 +438,16 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on) int ret; if (on) - ret = pm_runtime_get_sync(data-client-dev); + ret = pm_runtime_get_sync(data-dev); else { - pm_runtime_mark_last_busy(data-client-dev); - ret = pm_runtime_put_autosuspend(data-client-dev); + pm_runtime_mark_last_busy(data-dev); + ret = pm_runtime_put_autosuspend(data-dev); } if (ret 0) { -
Re: [PATCH 18/20] iio: bcm150: Remove i2c_client from private data
On 12/08/15 11:12, Markus Pargmann wrote: > i2c_client struct is now only used for debugging output. We can use the > device struct as well so we can remove all struct i2c_client usage. > > Signed-off-by: Markus Pargmann This one looks fine to me. Acked-by: Jonathan Cameron Ideally these bmc150 patches should also get a look from Srinivas before merging however (and testing given I'm guessing you don't have all the parts!) Jonathan > --- > drivers/iio/accel/bmc150-accel.c | 120 > +++ > 1 file changed, 58 insertions(+), 62 deletions(-) > > diff --git a/drivers/iio/accel/bmc150-accel.c > b/drivers/iio/accel/bmc150-accel.c > index 1484e956482e..d75e1b0aa7e9 100644 > --- a/drivers/iio/accel/bmc150-accel.c > +++ b/drivers/iio/accel/bmc150-accel.c > @@ -185,9 +185,9 @@ enum bmc150_accel_trigger_id { > }; > > struct bmc150_accel_data { > - struct i2c_client *client; > struct regmap *regmap; > struct device *dev; > + int irq; > struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS]; > atomic_t active_intr; > struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; > @@ -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(>client->dev, "Set Mode bits %x\n", lpw_bits); > + dev_dbg(data->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(>client->dev, "Error writing reg_pmu_lpw\n"); > + dev_err(data->dev, "Error writing reg_pmu_lpw\n"); > return ret; > } > > @@ -321,18 +321,18 @@ static int bmc150_accel_update_slope(struct > bmc150_accel_data *data) > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_6, > data->slope_thres); > if (ret < 0) { > - dev_err(>client->dev, "Error writing reg_int_6\n"); > + dev_err(data->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(>client->dev, "Error updating reg_int_5\n"); > + dev_err(data->dev, "Error updating reg_int_5\n"); > return ret; > } > > - dev_dbg(>client->dev, "%s: %x %x\n", __func__, data->slope_thres, > + dev_dbg(data->dev, "%s: %x %x\n", __func__, data->slope_thres, > data->slope_dur); > > return ret; > @@ -354,14 +354,14 @@ static int bmc150_accel_chip_init(struct > bmc150_accel_data *data) > > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_CHIP_ID, ); > if (ret < 0) { > - dev_err(>client->dev, > + dev_err(data->dev, > "Error: Reading chip id\n"); > return ret; > } > > - dev_dbg(>client->dev, "Chip Id %x\n", val); > + dev_dbg(data->dev, "Chip Id %x\n", val); > if (val != data->chip_info->chip_id) { > - dev_err(>client->dev, "Invalid chip %x\n", val); > + dev_err(data->dev, "Invalid chip %x\n", val); > return -ENODEV; > } > > @@ -378,8 +378,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(>client->dev, > - "Error writing reg_pmu_range\n"); > + dev_err(data->dev, "Error writing reg_pmu_range\n"); > return ret; > } > > @@ -397,7 +396,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(>client->dev, > + dev_err(data->dev, > "Error writing reg_int_rst_latch\n"); > return ret; > } > @@ -439,16 +438,16 @@ static int bmc150_accel_set_power_state(struct > bmc150_accel_data *data, bool on) > int ret; > > if (on) > - ret = pm_runtime_get_sync(>client->dev); > + ret = pm_runtime_get_sync(data->dev); > else { > - pm_runtime_mark_last_busy(>client->dev); > - ret = pm_runtime_put_autosuspend(>client->dev); > + pm_runtime_mark_last_busy(data->dev); > + ret = pm_runtime_put_autosuspend(data->dev); > } > if (ret < 0) { > - dev_err(>client->dev, > + dev_err(data->dev, > "Failed:
Re: [PATCH 18/20] iio: bcm150: Remove i2c_client from private data
On 12/08/15 11:12, Markus Pargmann wrote: i2c_client struct is now only used for debugging output. We can use the device struct as well so we can remove all struct i2c_client usage. Signed-off-by: Markus Pargmann m...@pengutronix.de This one looks fine to me. Acked-by: Jonathan Cameron ji...@kernel.org Ideally these bmc150 patches should also get a look from Srinivas before merging however (and testing given I'm guessing you don't have all the parts!) Jonathan --- drivers/iio/accel/bmc150-accel.c | 120 +++ 1 file changed, 58 insertions(+), 62 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel.c b/drivers/iio/accel/bmc150-accel.c index 1484e956482e..d75e1b0aa7e9 100644 --- a/drivers/iio/accel/bmc150-accel.c +++ b/drivers/iio/accel/bmc150-accel.c @@ -185,9 +185,9 @@ enum bmc150_accel_trigger_id { }; struct bmc150_accel_data { - struct i2c_client *client; struct regmap *regmap; struct device *dev; + int irq; struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS]; atomic_t active_intr; struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; @@ -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-client-dev, Set Mode bits %x\n, lpw_bits); + dev_dbg(data-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-client-dev, Error writing reg_pmu_lpw\n); + dev_err(data-dev, Error writing reg_pmu_lpw\n); return ret; } @@ -321,18 +321,18 @@ static int bmc150_accel_update_slope(struct bmc150_accel_data *data) ret = regmap_write(data-regmap, BMC150_ACCEL_REG_INT_6, data-slope_thres); if (ret 0) { - dev_err(data-client-dev, Error writing reg_int_6\n); + dev_err(data-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-client-dev, Error updating reg_int_5\n); + dev_err(data-dev, Error updating reg_int_5\n); return ret; } - dev_dbg(data-client-dev, %s: %x %x\n, __func__, data-slope_thres, + dev_dbg(data-dev, %s: %x %x\n, __func__, data-slope_thres, data-slope_dur); return ret; @@ -354,14 +354,14 @@ static int bmc150_accel_chip_init(struct bmc150_accel_data *data) ret = regmap_read(data-regmap, BMC150_ACCEL_REG_CHIP_ID, val); if (ret 0) { - dev_err(data-client-dev, + dev_err(data-dev, Error: Reading chip id\n); return ret; } - dev_dbg(data-client-dev, Chip Id %x\n, val); + dev_dbg(data-dev, Chip Id %x\n, val); if (val != data-chip_info-chip_id) { - dev_err(data-client-dev, Invalid chip %x\n, val); + dev_err(data-dev, Invalid chip %x\n, val); return -ENODEV; } @@ -378,8 +378,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-client-dev, - Error writing reg_pmu_range\n); + dev_err(data-dev, Error writing reg_pmu_range\n); return ret; } @@ -397,7 +396,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-client-dev, + dev_err(data-dev, Error writing reg_int_rst_latch\n); return ret; } @@ -439,16 +438,16 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on) int ret; if (on) - ret = pm_runtime_get_sync(data-client-dev); + ret = pm_runtime_get_sync(data-dev); else { - pm_runtime_mark_last_busy(data-client-dev); - ret = pm_runtime_put_autosuspend(data-client-dev); + pm_runtime_mark_last_busy(data-dev); + ret = pm_runtime_put_autosuspend(data-dev); } if (ret 0) { - dev_err(data-client-dev, + dev_err(data-dev, Failed: bmc150_accel_set_power_state for %d\n, on); if (on) - pm_runtime_put_noidle(data-client-dev); +
[PATCH 18/20] iio: bcm150: Remove i2c_client from private data
i2c_client struct is now only used for debugging output. We can use the device struct as well so we can remove all struct i2c_client usage. Signed-off-by: Markus Pargmann --- drivers/iio/accel/bmc150-accel.c | 120 +++ 1 file changed, 58 insertions(+), 62 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel.c b/drivers/iio/accel/bmc150-accel.c index 1484e956482e..d75e1b0aa7e9 100644 --- a/drivers/iio/accel/bmc150-accel.c +++ b/drivers/iio/accel/bmc150-accel.c @@ -185,9 +185,9 @@ enum bmc150_accel_trigger_id { }; struct bmc150_accel_data { - struct i2c_client *client; struct regmap *regmap; struct device *dev; + int irq; struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS]; atomic_t active_intr; struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; @@ -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(>client->dev, "Set Mode bits %x\n", lpw_bits); + dev_dbg(data->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(>client->dev, "Error writing reg_pmu_lpw\n"); + dev_err(data->dev, "Error writing reg_pmu_lpw\n"); return ret; } @@ -321,18 +321,18 @@ static int bmc150_accel_update_slope(struct bmc150_accel_data *data) ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_6, data->slope_thres); if (ret < 0) { - dev_err(>client->dev, "Error writing reg_int_6\n"); + dev_err(data->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(>client->dev, "Error updating reg_int_5\n"); + dev_err(data->dev, "Error updating reg_int_5\n"); return ret; } - dev_dbg(>client->dev, "%s: %x %x\n", __func__, data->slope_thres, + dev_dbg(data->dev, "%s: %x %x\n", __func__, data->slope_thres, data->slope_dur); return ret; @@ -354,14 +354,14 @@ static int bmc150_accel_chip_init(struct bmc150_accel_data *data) ret = regmap_read(data->regmap, BMC150_ACCEL_REG_CHIP_ID, ); if (ret < 0) { - dev_err(>client->dev, + dev_err(data->dev, "Error: Reading chip id\n"); return ret; } - dev_dbg(>client->dev, "Chip Id %x\n", val); + dev_dbg(data->dev, "Chip Id %x\n", val); if (val != data->chip_info->chip_id) { - dev_err(>client->dev, "Invalid chip %x\n", val); + dev_err(data->dev, "Invalid chip %x\n", val); return -ENODEV; } @@ -378,8 +378,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(>client->dev, - "Error writing reg_pmu_range\n"); + dev_err(data->dev, "Error writing reg_pmu_range\n"); return ret; } @@ -397,7 +396,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(>client->dev, + dev_err(data->dev, "Error writing reg_int_rst_latch\n"); return ret; } @@ -439,16 +438,16 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on) int ret; if (on) - ret = pm_runtime_get_sync(>client->dev); + ret = pm_runtime_get_sync(data->dev); else { - pm_runtime_mark_last_busy(>client->dev); - ret = pm_runtime_put_autosuspend(>client->dev); + pm_runtime_mark_last_busy(data->dev); + ret = pm_runtime_put_autosuspend(data->dev); } if (ret < 0) { - dev_err(>client->dev, + dev_err(data->dev, "Failed: bmc150_accel_set_power_state for %d\n", on); if (on) - pm_runtime_put_noidle(>client->dev); + pm_runtime_put_noidle(data->dev); return ret; } @@ -531,7 +530,7 @@ static int bmc150_accel_set_interrupt(struct bmc150_accel_data *data, int i, ret =
[PATCH 18/20] iio: bcm150: Remove i2c_client from private data
i2c_client struct is now only used for debugging output. We can use the device struct as well so we can remove all struct i2c_client usage. Signed-off-by: Markus Pargmann m...@pengutronix.de --- drivers/iio/accel/bmc150-accel.c | 120 +++ 1 file changed, 58 insertions(+), 62 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel.c b/drivers/iio/accel/bmc150-accel.c index 1484e956482e..d75e1b0aa7e9 100644 --- a/drivers/iio/accel/bmc150-accel.c +++ b/drivers/iio/accel/bmc150-accel.c @@ -185,9 +185,9 @@ enum bmc150_accel_trigger_id { }; struct bmc150_accel_data { - struct i2c_client *client; struct regmap *regmap; struct device *dev; + int irq; struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS]; atomic_t active_intr; struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; @@ -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-client-dev, Set Mode bits %x\n, lpw_bits); + dev_dbg(data-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-client-dev, Error writing reg_pmu_lpw\n); + dev_err(data-dev, Error writing reg_pmu_lpw\n); return ret; } @@ -321,18 +321,18 @@ static int bmc150_accel_update_slope(struct bmc150_accel_data *data) ret = regmap_write(data-regmap, BMC150_ACCEL_REG_INT_6, data-slope_thres); if (ret 0) { - dev_err(data-client-dev, Error writing reg_int_6\n); + dev_err(data-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-client-dev, Error updating reg_int_5\n); + dev_err(data-dev, Error updating reg_int_5\n); return ret; } - dev_dbg(data-client-dev, %s: %x %x\n, __func__, data-slope_thres, + dev_dbg(data-dev, %s: %x %x\n, __func__, data-slope_thres, data-slope_dur); return ret; @@ -354,14 +354,14 @@ static int bmc150_accel_chip_init(struct bmc150_accel_data *data) ret = regmap_read(data-regmap, BMC150_ACCEL_REG_CHIP_ID, val); if (ret 0) { - dev_err(data-client-dev, + dev_err(data-dev, Error: Reading chip id\n); return ret; } - dev_dbg(data-client-dev, Chip Id %x\n, val); + dev_dbg(data-dev, Chip Id %x\n, val); if (val != data-chip_info-chip_id) { - dev_err(data-client-dev, Invalid chip %x\n, val); + dev_err(data-dev, Invalid chip %x\n, val); return -ENODEV; } @@ -378,8 +378,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-client-dev, - Error writing reg_pmu_range\n); + dev_err(data-dev, Error writing reg_pmu_range\n); return ret; } @@ -397,7 +396,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-client-dev, + dev_err(data-dev, Error writing reg_int_rst_latch\n); return ret; } @@ -439,16 +438,16 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on) int ret; if (on) - ret = pm_runtime_get_sync(data-client-dev); + ret = pm_runtime_get_sync(data-dev); else { - pm_runtime_mark_last_busy(data-client-dev); - ret = pm_runtime_put_autosuspend(data-client-dev); + pm_runtime_mark_last_busy(data-dev); + ret = pm_runtime_put_autosuspend(data-dev); } if (ret 0) { - dev_err(data-client-dev, + dev_err(data-dev, Failed: bmc150_accel_set_power_state for %d\n, on); if (on) - pm_runtime_put_noidle(data-client-dev); + pm_runtime_put_noidle(data-dev); return ret; } @@ -531,7 +530,7 @@ static int bmc150_accel_set_interrupt(struct bmc150_accel_data *data, int i, ret = regmap_update_bits(data-regmap,