Re: [PATCH 18/20] iio: bcm150: Remove i2c_client from private data

2015-08-17 Thread Markus Pargmann
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

2015-08-17 Thread Markus Pargmann
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

2015-08-15 Thread Jonathan Cameron
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

2015-08-15 Thread Jonathan Cameron
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

2015-08-12 Thread Markus Pargmann
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

2015-08-12 Thread Markus Pargmann
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,