From mboxrd@z Thu Jan 1 00:00:00 1970 From: srinivas.pandruvada@linux.intel.com (Srinivas Pandruvada) Date: Mon, 18 Apr 2016 08:03:31 -0700 Subject: [PATCH v2 5/5] iio: gyro: bmg160: use regmap to retrieve struct device In-Reply-To: <57129157.3080603@kernel.org> References: <63dd9227f9a7e56f7e03f8963e798e6d7d8bb70f.1460314070.git.amsfield22@gmail.com> <57129157.3080603@kernel.org> Message-ID: <1460991811.8946.11.camel@linux.intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Sat, 2016-04-16 at 20:24 +0100, Jonathan Cameron wrote: > On 10/04/16 20:08, 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 Reviewed-by: Srinivas Pandruvada > Cc'd Srinivas > > Actually I'm curious as to why linux-arm-kernel and linux-samsung-soc > are cc'd? > Not terribly relevant lists... > > > > --- > > ?drivers/iio/gyro/bmg160_core.c | 86 +++++++++++++++++++++--------- > > ------------ > > ?1 file changed, 44 insertions(+), 42 deletions(-) > > > > diff --git a/drivers/iio/gyro/bmg160_core.c > > b/drivers/iio/gyro/bmg160_core.c > > index 2493bb1..b2b1071 100644 > > --- a/drivers/iio/gyro/bmg160_core.c > > +++ b/drivers/iio/gyro/bmg160_core.c > > @@ -95,7 +95,6 @@ > > ?#define BMG160_AUTO_SUSPEND_DELAY_MS 2000 > > ? > > ?struct bmg160_data { > > - struct device *dev; > > ? struct regmap *regmap; > > ? struct iio_trigger *dready_trig; > > ? struct iio_trigger *motion_trig; > > @@ -137,11 +136,12 @@ static const struct { > > ? > > ?static int bmg160_set_mode(struct bmg160_data *data, u8 mode) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? > > ? ret = regmap_write(data->regmap, BMG160_REG_PMU_LPW, > > mode); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error writing reg_pmu_lpw\n"); > > + dev_err(dev, "Error writing reg_pmu_lpw\n"); > > ? return ret; > > ? } > > ? > > @@ -162,6 +162,7 @@ static int bmg160_convert_freq_to_bit(int val) > > ? > > ?static int bmg160_set_bw(struct bmg160_data *data, int val) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? int bw_bits; > > ? > > @@ -171,7 +172,7 @@ static int bmg160_set_bw(struct bmg160_data > > *data, int val) > > ? > > ? ret = regmap_write(data->regmap, BMG160_REG_PMU_BW, > > bw_bits); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error writing reg_pmu_bw\n"); > > + dev_err(dev, "Error writing reg_pmu_bw\n"); > > ? return ret; > > ? } > > ? > > @@ -182,18 +183,19 @@ static int bmg160_set_bw(struct bmg160_data > > *data, int val) > > ? > > ?static int bmg160_chip_init(struct bmg160_data *data) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? unsigned int val; > > ? > > ? ret = regmap_read(data->regmap, BMG160_REG_CHIP_ID, &val); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error reading reg_chip_id\n"); > > + dev_err(dev, "Error reading reg_chip_id\n"); > > ? return ret; > > ? } > > ? > > - dev_dbg(data->dev, "Chip Id %x\n", val); > > + dev_dbg(dev, "Chip Id %x\n", val); > > ? if (val != BMG160_CHIP_ID_VAL) { > > - dev_err(data->dev, "invalid chip %x\n", val); > > + dev_err(dev, "invalid chip %x\n", val); > > ? return -ENODEV; > > ? } > > ? > > @@ -212,14 +214,14 @@ static int bmg160_chip_init(struct > > bmg160_data *data) > > ? /* Set Default Range */ > > ? ret = regmap_write(data->regmap, BMG160_REG_RANGE, > > BMG160_RANGE_500DPS); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error writing reg_range\n"); > > + dev_err(dev, "Error writing reg_range\n"); > > ? return ret; > > ? } > > ? data->dps_range = BMG160_RANGE_500DPS; > > ? > > ? ret = regmap_read(data->regmap, BMG160_REG_SLOPE_THRES, > > &val); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error reading > > reg_slope_thres\n"); > > + dev_err(dev, "Error reading reg_slope_thres\n"); > > ? return ret; > > ? } > > ? data->slope_thres = val; > > @@ -228,7 +230,7 @@ static int bmg160_chip_init(struct bmg160_data > > *data) > > ? ret = regmap_update_bits(data->regmap, > > BMG160_REG_INT_EN_1, > > ? ?BMG160_INT1_BIT_OD, 0); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error updating bits in > > reg_int_en_1\n"); > > + dev_err(dev, "Error updating bits in > > reg_int_en_1\n"); > > ? return ret; > > ? } > > ? > > @@ -236,7 +238,7 @@ static int bmg160_chip_init(struct bmg160_data > > *data) > > ? ???BMG160_INT_MODE_LATCH_INT | > > ? ???BMG160_INT_MODE_LATCH_RESET); > > ? if (ret < 0) { > > - dev_err(data->dev, > > + dev_err(dev, > > ? "Error writing reg_motion_intr\n"); > > ? return ret; > > ? } > > @@ -247,20 +249,21 @@ static int bmg160_chip_init(struct > > bmg160_data *data) > > ?static int bmg160_set_power_state(struct bmg160_data *data, bool > > on) > > ?{ > > ?#ifdef CONFIG_PM > > + 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, > > - "Failed: bmg160_set_power_state for %d\n", > > on); > > + dev_err(dev, "Failed: bmg160_set_power_state for > > %d\n", on); > > + > > ? if (on) > > - pm_runtime_put_noidle(data->dev); > > + pm_runtime_put_noidle(dev); > > ? > > ? return ret; > > ? } > > @@ -272,6 +275,7 @@ static int bmg160_set_power_state(struct > > bmg160_data *data, bool on) > > ?static int bmg160_setup_any_motion_interrupt(struct bmg160_data > > *data, > > ? ?????bool status) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? > > ? /* Enable/Disable INT_MAP0 mapping */ > > @@ -279,7 +283,7 @@ static int > > bmg160_setup_any_motion_interrupt(struct bmg160_data *data, > > ? ?BMG160_INT_MAP_0_BIT_ANY, > > ? ?(status ? > > BMG160_INT_MAP_0_BIT_ANY : 0)); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error updating bits > > reg_int_map0\n"); > > + dev_err(dev, "Error updating bits > > reg_int_map0\n"); > > ? return ret; > > ? } > > ? > > @@ -289,8 +293,7 @@ static int > > bmg160_setup_any_motion_interrupt(struct bmg160_data *data, > > ? ret = regmap_write(data->regmap, > > BMG160_REG_SLOPE_THRES, > > ? ???data->slope_thres); > > ? if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing > > reg_slope_thres\n"); > > + dev_err(dev, "Error writing > > reg_slope_thres\n"); > > ? return ret; > > ? } > > ? > > @@ -298,8 +301,7 @@ static int > > bmg160_setup_any_motion_interrupt(struct bmg160_data *data, > > ? ???BMG160_INT_MOTION_X | > > BMG160_INT_MOTION_Y | > > ? ???BMG160_INT_MOTION_Z); > > ? if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing > > reg_motion_intr\n"); > > + dev_err(dev, "Error writing > > reg_motion_intr\n"); > > ? return ret; > > ? } > > ? > > @@ -314,8 +316,7 @@ static int > > bmg160_setup_any_motion_interrupt(struct bmg160_data *data, > > ? ???BMG160_INT_MODE_LATCH_I > > NT | > > ? ???BMG160_INT_MODE_LATCH_R > > ESET); > > ? if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing > > reg_rst_latch\n"); > > + dev_err(dev, "Error writing > > reg_rst_latch\n"); > > ? return ret; > > ? } > > ? } > > @@ -328,7 +329,7 @@ static int > > bmg160_setup_any_motion_interrupt(struct bmg160_data *data, > > ? } > > ? > > ? if (ret < 0) { > > - dev_err(data->dev, "Error writing reg_int_en0\n"); > > + dev_err(dev, "Error writing reg_int_en0\n"); > > ? return ret; > > ? } > > ? > > @@ -338,6 +339,7 @@ static int > > bmg160_setup_any_motion_interrupt(struct bmg160_data *data, > > ?static int bmg160_setup_new_data_interrupt(struct bmg160_data > > *data, > > ? ???bool status) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? > > ? /* Enable/Disable INT_MAP1 mapping */ > > @@ -345,7 +347,7 @@ static int > > bmg160_setup_new_data_interrupt(struct bmg160_data *data, > > ? ?BMG160_INT_MAP_1_BIT_NEW_DATA, > > ? ?(status ? > > BMG160_INT_MAP_1_BIT_NEW_DATA : 0)); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error updating bits in > > reg_int_map1\n"); > > + dev_err(dev, "Error updating bits in > > reg_int_map1\n"); > > ? return ret; > > ? } > > ? > > @@ -354,9 +356,8 @@ static int > > bmg160_setup_new_data_interrupt(struct bmg160_data *data, > > ? ???BMG160_INT_MODE_NON_LATCH_INT | > > ? ???BMG160_INT_MODE_LATCH_RESET); > > ? if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing reg_rst_latch\n"); > > - return ret; > > + dev_err(dev, "Error writing > > reg_rst_latch\n"); > > + return ret; > > ? } > > ? > > ? ret = regmap_write(data->regmap, > > BMG160_REG_INT_EN_0, > > @@ -368,16 +369,15 @@ static int > > bmg160_setup_new_data_interrupt(struct bmg160_data *data, > > ? ???BMG160_INT_MODE_LATCH_INT | > > ? ???BMG160_INT_MODE_LATCH_RESET); > > ? if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing reg_rst_latch\n"); > > - return ret; > > + dev_err(dev, "Error writing > > reg_rst_latch\n"); > > + return ret; > > ? } > > ? > > ? ret = regmap_write(data->regmap, > > BMG160_REG_INT_EN_0, 0); > > ? } > > ? > > ? if (ret < 0) { > > - dev_err(data->dev, "Error writing reg_int_en0\n"); > > + dev_err(dev, "Error writing reg_int_en0\n"); > > ? return ret; > > ? } > > ? > > @@ -400,6 +400,7 @@ static int bmg160_get_bw(struct bmg160_data > > *data, int *val) > > ? > > ?static int bmg160_set_scale(struct bmg160_data *data, int val) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret, i; > > ? > > ? for (i = 0; i < ARRAY_SIZE(bmg160_scale_table); ++i) { > > @@ -407,8 +408,7 @@ static int bmg160_set_scale(struct bmg160_data > > *data, int val) > > ? ret = regmap_write(data->regmap, > > BMG160_REG_RANGE, > > ? ???bmg160_scale_table[i].d > > ps_range); > > ? if (ret < 0) { > > - dev_err(data->dev, > > - "Error writing > > reg_range\n"); > > + dev_err(dev, "Error writing > > reg_range\n"); > > ? return ret; > > ? } > > ? data->dps_range = > > bmg160_scale_table[i].dps_range; > > @@ -421,6 +421,7 @@ static int bmg160_set_scale(struct bmg160_data > > *data, int val) > > ? > > ?static int bmg160_get_temp(struct bmg160_data *data, int *val) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? unsigned int raw_val; > > ? > > @@ -433,7 +434,7 @@ static int bmg160_get_temp(struct bmg160_data > > *data, int *val) > > ? > > ? ret = regmap_read(data->regmap, BMG160_REG_TEMP, > > &raw_val); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error reading reg_temp\n"); > > + dev_err(dev, "Error reading reg_temp\n"); > > ? bmg160_set_power_state(data, false); > > ? mutex_unlock(&data->mutex); > > ? return ret; > > @@ -450,6 +451,7 @@ static int bmg160_get_temp(struct bmg160_data > > *data, int *val) > > ? > > ?static int bmg160_get_axis(struct bmg160_data *data, int axis, int > > *val) > > ?{ > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? unsigned int raw_val; > > ? > > @@ -463,7 +465,7 @@ static int bmg160_get_axis(struct bmg160_data > > *data, int axis, int *val) > > ? ret = regmap_bulk_read(data->regmap, > > BMG160_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); > > ? bmg160_set_power_state(data, false); > > ? mutex_unlock(&data->mutex); > > ? return ret; > > @@ -793,6 +795,7 @@ static int bmg160_trig_try_reen(struct > > iio_trigger *trig) > > ?{ > > ? struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); > > ? struct bmg160_data *data = iio_priv(indio_dev); > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? > > ? /* new data interrupts don't need ack */ > > @@ -804,7 +807,7 @@ static int bmg160_trig_try_reen(struct > > iio_trigger *trig) > > ? ???BMG160_INT_MODE_LATCH_INT | > > ? ???BMG160_INT_MODE_LATCH_RESET); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error writing > > reg_rst_latch\n"); > > + dev_err(dev, "Error writing reg_rst_latch\n"); > > ? return ret; > > ? } > > ? > > @@ -864,13 +867,14 @@ static irqreturn_t bmg160_event_handler(int > > irq, void *private) > > ?{ > > ? struct iio_dev *indio_dev = private; > > ? struct bmg160_data *data = iio_priv(indio_dev); > > + struct device *dev = regmap_get_device(data->regmap); > > ? int ret; > > ? int dir; > > ? unsigned int val; > > ? > > ? ret = regmap_read(data->regmap, BMG160_REG_INT_STATUS_2, > > &val); > > ? if (ret < 0) { > > - dev_err(data->dev, "Error reading > > reg_int_status2\n"); > > + dev_err(dev, "Error reading reg_int_status2\n"); > > ? goto ack_intr_status; > > ? } > > ? > > @@ -907,8 +911,7 @@ ack_intr_status: > > ? ???BMG160_INT_MODE_LATCH_INT | > > ? ???BMG160_INT_MODE_LATCH_RESET); > > ? if (ret < 0) > > - dev_err(data->dev, > > - "Error writing reg_rst_latch\n"); > > + dev_err(dev, "Error writing > > reg_rst_latch\n"); > > ? } > > ? > > ? return IRQ_HANDLED; > > @@ -976,7 +979,6 @@ int bmg160_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; > > ? > > @@ -1139,7 +1141,7 @@ static int bmg160_runtime_suspend(struct > > device *dev) > > ? > > ? ret = bmg160_set_mode(data, BMG160_MODE_SUSPEND); > > ? if (ret < 0) { > > - dev_err(data->dev, "set mode failed\n"); > > + dev_err(dev, "set mode failed\n"); > > ? return -EAGAIN; > > ? } > > ? > >