Message ID | 20240902222824.1145571-15-andy.shevchenko@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | iio: use dev_get_platdata() to access platform_data | expand |
> From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > Access to platform data via dev_get_platdata() getter to make code cleaner. > > Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> > --- > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 15 +++++---------- > 1 file changed, 5 insertions(+), 10 deletions(-) > > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > index ed0267929725..3958b5e1a3f6 100644 > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > @@ -2132,14 +2132,11 @@ st_lsm6dsx_get_drdy_reg(struct st_lsm6dsx_hw *hw, > const struct st_lsm6dsx_reg **drdy_reg) > { > struct device *dev = hw->dev; > + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); nit: I guess you can move pdata pointer in the 'if' block, since it is just used there. Regards, Lorenzo > int err = 0, drdy_pin; > > - if (device_property_read_u32(dev, "st,drdy-int-pin", &drdy_pin) < 0) { > - struct st_sensors_platform_data *pdata; > - > - pdata = (struct st_sensors_platform_data *)dev->platform_data; > + if (device_property_read_u32(dev, "st,drdy-int-pin", &drdy_pin) < 0) > drdy_pin = pdata ? pdata->drdy_int_pin : 1; > - } > > switch (drdy_pin) { > case 1: > @@ -2162,14 +2159,13 @@ st_lsm6dsx_get_drdy_reg(struct st_lsm6dsx_hw *hw, > static int st_lsm6dsx_init_shub(struct st_lsm6dsx_hw *hw) > { > const struct st_lsm6dsx_shub_settings *hub_settings; > - struct st_sensors_platform_data *pdata; > struct device *dev = hw->dev; > + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); > unsigned int data; > int err = 0; > > hub_settings = &hw->settings->shub_settings; > > - pdata = (struct st_sensors_platform_data *)dev->platform_data; > if (device_property_read_bool(dev, "st,pullups") || > (pdata && pdata->pullups)) { > if (hub_settings->pullup_en.sec_page) { > @@ -2524,9 +2520,9 @@ static irqreturn_t st_lsm6dsx_sw_trigger_handler_thread(int irq, > > static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw) > { > - struct st_sensors_platform_data *pdata; > const struct st_lsm6dsx_reg *reg; > struct device *dev = hw->dev; > + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); > unsigned long irq_type; > bool irq_active_low; > int err; > @@ -2554,7 +2550,6 @@ static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw) > if (err < 0) > return err; > > - pdata = (struct st_sensors_platform_data *)dev->platform_data; > if (device_property_read_bool(dev, "drive-open-drain") || > (pdata && pdata->open_drain)) { > reg = &hw->settings->irq_config.od; > @@ -2639,7 +2634,7 @@ static int st_lsm6dsx_init_regulators(struct device *dev) > int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id, > struct regmap *regmap) > { > - struct st_sensors_platform_data *pdata = dev->platform_data; > + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); > const struct st_lsm6dsx_shub_settings *hub_settings; > struct st_lsm6dsx_hw *hw; > const char *name = NULL; > -- > 2.46.0 >
On Tue, Sep 3, 2024 at 10:11 AM Lorenzo Bianconi <lorenzo@kernel.org> wrote: ... > > struct device *dev = hw->dev; > > + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); > > nit: I guess you can move pdata pointer in the 'if' block, since it is just > used there. Yes, but it will increase the LoCs number by 3 for no benefit for each of such cases. > > int err = 0, drdy_pin; > > > > - if (device_property_read_u32(dev, "st,drdy-int-pin", &drdy_pin) < 0) { > > - struct st_sensors_platform_data *pdata; > > - > > - pdata = (struct st_sensors_platform_data *)dev->platform_data; > > + if (device_property_read_u32(dev, "st,drdy-int-pin", &drdy_pin) < 0) > > drdy_pin = pdata ? pdata->drdy_int_pin : 1; > > - }
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c index ed0267929725..3958b5e1a3f6 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c @@ -2132,14 +2132,11 @@ st_lsm6dsx_get_drdy_reg(struct st_lsm6dsx_hw *hw, const struct st_lsm6dsx_reg **drdy_reg) { struct device *dev = hw->dev; + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); int err = 0, drdy_pin; - if (device_property_read_u32(dev, "st,drdy-int-pin", &drdy_pin) < 0) { - struct st_sensors_platform_data *pdata; - - pdata = (struct st_sensors_platform_data *)dev->platform_data; + if (device_property_read_u32(dev, "st,drdy-int-pin", &drdy_pin) < 0) drdy_pin = pdata ? pdata->drdy_int_pin : 1; - } switch (drdy_pin) { case 1: @@ -2162,14 +2159,13 @@ st_lsm6dsx_get_drdy_reg(struct st_lsm6dsx_hw *hw, static int st_lsm6dsx_init_shub(struct st_lsm6dsx_hw *hw) { const struct st_lsm6dsx_shub_settings *hub_settings; - struct st_sensors_platform_data *pdata; struct device *dev = hw->dev; + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); unsigned int data; int err = 0; hub_settings = &hw->settings->shub_settings; - pdata = (struct st_sensors_platform_data *)dev->platform_data; if (device_property_read_bool(dev, "st,pullups") || (pdata && pdata->pullups)) { if (hub_settings->pullup_en.sec_page) { @@ -2524,9 +2520,9 @@ static irqreturn_t st_lsm6dsx_sw_trigger_handler_thread(int irq, static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw) { - struct st_sensors_platform_data *pdata; const struct st_lsm6dsx_reg *reg; struct device *dev = hw->dev; + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); unsigned long irq_type; bool irq_active_low; int err; @@ -2554,7 +2550,6 @@ static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw) if (err < 0) return err; - pdata = (struct st_sensors_platform_data *)dev->platform_data; if (device_property_read_bool(dev, "drive-open-drain") || (pdata && pdata->open_drain)) { reg = &hw->settings->irq_config.od; @@ -2639,7 +2634,7 @@ static int st_lsm6dsx_init_regulators(struct device *dev) int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id, struct regmap *regmap) { - struct st_sensors_platform_data *pdata = dev->platform_data; + const struct st_sensors_platform_data *pdata = dev_get_platdata(dev); const struct st_lsm6dsx_shub_settings *hub_settings; struct st_lsm6dsx_hw *hw; const char *name = NULL;