]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
iio: imu: st_lsm6dsx: Get platform data via dev_get_platdata()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 2 Sep 2024 22:16:59 +0000 (01:16 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 30 Sep 2024 08:21:01 +0000 (09:21 +0100)
Access to platform data via dev_get_platdata() getter to make code cleaner.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://patch.msgid.link/20240902222824.1145571-15-andy.shevchenko@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c

index e541ac5a9ec29363425f288c6986cac54fae042c..fb4c6c39ff2e157593f02513cc8e01cd7eea9bdf 100644 (file)
@@ -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;
@@ -2553,7 +2549,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;
@@ -2638,7 +2633,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;