2020-08-27 19:28:32

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 01/18] iio: accel: bma180: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/accel/bma180.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
index 5b7a467c7b27..448faed001fd 100644
--- a/drivers/iio/accel/bma180.c
+++ b/drivers/iio/accel/bma180.c
@@ -1000,19 +1000,15 @@ static int bma180_probe(struct i2c_client *client,
return ret;

data->vdd_supply = devm_regulator_get(dev, "vdd");
- if (IS_ERR(data->vdd_supply)) {
- if (PTR_ERR(data->vdd_supply) != -EPROBE_DEFER)
- dev_err(dev, "Failed to get vdd regulator %d\n",
- (int)PTR_ERR(data->vdd_supply));
- return PTR_ERR(data->vdd_supply);
- }
+ if (IS_ERR(data->vdd_supply))
+ return dev_err_probe(dev, PTR_ERR(data->vdd_supply),
+ "Failed to get vdd regulator\n");
+
data->vddio_supply = devm_regulator_get(dev, "vddio");
- if (IS_ERR(data->vddio_supply)) {
- if (PTR_ERR(data->vddio_supply) != -EPROBE_DEFER)
- dev_err(dev, "Failed to get vddio regulator %d\n",
- (int)PTR_ERR(data->vddio_supply));
- return PTR_ERR(data->vddio_supply);
- }
+ if (IS_ERR(data->vddio_supply))
+ return dev_err_probe(dev, PTR_ERR(data->vddio_supply),
+ "Failed to get vddio regulator\n");
+
/* Typical voltage 2.4V these are min and max */
ret = regulator_set_voltage(data->vdd_supply, 1620000, 3600000);
if (ret)
--
2.17.1


2020-08-27 19:28:42

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 02/18] iio: accel: mma8452: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/accel/mma8452.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c
index 4e6e70250048..104b87b98455 100644
--- a/drivers/iio/accel/mma8452.c
+++ b/drivers/iio/accel/mma8452.c
@@ -1538,22 +1538,14 @@ static int mma8452_probe(struct i2c_client *client,
data->chip_info = match->data;

data->vdd_reg = devm_regulator_get(&client->dev, "vdd");
- if (IS_ERR(data->vdd_reg)) {
- if (PTR_ERR(data->vdd_reg) == -EPROBE_DEFER)
- return -EPROBE_DEFER;
-
- dev_err(&client->dev, "failed to get VDD regulator!\n");
- return PTR_ERR(data->vdd_reg);
- }
+ if (IS_ERR(data->vdd_reg))
+ return dev_err_probe(&client->dev, PTR_ERR(data->vdd_reg),
+ "failed to get VDD regulator!\n");

data->vddio_reg = devm_regulator_get(&client->dev, "vddio");
- if (IS_ERR(data->vddio_reg)) {
- if (PTR_ERR(data->vddio_reg) == -EPROBE_DEFER)
- return -EPROBE_DEFER;
-
- dev_err(&client->dev, "failed to get VDDIO regulator!\n");
- return PTR_ERR(data->vddio_reg);
- }
+ if (IS_ERR(data->vddio_reg))
+ return dev_err_probe(&client->dev, PTR_ERR(data->vddio_reg),
+ "failed to get VDDIO regulator!\n");

ret = regulator_enable(data->vdd_reg);
if (ret) {
--
2.17.1

2020-08-27 19:28:51

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 03/18] iio: adc: envelope-detector: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/adc/envelope-detector.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/iio/adc/envelope-detector.c b/drivers/iio/adc/envelope-detector.c
index 2a4fd3bb64cf..91a7be4a3f1b 100644
--- a/drivers/iio/adc/envelope-detector.c
+++ b/drivers/iio/adc/envelope-detector.c
@@ -348,11 +348,8 @@ static int envelope_detector_probe(struct platform_device *pdev)
indio_dev->num_channels = 1;

env->dac = devm_iio_channel_get(dev, "dac");
- if (IS_ERR(env->dac)) {
- if (PTR_ERR(env->dac) != -EPROBE_DEFER)
- dev_err(dev, "failed to get dac input channel\n");
- return PTR_ERR(env->dac);
- }
+ if (IS_ERR(env->dac))
+ return dev_err_probe(dev, PTR_ERR(env->dac), "failed to get dac input channel\n");

env->comp_irq = platform_get_irq_byname(pdev, "comp");
if (env->comp_irq < 0)
@@ -360,11 +357,9 @@ static int envelope_detector_probe(struct platform_device *pdev)

ret = devm_request_irq(dev, env->comp_irq, envelope_detector_comp_isr,
0, "envelope-detector", env);
- if (ret) {
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "failed to request interrupt\n");
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "failed to request interrupt\n");
+
env->comp_irq_trigger = irq_get_trigger_type(env->comp_irq);
if (env->comp_irq_trigger & IRQF_TRIGGER_RISING)
env->comp_irq_trigger_inv |= IRQF_TRIGGER_FALLING;
--
2.17.1

2020-08-27 19:29:06

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 04/18] iio: adc: exynos_adc: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/adc/exynos_adc.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c
index 7d23b6c33284..40585a96c848 100644
--- a/drivers/iio/adc/exynos_adc.c
+++ b/drivers/iio/adc/exynos_adc.c
@@ -844,13 +844,8 @@ static int exynos_adc_probe(struct platform_device *pdev)
}

info->vdd = devm_regulator_get(&pdev->dev, "vdd");
- if (IS_ERR(info->vdd)) {
- if (PTR_ERR(info->vdd) != -EPROBE_DEFER)
- dev_err(&pdev->dev,
- "failed getting regulator, err = %ld\n",
- PTR_ERR(info->vdd));
- return PTR_ERR(info->vdd);
- }
+ if (IS_ERR(info->vdd))
+ return dev_err_probe(&pdev->dev, PTR_ERR(info->vdd), "failed getting regulator");

ret = regulator_enable(info->vdd);
if (ret)
--
2.17.1

2020-08-27 19:29:32

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 07/18] iio: adc: rcar-gyroadc: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/adc/rcar-gyroadc.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/iio/adc/rcar-gyroadc.c b/drivers/iio/adc/rcar-gyroadc.c
index d2c1419e72a0..e1a7c93fc2db 100644
--- a/drivers/iio/adc/rcar-gyroadc.c
+++ b/drivers/iio/adc/rcar-gyroadc.c
@@ -495,12 +495,8 @@ static int rcar_gyroadc_probe(struct platform_device *pdev)
return PTR_ERR(priv->regs);

priv->clk = devm_clk_get(dev, "fck");
- if (IS_ERR(priv->clk)) {
- ret = PTR_ERR(priv->clk);
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "Failed to get IF clock (ret=%i)\n", ret);
- return ret;
- }
+ if (IS_ERR(priv->clk))
+ return dev_err_probe(dev, PTR_ERR(priv->clk), "Failed to get IF clock\n");

ret = rcar_gyroadc_parse_subdevs(indio_dev);
if (ret)
--
2.17.1

2020-08-27 19:29:41

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 08/18] iio: adc: stm32: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Convert to devm_clk_get_optional
2. Update also stm32-dfsdm-core and stm32-dac-core.
3. Wrap around 100 characters (accepted by checkpatch).
---
drivers/iio/adc/stm32-adc-core.c | 67 +++++++++---------------------
drivers/iio/adc/stm32-adc.c | 9 +---
drivers/iio/adc/stm32-dfsdm-adc.c | 9 +---
drivers/iio/adc/stm32-dfsdm-core.c | 8 +---
drivers/iio/dac/stm32-dac-core.c | 5 +--
5 files changed, 26 insertions(+), 72 deletions(-)

diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-core.c
index 0e2068ec068b..707c85dab7df 100644
--- a/drivers/iio/adc/stm32-adc-core.c
+++ b/drivers/iio/adc/stm32-adc-core.c
@@ -582,11 +582,9 @@ static int stm32_adc_core_switches_probe(struct device *dev,
priv->syscfg = syscon_regmap_lookup_by_phandle(np, "st,syscfg");
if (IS_ERR(priv->syscfg)) {
ret = PTR_ERR(priv->syscfg);
- if (ret != -ENODEV) {
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "Can't probe syscfg: %d\n", ret);
- return ret;
- }
+ if (ret != -ENODEV)
+ return dev_err_probe(dev, ret, "Can't probe syscfg\n");
+
priv->syscfg = NULL;
}

@@ -596,12 +594,9 @@ static int stm32_adc_core_switches_probe(struct device *dev,
priv->booster = devm_regulator_get_optional(dev, "booster");
if (IS_ERR(priv->booster)) {
ret = PTR_ERR(priv->booster);
- if (ret != -ENODEV) {
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "can't get booster %d\n",
- ret);
- return ret;
- }
+ if (ret != -ENODEV)
+ dev_err_probe(dev, ret, "can't get booster\n");
+
priv->booster = NULL;
}
}
@@ -612,11 +607,9 @@ static int stm32_adc_core_switches_probe(struct device *dev,
priv->vdd = devm_regulator_get_optional(dev, "vdd");
if (IS_ERR(priv->vdd)) {
ret = PTR_ERR(priv->vdd);
- if (ret != -ENODEV) {
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "can't get vdd %d\n", ret);
- return ret;
- }
+ if (ret != -ENODEV)
+ return dev_err_probe(dev, ret, "can't get vdd\n");
+
priv->vdd = NULL;
}
}
@@ -669,42 +662,20 @@ static int stm32_adc_probe(struct platform_device *pdev)
priv->common.phys_base = res->start;

priv->vdda = devm_regulator_get(&pdev->dev, "vdda");
- if (IS_ERR(priv->vdda)) {
- ret = PTR_ERR(priv->vdda);
- if (ret != -EPROBE_DEFER)
- dev_err(&pdev->dev, "vdda get failed, %d\n", ret);
- return ret;
- }
+ if (IS_ERR(priv->vdda))
+ return dev_err_probe(&pdev->dev, PTR_ERR(priv->vdda), "vdda get failed\n");

priv->vref = devm_regulator_get(&pdev->dev, "vref");
- if (IS_ERR(priv->vref)) {
- ret = PTR_ERR(priv->vref);
- if (ret != -EPROBE_DEFER)
- dev_err(&pdev->dev, "vref get failed, %d\n", ret);
- return ret;
- }
+ if (IS_ERR(priv->vref))
+ return dev_err_probe(&pdev->dev, PTR_ERR(priv->vref), "vref get failed\n");

- priv->aclk = devm_clk_get(&pdev->dev, "adc");
- if (IS_ERR(priv->aclk)) {
- ret = PTR_ERR(priv->aclk);
- if (ret != -ENOENT) {
- if (ret != -EPROBE_DEFER)
- dev_err(&pdev->dev, "Can't get 'adc' clock\n");
- return ret;
- }
- priv->aclk = NULL;
- }
+ priv->aclk = devm_clk_get_optional(&pdev->dev, "adc");
+ if (IS_ERR(priv->aclk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(priv->aclk), "Can't get 'adc' clock\n");

- priv->bclk = devm_clk_get(&pdev->dev, "bus");
- if (IS_ERR(priv->bclk)) {
- ret = PTR_ERR(priv->bclk);
- if (ret != -ENOENT) {
- if (ret != -EPROBE_DEFER)
- dev_err(&pdev->dev, "Can't get 'bus' clock\n");
- return ret;
- }
- priv->bclk = NULL;
- }
+ priv->bclk = devm_clk_get_optional(&pdev->dev, "bus");
+ if (IS_ERR(priv->bclk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(priv->bclk), "Can't get 'bus' clock\n");

ret = stm32_adc_core_switches_probe(dev, priv);
if (ret)
diff --git a/drivers/iio/adc/stm32-adc.c b/drivers/iio/adc/stm32-adc.c
index 3eb9ebe8372f..b8e764ca54a6 100644
--- a/drivers/iio/adc/stm32-adc.c
+++ b/drivers/iio/adc/stm32-adc.c
@@ -1805,13 +1805,8 @@ static int stm32_adc_dma_request(struct device *dev, struct iio_dev *indio_dev)
adc->dma_chan = dma_request_chan(dev, "rx");
if (IS_ERR(adc->dma_chan)) {
ret = PTR_ERR(adc->dma_chan);
- if (ret != -ENODEV) {
- if (ret != -EPROBE_DEFER)
- dev_err(dev,
- "DMA channel request failed with %d\n",
- ret);
- return ret;
- }
+ if (ret != -ENODEV)
+ return dev_err_probe(dev, ret, "DMA channel request failed with\n");

/* DMA is optional: fall back to IRQ mode */
adc->dma_chan = NULL;
diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-dfsdm-adc.c
index 5e10fb4f3704..12c951078c1f 100644
--- a/drivers/iio/adc/stm32-dfsdm-adc.c
+++ b/drivers/iio/adc/stm32-dfsdm-adc.c
@@ -1473,13 +1473,8 @@ static int stm32_dfsdm_adc_init(struct device *dev, struct iio_dev *indio_dev)
/* Optionally request DMA */
ret = stm32_dfsdm_dma_request(dev, indio_dev);
if (ret) {
- if (ret != -ENODEV) {
- if (ret != -EPROBE_DEFER)
- dev_err(dev,
- "DMA channel request failed with %d\n",
- ret);
- return ret;
- }
+ if (ret != -ENODEV)
+ return dev_err_probe(dev, ret, "DMA channel request failed with\n");

dev_dbg(dev, "No DMA support\n");
return 0;
diff --git a/drivers/iio/adc/stm32-dfsdm-core.c b/drivers/iio/adc/stm32-dfsdm-core.c
index 26e2011c5868..34e4e6e59acf 100644
--- a/drivers/iio/adc/stm32-dfsdm-core.c
+++ b/drivers/iio/adc/stm32-dfsdm-core.c
@@ -243,12 +243,8 @@ static int stm32_dfsdm_parse_of(struct platform_device *pdev,
* on use case.
*/
priv->clk = devm_clk_get(&pdev->dev, "dfsdm");
- if (IS_ERR(priv->clk)) {
- ret = PTR_ERR(priv->clk);
- if (ret != -EPROBE_DEFER)
- dev_err(&pdev->dev, "Failed to get clock (%d)\n", ret);
- return ret;
- }
+ if (IS_ERR(priv->clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(priv->clk), "Failed to get clock\n");

priv->aclk = devm_clk_get(&pdev->dev, "audio");
if (IS_ERR(priv->aclk))
diff --git a/drivers/iio/dac/stm32-dac-core.c b/drivers/iio/dac/stm32-dac-core.c
index 7e5809ba0dee..906436780347 100644
--- a/drivers/iio/dac/stm32-dac-core.c
+++ b/drivers/iio/dac/stm32-dac-core.c
@@ -150,10 +150,7 @@ static int stm32_dac_probe(struct platform_device *pdev)
rst = devm_reset_control_get_optional_exclusive(dev, NULL);
if (rst) {
if (IS_ERR(rst)) {
- ret = PTR_ERR(rst);
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "reset get failed, %d\n", ret);
-
+ ret = dev_err_probe(dev, PTR_ERR(rst), "reset get failed\n");
goto err_hw_stop;
}

--
2.17.1

2020-08-27 19:30:27

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 11/18] iio: chemical: scd30: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
Acked-by: Tomasz Duszynski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
2. Add Ack
---
drivers/iio/chemical/scd30_core.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c
index eac76972f83e..4d0d798c7cd3 100644
--- a/drivers/iio/chemical/scd30_core.c
+++ b/drivers/iio/chemical/scd30_core.c
@@ -705,13 +705,8 @@ int scd30_probe(struct device *dev, int irq, const char *name, void *priv,
indio_dev->available_scan_masks = scd30_scan_masks;

state->vdd = devm_regulator_get(dev, "vdd");
- if (IS_ERR(state->vdd)) {
- if (PTR_ERR(state->vdd) == -EPROBE_DEFER)
- return -EPROBE_DEFER;
-
- dev_err(dev, "failed to get regulator\n");
- return PTR_ERR(state->vdd);
- }
+ if (IS_ERR(state->vdd))
+ return dev_err_probe(dev, PTR_ERR(state->vdd), "failed to get regulator\n");

ret = regulator_enable(state->vdd);
if (ret)
--
2.17.1

2020-08-27 19:30:29

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 12/18] iio: dac: dpot-dac: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/dac/dpot-dac.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/iio/dac/dpot-dac.c b/drivers/iio/dac/dpot-dac.c
index be61c3b01e8b..2258535b8a42 100644
--- a/drivers/iio/dac/dpot-dac.c
+++ b/drivers/iio/dac/dpot-dac.c
@@ -183,18 +183,14 @@ static int dpot_dac_probe(struct platform_device *pdev)
indio_dev->num_channels = 1;

dac->vref = devm_regulator_get(dev, "vref");
- if (IS_ERR(dac->vref)) {
- if (PTR_ERR(dac->vref) != -EPROBE_DEFER)
- dev_err(&pdev->dev, "failed to get vref regulator\n");
- return PTR_ERR(dac->vref);
- }
+ if (IS_ERR(dac->vref))
+ return dev_err_probe(&pdev->dev, PTR_ERR(dac->vref),
+ "failed to get vref regulator\n");

dac->dpot = devm_iio_channel_get(dev, "dpot");
- if (IS_ERR(dac->dpot)) {
- if (PTR_ERR(dac->dpot) != -EPROBE_DEFER)
- dev_err(dev, "failed to get dpot input channel\n");
- return PTR_ERR(dac->dpot);
- }
+ if (IS_ERR(dac->dpot))
+ return dev_err_probe(&pdev->dev, PTR_ERR(dac->dpot),
+ "failed to get dpot input channel\n");

ret = iio_get_channel_type(dac->dpot, &type);
if (ret < 0)
--
2.17.1

2020-08-27 19:30:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 13/18] iio: imu: inv_mpu6050: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index 3fee3947f772..18a1898e3e34 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -1475,22 +1475,14 @@ int inv_mpu_core_probe(struct regmap *regmap, int irq, const char *name,
}

st->vdd_supply = devm_regulator_get(dev, "vdd");
- if (IS_ERR(st->vdd_supply)) {
- if (PTR_ERR(st->vdd_supply) != -EPROBE_DEFER)
- dev_err(dev, "Failed to get vdd regulator %d\n",
- (int)PTR_ERR(st->vdd_supply));
-
- return PTR_ERR(st->vdd_supply);
- }
+ if (IS_ERR(st->vdd_supply))
+ return dev_err_probe(dev, PTR_ERR(st->vdd_supply),
+ "Failed to get vdd regulator\n");

st->vddio_supply = devm_regulator_get(dev, "vddio");
- if (IS_ERR(st->vddio_supply)) {
- if (PTR_ERR(st->vddio_supply) != -EPROBE_DEFER)
- dev_err(dev, "Failed to get vddio regulator %d\n",
- (int)PTR_ERR(st->vddio_supply));
-
- return PTR_ERR(st->vddio_supply);
- }
+ if (IS_ERR(st->vddio_supply))
+ return dev_err_probe(dev, PTR_ERR(st->vddio_supply),
+ "Failed to get vddio regulator\n");

result = regulator_enable(st->vdd_supply);
if (result) {
--
2.17.1

2020-08-27 19:30:44

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 14/18] iio: light: isl29018: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/light/isl29018.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/iio/light/isl29018.c b/drivers/iio/light/isl29018.c
index ac8ad0f32689..2689867467a8 100644
--- a/drivers/iio/light/isl29018.c
+++ b/drivers/iio/light/isl29018.c
@@ -746,12 +746,9 @@ static int isl29018_probe(struct i2c_client *client,
chip->suspended = false;

chip->vcc_reg = devm_regulator_get(&client->dev, "vcc");
- if (IS_ERR(chip->vcc_reg)) {
- err = PTR_ERR(chip->vcc_reg);
- if (err != -EPROBE_DEFER)
- dev_err(&client->dev, "failed to get VCC regulator!\n");
- return err;
- }
+ if (IS_ERR(chip->vcc_reg))
+ return dev_err_probe(&client->dev, PTR_ERR(chip->vcc_reg),
+ "failed to get VCC regulator!\n");

err = regulator_enable(chip->vcc_reg);
if (err) {
--
2.17.1

2020-08-27 19:30:51

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 15/18] iio: light: tsl2772: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/light/tsl2772.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
index 735399405417..d79205361dfa 100644
--- a/drivers/iio/light/tsl2772.c
+++ b/drivers/iio/light/tsl2772.c
@@ -1776,14 +1776,8 @@ static int tsl2772_probe(struct i2c_client *clientp,
ret = devm_regulator_bulk_get(&clientp->dev,
ARRAY_SIZE(chip->supplies),
chip->supplies);
- if (ret < 0) {
- if (ret != -EPROBE_DEFER)
- dev_err(&clientp->dev,
- "Failed to get regulators: %d\n",
- ret);
-
- return ret;
- }
+ if (ret < 0)
+ return dev_err_probe(&clientp->dev, ret, "Failed to get regulators\n");

ret = regulator_bulk_enable(ARRAY_SIZE(chip->supplies), chip->supplies);
if (ret < 0) {
--
2.17.1

2020-08-27 19:31:01

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 16/18] iio: magnetometer: ak8974: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/magnetometer/ak8974.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/iio/magnetometer/ak8974.c b/drivers/iio/magnetometer/ak8974.c
index cbb44e401c0a..548c686e29d6 100644
--- a/drivers/iio/magnetometer/ak8974.c
+++ b/drivers/iio/magnetometer/ak8974.c
@@ -843,15 +843,8 @@ static int ak8974_probe(struct i2c_client *i2c,
ret = devm_regulator_bulk_get(&i2c->dev,
ARRAY_SIZE(ak8974->regs),
ak8974->regs);
- if (ret < 0) {
- if (ret != -EPROBE_DEFER)
- dev_err(&i2c->dev, "cannot get regulators: %d\n", ret);
- else
- dev_dbg(&i2c->dev,
- "regulators unavailable, deferring probe\n");
-
- return ret;
- }
+ if (ret < 0)
+ return dev_err_probe(&i2c->dev, ret, "cannot get regulators\n");

ret = regulator_bulk_enable(ARRAY_SIZE(ak8974->regs), ak8974->regs);
if (ret < 0) {
--
2.17.1

2020-08-27 19:31:15

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 18/18] iio: magnetometer: iio-mux: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/multiplexer/iio-mux.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/multiplexer/iio-mux.c b/drivers/iio/multiplexer/iio-mux.c
index 6910218fdb00..d219d4a86657 100644
--- a/drivers/iio/multiplexer/iio-mux.c
+++ b/drivers/iio/multiplexer/iio-mux.c
@@ -354,11 +354,8 @@ static int mux_probe(struct platform_device *pdev)
return -ENODEV;

parent = devm_iio_channel_get(dev, "parent");
- if (IS_ERR(parent)) {
- if (PTR_ERR(parent) != -EPROBE_DEFER)
- dev_err(dev, "failed to get parent channel\n");
- return PTR_ERR(parent);
- }
+ if (IS_ERR(parent))
+ return dev_err_probe(dev, PTR_ERR(parent), "failed to get parent channel\n");

sizeof_ext_info = iio_get_channel_ext_info_count(parent);
if (sizeof_ext_info) {
--
2.17.1

2020-08-27 19:31:16

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 05/18] iio: adc: ltc2497: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/adc/ltc2497-core.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/adc/ltc2497-core.c b/drivers/iio/adc/ltc2497-core.c
index 9b8fd9c32364..d337ed96bbb0 100644
--- a/drivers/iio/adc/ltc2497-core.c
+++ b/drivers/iio/adc/ltc2497-core.c
@@ -180,13 +180,8 @@ int ltc2497core_probe(struct device *dev, struct iio_dev *indio_dev)
return ret;

ddata->ref = devm_regulator_get(dev, "vref");
- if (IS_ERR(ddata->ref)) {
- if (PTR_ERR(ddata->ref) != -EPROBE_DEFER)
- dev_err(dev, "Failed to get vref regulator: %pe\n",
- ddata->ref);
-
- return PTR_ERR(ddata->ref);
- }
+ if (IS_ERR(ddata->ref))
+ return dev_err_probe(dev, PTR_ERR(ddata->ref), "Failed to get vref regulator\n");

ret = regulator_enable(ddata->ref);
if (ret < 0) {
--
2.17.1

2020-08-27 19:31:24

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 06/18] iio: adc: meson_saradc: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/adc/meson_saradc.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index 93c2252c0b89..a9d06e8a576a 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -719,11 +719,8 @@ static int meson_sar_adc_temp_sensor_init(struct iio_dev *indio_dev)
if (ret == -ENODEV)
return 0;

- if (ret != -EPROBE_DEFER)
- dev_err(indio_dev->dev.parent,
- "failed to get temperature_calib cell\n");
-
- return ret;
+ return dev_err_probe(indio_dev->dev.parent, ret,
+ "failed to get temperature_calib cell\n");
}

priv->tsc_regmap =
--
2.17.1

2020-08-27 19:31:56

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/afe/iio-rescale.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c
index 69c0f277ada0..8cd9645c50e8 100644
--- a/drivers/iio/afe/iio-rescale.c
+++ b/drivers/iio/afe/iio-rescale.c
@@ -276,11 +276,8 @@ static int rescale_probe(struct platform_device *pdev)
int ret;

source = devm_iio_channel_get(dev, NULL);
- if (IS_ERR(source)) {
- if (PTR_ERR(source) != -EPROBE_DEFER)
- dev_err(dev, "failed to get source channel\n");
- return PTR_ERR(source);
- }
+ if (IS_ERR(source))
+ return dev_err_probe(dev, PTR_ERR(source), "failed to get source channel\n");

sizeof_ext_info = iio_get_channel_ext_info_count(source);
if (sizeof_ext_info) {
--
2.17.1

2020-08-27 19:32:06

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 10/18] iio: amplifiers: hmc425a: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
---
drivers/iio/amplifiers/hmc425a.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/iio/amplifiers/hmc425a.c b/drivers/iio/amplifiers/hmc425a.c
index 582708924e4f..bde11df4bb9e 100644
--- a/drivers/iio/amplifiers/hmc425a.c
+++ b/drivers/iio/amplifiers/hmc425a.c
@@ -201,12 +201,8 @@ static int hmc425a_probe(struct platform_device *pdev)
st->gain = st->chip_info->default_gain;

st->gpios = devm_gpiod_get_array(&pdev->dev, "ctrl", GPIOD_OUT_LOW);
- if (IS_ERR(st->gpios)) {
- ret = PTR_ERR(st->gpios);
- if (ret != -EPROBE_DEFER)
- dev_err(&pdev->dev, "failed to get gpios\n");
- return ret;
- }
+ if (IS_ERR(st->gpios))
+ return dev_err_probe(&pdev->dev, PTR_ERR(st->gpios), "failed to get gpios\n");

if (st->gpios->ndescs != st->chip_info->num_gpios) {
dev_err(&pdev->dev, "%d GPIOs needed to operate\n",
--
2.17.1

2020-08-27 19:33:10

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH v2 17/18] iio: magnetometer: mag3110: Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/magnetometer/mag3110.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/iio/magnetometer/mag3110.c b/drivers/iio/magnetometer/mag3110.c
index 4d305a21c379..838b13c8bb3d 100644
--- a/drivers/iio/magnetometer/mag3110.c
+++ b/drivers/iio/magnetometer/mag3110.c
@@ -476,22 +476,14 @@ static int mag3110_probe(struct i2c_client *client,
data = iio_priv(indio_dev);

data->vdd_reg = devm_regulator_get(&client->dev, "vdd");
- if (IS_ERR(data->vdd_reg)) {
- if (PTR_ERR(data->vdd_reg) == -EPROBE_DEFER)
- return -EPROBE_DEFER;
-
- dev_err(&client->dev, "failed to get VDD regulator!\n");
- return PTR_ERR(data->vdd_reg);
- }
+ if (IS_ERR(data->vdd_reg))
+ return dev_err_probe(&client->dev, PTR_ERR(data->vdd_reg),
+ "failed to get VDD regulator!\n");

data->vddio_reg = devm_regulator_get(&client->dev, "vddio");
- if (IS_ERR(data->vddio_reg)) {
- if (PTR_ERR(data->vddio_reg) == -EPROBE_DEFER)
- return -EPROBE_DEFER;
-
- dev_err(&client->dev, "failed to get VDDIO regulator!\n");
- return PTR_ERR(data->vddio_reg);
- }
+ if (IS_ERR(data->vddio_reg))
+ return dev_err_probe(&client->dev, PTR_ERR(data->vddio_reg),
+ "failed to get VDDIO regulator!\n");

ret = regulator_enable(data->vdd_reg);
if (ret) {
--
2.17.1

2020-08-27 19:42:33

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 01/18] iio: accel: bma180: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:27 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.
>

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/accel/bma180.c | 20 ++++++++------------
> 1 file changed, 8 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
> index 5b7a467c7b27..448faed001fd 100644
> --- a/drivers/iio/accel/bma180.c
> +++ b/drivers/iio/accel/bma180.c
> @@ -1000,19 +1000,15 @@ static int bma180_probe(struct i2c_client *client,
> return ret;
>
> data->vdd_supply = devm_regulator_get(dev, "vdd");
> - if (IS_ERR(data->vdd_supply)) {
> - if (PTR_ERR(data->vdd_supply) != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get vdd regulator %d\n",
> - (int)PTR_ERR(data->vdd_supply));
> - return PTR_ERR(data->vdd_supply);
> - }
> + if (IS_ERR(data->vdd_supply))
> + return dev_err_probe(dev, PTR_ERR(data->vdd_supply),
> + "Failed to get vdd regulator\n");
> +
> data->vddio_supply = devm_regulator_get(dev, "vddio");
> - if (IS_ERR(data->vddio_supply)) {
> - if (PTR_ERR(data->vddio_supply) != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get vddio regulator %d\n",
> - (int)PTR_ERR(data->vddio_supply));
> - return PTR_ERR(data->vddio_supply);
> - }
> + if (IS_ERR(data->vddio_supply))
> + return dev_err_probe(dev, PTR_ERR(data->vddio_supply),
> + "Failed to get vddio regulator\n");
> +
> /* Typical voltage 2.4V these are min and max */
> ret = regulator_set_voltage(data->vdd_supply, 1620000, 3600000);
> if (ret)
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:47:37

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 03/18] iio: adc: envelope-detector: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:27 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/adc/envelope-detector.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/iio/adc/envelope-detector.c b/drivers/iio/adc/envelope-detector.c
> index 2a4fd3bb64cf..91a7be4a3f1b 100644
> --- a/drivers/iio/adc/envelope-detector.c
> +++ b/drivers/iio/adc/envelope-detector.c
> @@ -348,11 +348,8 @@ static int envelope_detector_probe(struct platform_device *pdev)
> indio_dev->num_channels = 1;
>
> env->dac = devm_iio_channel_get(dev, "dac");
> - if (IS_ERR(env->dac)) {
> - if (PTR_ERR(env->dac) != -EPROBE_DEFER)
> - dev_err(dev, "failed to get dac input channel\n");
> - return PTR_ERR(env->dac);
> - }
> + if (IS_ERR(env->dac))
> + return dev_err_probe(dev, PTR_ERR(env->dac), "failed to get dac input channel\n");
>
> env->comp_irq = platform_get_irq_byname(pdev, "comp");
> if (env->comp_irq < 0)
> @@ -360,11 +357,9 @@ static int envelope_detector_probe(struct platform_device *pdev)
>
> ret = devm_request_irq(dev, env->comp_irq, envelope_detector_comp_isr,
> 0, "envelope-detector", env);
> - if (ret) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "failed to request interrupt\n");
> - return ret;
> - }
> + if (ret)
> + return dev_err_probe(dev, ret, "failed to request interrupt\n");
> +
> env->comp_irq_trigger = irq_get_trigger_type(env->comp_irq);
> if (env->comp_irq_trigger & IRQF_TRIGGER_RISING)
> env->comp_irq_trigger_inv |= IRQF_TRIGGER_FALLING;
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:48:12

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 02/18] iio: accel: mma8452: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:27 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/accel/mma8452.c | 20 ++++++--------------
> 1 file changed, 6 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c
> index 4e6e70250048..104b87b98455 100644
> --- a/drivers/iio/accel/mma8452.c
> +++ b/drivers/iio/accel/mma8452.c
> @@ -1538,22 +1538,14 @@ static int mma8452_probe(struct i2c_client *client,
> data->chip_info = match->data;
>
> data->vdd_reg = devm_regulator_get(&client->dev, "vdd");
> - if (IS_ERR(data->vdd_reg)) {
> - if (PTR_ERR(data->vdd_reg) == -EPROBE_DEFER)
> - return -EPROBE_DEFER;
> -
> - dev_err(&client->dev, "failed to get VDD regulator!\n");
> - return PTR_ERR(data->vdd_reg);
> - }
> + if (IS_ERR(data->vdd_reg))
> + return dev_err_probe(&client->dev, PTR_ERR(data->vdd_reg),
> + "failed to get VDD regulator!\n");
>
> data->vddio_reg = devm_regulator_get(&client->dev, "vddio");
> - if (IS_ERR(data->vddio_reg)) {
> - if (PTR_ERR(data->vddio_reg) == -EPROBE_DEFER)
> - return -EPROBE_DEFER;
> -
> - dev_err(&client->dev, "failed to get VDDIO regulator!\n");
> - return PTR_ERR(data->vddio_reg);
> - }
> + if (IS_ERR(data->vddio_reg))
> + return dev_err_probe(&client->dev, PTR_ERR(data->vddio_reg),
> + "failed to get VDDIO regulator!\n");
>
> ret = regulator_enable(data->vdd_reg);
> if (ret) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:48:30

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 04/18] iio: adc: exynos_adc: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:27 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/adc/exynos_adc.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c
> index 7d23b6c33284..40585a96c848 100644
> --- a/drivers/iio/adc/exynos_adc.c
> +++ b/drivers/iio/adc/exynos_adc.c
> @@ -844,13 +844,8 @@ static int exynos_adc_probe(struct platform_device *pdev)
> }
>
> info->vdd = devm_regulator_get(&pdev->dev, "vdd");
> - if (IS_ERR(info->vdd)) {
> - if (PTR_ERR(info->vdd) != -EPROBE_DEFER)
> - dev_err(&pdev->dev,
> - "failed getting regulator, err = %ld\n",
> - PTR_ERR(info->vdd));
> - return PTR_ERR(info->vdd);
> - }
> + if (IS_ERR(info->vdd))
> + return dev_err_probe(&pdev->dev, PTR_ERR(info->vdd), "failed getting regulator");
>
> ret = regulator_enable(info->vdd);
> if (ret)
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:50:14

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 06/18] iio: adc: meson_saradc: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/adc/meson_saradc.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
> index 93c2252c0b89..a9d06e8a576a 100644
> --- a/drivers/iio/adc/meson_saradc.c
> +++ b/drivers/iio/adc/meson_saradc.c
> @@ -719,11 +719,8 @@ static int meson_sar_adc_temp_sensor_init(struct iio_dev *indio_dev)
> if (ret == -ENODEV)
> return 0;
>
> - if (ret != -EPROBE_DEFER)
> - dev_err(indio_dev->dev.parent,
> - "failed to get temperature_calib cell\n");
> -
> - return ret;
> + return dev_err_probe(indio_dev->dev.parent, ret,
> + "failed to get temperature_calib cell\n");
> }
>
> priv->tsc_regmap =
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:51:11

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 05/18] iio: adc: ltc2497: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:27 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/adc/ltc2497-core.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/iio/adc/ltc2497-core.c b/drivers/iio/adc/ltc2497-core.c
> index 9b8fd9c32364..d337ed96bbb0 100644
> --- a/drivers/iio/adc/ltc2497-core.c
> +++ b/drivers/iio/adc/ltc2497-core.c
> @@ -180,13 +180,8 @@ int ltc2497core_probe(struct device *dev, struct iio_dev *indio_dev)
> return ret;
>
> ddata->ref = devm_regulator_get(dev, "vref");
> - if (IS_ERR(ddata->ref)) {
> - if (PTR_ERR(ddata->ref) != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get vref regulator: %pe\n",
> - ddata->ref);
> -
> - return PTR_ERR(ddata->ref);
> - }
> + if (IS_ERR(ddata->ref))
> + return dev_err_probe(dev, PTR_ERR(ddata->ref), "Failed to get vref regulator\n");
>
> ret = regulator_enable(ddata->ref);
> if (ret < 0) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:51:19

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 07/18] iio: adc: rcar-gyroadc: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/adc/rcar-gyroadc.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iio/adc/rcar-gyroadc.c b/drivers/iio/adc/rcar-gyroadc.c
> index d2c1419e72a0..e1a7c93fc2db 100644
> --- a/drivers/iio/adc/rcar-gyroadc.c
> +++ b/drivers/iio/adc/rcar-gyroadc.c
> @@ -495,12 +495,8 @@ static int rcar_gyroadc_probe(struct platform_device *pdev)
> return PTR_ERR(priv->regs);
>
> priv->clk = devm_clk_get(dev, "fck");
> - if (IS_ERR(priv->clk)) {
> - ret = PTR_ERR(priv->clk);
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get IF clock (ret=%i)\n", ret);
> - return ret;
> - }
> + if (IS_ERR(priv->clk))
> + return dev_err_probe(dev, PTR_ERR(priv->clk), "Failed to get IF clock\n");
>
> ret = rcar_gyroadc_parse_subdevs(indio_dev);
> if (ret)
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:52:53

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 08/18] iio: adc: stm32: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Convert to devm_clk_get_optional
> 2. Update also stm32-dfsdm-core and stm32-dac-core.
> 3. Wrap around 100 characters (accepted by checkpatch).
> ---
> drivers/iio/adc/stm32-adc-core.c | 67 +++++++++---------------------
> drivers/iio/adc/stm32-adc.c | 9 +---
> drivers/iio/adc/stm32-dfsdm-adc.c | 9 +---
> drivers/iio/adc/stm32-dfsdm-core.c | 8 +---
> drivers/iio/dac/stm32-dac-core.c | 5 +--
> 5 files changed, 26 insertions(+), 72 deletions(-)
>
> diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-core.c
> index 0e2068ec068b..707c85dab7df 100644
> --- a/drivers/iio/adc/stm32-adc-core.c
> +++ b/drivers/iio/adc/stm32-adc-core.c
> @@ -582,11 +582,9 @@ static int stm32_adc_core_switches_probe(struct device *dev,
> priv->syscfg = syscon_regmap_lookup_by_phandle(np, "st,syscfg");
> if (IS_ERR(priv->syscfg)) {
> ret = PTR_ERR(priv->syscfg);
> - if (ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "Can't probe syscfg: %d\n", ret);
> - return ret;
> - }
> + if (ret != -ENODEV)
> + return dev_err_probe(dev, ret, "Can't probe syscfg\n");
> +
> priv->syscfg = NULL;
> }
>
> @@ -596,12 +594,9 @@ static int stm32_adc_core_switches_probe(struct device *dev,
> priv->booster = devm_regulator_get_optional(dev, "booster");
> if (IS_ERR(priv->booster)) {
> ret = PTR_ERR(priv->booster);
> - if (ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "can't get booster %d\n",
> - ret);
> - return ret;
> - }
> + if (ret != -ENODEV)
> + dev_err_probe(dev, ret, "can't get booster\n");
> +
> priv->booster = NULL;
> }
> }
> @@ -612,11 +607,9 @@ static int stm32_adc_core_switches_probe(struct device *dev,
> priv->vdd = devm_regulator_get_optional(dev, "vdd");
> if (IS_ERR(priv->vdd)) {
> ret = PTR_ERR(priv->vdd);
> - if (ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "can't get vdd %d\n", ret);
> - return ret;
> - }
> + if (ret != -ENODEV)
> + return dev_err_probe(dev, ret, "can't get vdd\n");
> +
> priv->vdd = NULL;
> }
> }
> @@ -669,42 +662,20 @@ static int stm32_adc_probe(struct platform_device *pdev)
> priv->common.phys_base = res->start;
>
> priv->vdda = devm_regulator_get(&pdev->dev, "vdda");
> - if (IS_ERR(priv->vdda)) {
> - ret = PTR_ERR(priv->vdda);
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "vdda get failed, %d\n", ret);
> - return ret;
> - }
> + if (IS_ERR(priv->vdda))
> + return dev_err_probe(&pdev->dev, PTR_ERR(priv->vdda), "vdda get failed\n");
>
> priv->vref = devm_regulator_get(&pdev->dev, "vref");
> - if (IS_ERR(priv->vref)) {
> - ret = PTR_ERR(priv->vref);
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "vref get failed, %d\n", ret);
> - return ret;
> - }
> + if (IS_ERR(priv->vref))
> + return dev_err_probe(&pdev->dev, PTR_ERR(priv->vref), "vref get failed\n");
>
> - priv->aclk = devm_clk_get(&pdev->dev, "adc");
> - if (IS_ERR(priv->aclk)) {
> - ret = PTR_ERR(priv->aclk);
> - if (ret != -ENOENT) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "Can't get 'adc' clock\n");
> - return ret;
> - }
> - priv->aclk = NULL;
> - }
> + priv->aclk = devm_clk_get_optional(&pdev->dev, "adc");
> + if (IS_ERR(priv->aclk))
> + return dev_err_probe(&pdev->dev, PTR_ERR(priv->aclk), "Can't get 'adc' clock\n");
>
> - priv->bclk = devm_clk_get(&pdev->dev, "bus");
> - if (IS_ERR(priv->bclk)) {
> - ret = PTR_ERR(priv->bclk);
> - if (ret != -ENOENT) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "Can't get 'bus' clock\n");
> - return ret;
> - }
> - priv->bclk = NULL;
> - }
> + priv->bclk = devm_clk_get_optional(&pdev->dev, "bus");
> + if (IS_ERR(priv->bclk))
> + return dev_err_probe(&pdev->dev, PTR_ERR(priv->bclk), "Can't get 'bus' clock\n");
>
> ret = stm32_adc_core_switches_probe(dev, priv);
> if (ret)
> diff --git a/drivers/iio/adc/stm32-adc.c b/drivers/iio/adc/stm32-adc.c
> index 3eb9ebe8372f..b8e764ca54a6 100644
> --- a/drivers/iio/adc/stm32-adc.c
> +++ b/drivers/iio/adc/stm32-adc.c
> @@ -1805,13 +1805,8 @@ static int stm32_adc_dma_request(struct device *dev, struct iio_dev *indio_dev)
> adc->dma_chan = dma_request_chan(dev, "rx");
> if (IS_ERR(adc->dma_chan)) {
> ret = PTR_ERR(adc->dma_chan);
> - if (ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev,
> - "DMA channel request failed with %d\n",
> - ret);
> - return ret;
> - }
> + if (ret != -ENODEV)
> + return dev_err_probe(dev, ret, "DMA channel request failed with\n");
>
> /* DMA is optional: fall back to IRQ mode */
> adc->dma_chan = NULL;
> diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-dfsdm-adc.c
> index 5e10fb4f3704..12c951078c1f 100644
> --- a/drivers/iio/adc/stm32-dfsdm-adc.c
> +++ b/drivers/iio/adc/stm32-dfsdm-adc.c
> @@ -1473,13 +1473,8 @@ static int stm32_dfsdm_adc_init(struct device *dev, struct iio_dev *indio_dev)
> /* Optionally request DMA */
> ret = stm32_dfsdm_dma_request(dev, indio_dev);
> if (ret) {
> - if (ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev,
> - "DMA channel request failed with %d\n",
> - ret);
> - return ret;
> - }
> + if (ret != -ENODEV)
> + return dev_err_probe(dev, ret, "DMA channel request failed with\n");
>
> dev_dbg(dev, "No DMA support\n");
> return 0;
> diff --git a/drivers/iio/adc/stm32-dfsdm-core.c b/drivers/iio/adc/stm32-dfsdm-core.c
> index 26e2011c5868..34e4e6e59acf 100644
> --- a/drivers/iio/adc/stm32-dfsdm-core.c
> +++ b/drivers/iio/adc/stm32-dfsdm-core.c
> @@ -243,12 +243,8 @@ static int stm32_dfsdm_parse_of(struct platform_device *pdev,
> * on use case.
> */
> priv->clk = devm_clk_get(&pdev->dev, "dfsdm");
> - if (IS_ERR(priv->clk)) {
> - ret = PTR_ERR(priv->clk);
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "Failed to get clock (%d)\n", ret);
> - return ret;
> - }
> + if (IS_ERR(priv->clk))
> + return dev_err_probe(&pdev->dev, PTR_ERR(priv->clk), "Failed to get clock\n");
>
> priv->aclk = devm_clk_get(&pdev->dev, "audio");
> if (IS_ERR(priv->aclk))
> diff --git a/drivers/iio/dac/stm32-dac-core.c b/drivers/iio/dac/stm32-dac-core.c
> index 7e5809ba0dee..906436780347 100644
> --- a/drivers/iio/dac/stm32-dac-core.c
> +++ b/drivers/iio/dac/stm32-dac-core.c
> @@ -150,10 +150,7 @@ static int stm32_dac_probe(struct platform_device *pdev)
> rst = devm_reset_control_get_optional_exclusive(dev, NULL);
> if (rst) {
> if (IS_ERR(rst)) {
> - ret = PTR_ERR(rst);
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "reset get failed, %d\n", ret);
> -
> + ret = dev_err_probe(dev, PTR_ERR(rst), "reset get failed\n");
> goto err_hw_stop;
> }
>
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:55:57

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/afe/iio-rescale.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c
> index 69c0f277ada0..8cd9645c50e8 100644
> --- a/drivers/iio/afe/iio-rescale.c
> +++ b/drivers/iio/afe/iio-rescale.c
> @@ -276,11 +276,8 @@ static int rescale_probe(struct platform_device *pdev)
> int ret;
>
> source = devm_iio_channel_get(dev, NULL);
> - if (IS_ERR(source)) {
> - if (PTR_ERR(source) != -EPROBE_DEFER)
> - dev_err(dev, "failed to get source channel\n");
> - return PTR_ERR(source);
> - }
> + if (IS_ERR(source))
> + return dev_err_probe(dev, PTR_ERR(source), "failed to get source channel\n");
>
> sizeof_ext_info = iio_get_channel_ext_info_count(source);
> if (sizeof_ext_info) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:58:30

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 10/18] iio: amplifiers: hmc425a: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/amplifiers/hmc425a.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iio/amplifiers/hmc425a.c b/drivers/iio/amplifiers/hmc425a.c
> index 582708924e4f..bde11df4bb9e 100644
> --- a/drivers/iio/amplifiers/hmc425a.c
> +++ b/drivers/iio/amplifiers/hmc425a.c
> @@ -201,12 +201,8 @@ static int hmc425a_probe(struct platform_device *pdev)
> st->gain = st->chip_info->default_gain;
>
> st->gpios = devm_gpiod_get_array(&pdev->dev, "ctrl", GPIOD_OUT_LOW);
> - if (IS_ERR(st->gpios)) {
> - ret = PTR_ERR(st->gpios);
> - if (ret != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "failed to get gpios\n");
> - return ret;
> - }
> + if (IS_ERR(st->gpios))
> + return dev_err_probe(&pdev->dev, PTR_ERR(st->gpios), "failed to get gpios\n");
>
> if (st->gpios->ndescs != st->chip_info->num_gpios) {
> dev_err(&pdev->dev, "%d GPIOs needed to operate\n",
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:58:45

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 11/18] iio: chemical: scd30: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> Acked-by: Tomasz Duszynski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> 2. Add Ack
> ---
> drivers/iio/chemical/scd30_core.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c
> index eac76972f83e..4d0d798c7cd3 100644
> --- a/drivers/iio/chemical/scd30_core.c
> +++ b/drivers/iio/chemical/scd30_core.c
> @@ -705,13 +705,8 @@ int scd30_probe(struct device *dev, int irq, const char *name, void *priv,
> indio_dev->available_scan_masks = scd30_scan_masks;
>
> state->vdd = devm_regulator_get(dev, "vdd");
> - if (IS_ERR(state->vdd)) {
> - if (PTR_ERR(state->vdd) == -EPROBE_DEFER)
> - return -EPROBE_DEFER;
> -
> - dev_err(dev, "failed to get regulator\n");
> - return PTR_ERR(state->vdd);
> - }
> + if (IS_ERR(state->vdd))
> + return dev_err_probe(dev, PTR_ERR(state->vdd), "failed to get regulator\n");
>
> ret = regulator_enable(state->vdd);
> if (ret)
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 19:59:06

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 12/18] iio: dac: dpot-dac: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/dac/dpot-dac.c | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/iio/dac/dpot-dac.c b/drivers/iio/dac/dpot-dac.c
> index be61c3b01e8b..2258535b8a42 100644
> --- a/drivers/iio/dac/dpot-dac.c
> +++ b/drivers/iio/dac/dpot-dac.c
> @@ -183,18 +183,14 @@ static int dpot_dac_probe(struct platform_device *pdev)
> indio_dev->num_channels = 1;
>
> dac->vref = devm_regulator_get(dev, "vref");
> - if (IS_ERR(dac->vref)) {
> - if (PTR_ERR(dac->vref) != -EPROBE_DEFER)
> - dev_err(&pdev->dev, "failed to get vref regulator\n");
> - return PTR_ERR(dac->vref);
> - }
> + if (IS_ERR(dac->vref))
> + return dev_err_probe(&pdev->dev, PTR_ERR(dac->vref),
> + "failed to get vref regulator\n");
>
> dac->dpot = devm_iio_channel_get(dev, "dpot");
> - if (IS_ERR(dac->dpot)) {
> - if (PTR_ERR(dac->dpot) != -EPROBE_DEFER)
> - dev_err(dev, "failed to get dpot input channel\n");
> - return PTR_ERR(dac->dpot);
> - }
> + if (IS_ERR(dac->dpot))
> + return dev_err_probe(&pdev->dev, PTR_ERR(dac->dpot),
> + "failed to get dpot input channel\n");
>
> ret = iio_get_channel_type(dac->dpot, &type);
> if (ret < 0)
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 20:01:59

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 14/18] iio: light: isl29018: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/light/isl29018.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iio/light/isl29018.c b/drivers/iio/light/isl29018.c
> index ac8ad0f32689..2689867467a8 100644
> --- a/drivers/iio/light/isl29018.c
> +++ b/drivers/iio/light/isl29018.c
> @@ -746,12 +746,9 @@ static int isl29018_probe(struct i2c_client *client,
> chip->suspended = false;
>
> chip->vcc_reg = devm_regulator_get(&client->dev, "vcc");
> - if (IS_ERR(chip->vcc_reg)) {
> - err = PTR_ERR(chip->vcc_reg);
> - if (err != -EPROBE_DEFER)
> - dev_err(&client->dev, "failed to get VCC regulator!\n");
> - return err;
> - }
> + if (IS_ERR(chip->vcc_reg))
> + return dev_err_probe(&client->dev, PTR_ERR(chip->vcc_reg),
> + "failed to get VCC regulator!\n");
>
> err = regulator_enable(chip->vcc_reg);
> if (err) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 20:02:28

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 13/18] iio: imu: inv_mpu6050: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:28 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 20 ++++++--------------
> 1 file changed, 6 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> index 3fee3947f772..18a1898e3e34 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> @@ -1475,22 +1475,14 @@ int inv_mpu_core_probe(struct regmap *regmap, int irq, const char *name,
> }
>
> st->vdd_supply = devm_regulator_get(dev, "vdd");
> - if (IS_ERR(st->vdd_supply)) {
> - if (PTR_ERR(st->vdd_supply) != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get vdd regulator %d\n",
> - (int)PTR_ERR(st->vdd_supply));
> -
> - return PTR_ERR(st->vdd_supply);
> - }
> + if (IS_ERR(st->vdd_supply))
> + return dev_err_probe(dev, PTR_ERR(st->vdd_supply),
> + "Failed to get vdd regulator\n");
>
> st->vddio_supply = devm_regulator_get(dev, "vddio");
> - if (IS_ERR(st->vddio_supply)) {
> - if (PTR_ERR(st->vddio_supply) != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get vddio regulator %d\n",
> - (int)PTR_ERR(st->vddio_supply));
> -
> - return PTR_ERR(st->vddio_supply);
> - }
> + if (IS_ERR(st->vddio_supply))
> + return dev_err_probe(dev, PTR_ERR(st->vddio_supply),
> + "Failed to get vddio regulator\n");
>
> result = regulator_enable(st->vdd_supply);
> if (result) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 20:02:45

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 15/18] iio: light: tsl2772: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:29 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/light/tsl2772.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
> index 735399405417..d79205361dfa 100644
> --- a/drivers/iio/light/tsl2772.c
> +++ b/drivers/iio/light/tsl2772.c
> @@ -1776,14 +1776,8 @@ static int tsl2772_probe(struct i2c_client *clientp,
> ret = devm_regulator_bulk_get(&clientp->dev,
> ARRAY_SIZE(chip->supplies),
> chip->supplies);
> - if (ret < 0) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(&clientp->dev,
> - "Failed to get regulators: %d\n",
> - ret);
> -
> - return ret;
> - }
> + if (ret < 0)
> + return dev_err_probe(&clientp->dev, ret, "Failed to get regulators\n");
>
> ret = regulator_bulk_enable(ARRAY_SIZE(chip->supplies), chip->supplies);
> if (ret < 0) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 20:03:02

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 16/18] iio: magnetometer: ak8974: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:29 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/magnetometer/ak8974.c | 11 ++---------
> 1 file changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/iio/magnetometer/ak8974.c b/drivers/iio/magnetometer/ak8974.c
> index cbb44e401c0a..548c686e29d6 100644
> --- a/drivers/iio/magnetometer/ak8974.c
> +++ b/drivers/iio/magnetometer/ak8974.c
> @@ -843,15 +843,8 @@ static int ak8974_probe(struct i2c_client *i2c,
> ret = devm_regulator_bulk_get(&i2c->dev,
> ARRAY_SIZE(ak8974->regs),
> ak8974->regs);
> - if (ret < 0) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(&i2c->dev, "cannot get regulators: %d\n", ret);
> - else
> - dev_dbg(&i2c->dev,
> - "regulators unavailable, deferring probe\n");
> -
> - return ret;
> - }
> + if (ret < 0)
> + return dev_err_probe(&i2c->dev, ret, "cannot get regulators\n");
>
> ret = regulator_bulk_enable(ARRAY_SIZE(ak8974->regs), ak8974->regs);
> if (ret < 0) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 20:03:52

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 18/18] iio: magnetometer: iio-mux: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:29 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/multiplexer/iio-mux.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/multiplexer/iio-mux.c b/drivers/iio/multiplexer/iio-mux.c
> index 6910218fdb00..d219d4a86657 100644
> --- a/drivers/iio/multiplexer/iio-mux.c
> +++ b/drivers/iio/multiplexer/iio-mux.c
> @@ -354,11 +354,8 @@ static int mux_probe(struct platform_device *pdev)
> return -ENODEV;
>
> parent = devm_iio_channel_get(dev, "parent");
> - if (IS_ERR(parent)) {
> - if (PTR_ERR(parent) != -EPROBE_DEFER)
> - dev_err(dev, "failed to get parent channel\n");
> - return PTR_ERR(parent);
> - }
> + if (IS_ERR(parent))
> + return dev_err_probe(dev, PTR_ERR(parent), "failed to get parent channel\n");
>
> sizeof_ext_info = iio_get_channel_ext_info_count(parent);
> if (sizeof_ext_info) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 20:05:27

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 17/18] iio: magnetometer: mag3110: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 10:29 PM Krzysztof Kozlowski <[email protected]> wrote:
>
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.

Reviewed-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/magnetometer/mag3110.c | 20 ++++++--------------
> 1 file changed, 6 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/iio/magnetometer/mag3110.c b/drivers/iio/magnetometer/mag3110.c
> index 4d305a21c379..838b13c8bb3d 100644
> --- a/drivers/iio/magnetometer/mag3110.c
> +++ b/drivers/iio/magnetometer/mag3110.c
> @@ -476,22 +476,14 @@ static int mag3110_probe(struct i2c_client *client,
> data = iio_priv(indio_dev);
>
> data->vdd_reg = devm_regulator_get(&client->dev, "vdd");
> - if (IS_ERR(data->vdd_reg)) {
> - if (PTR_ERR(data->vdd_reg) == -EPROBE_DEFER)
> - return -EPROBE_DEFER;
> -
> - dev_err(&client->dev, "failed to get VDD regulator!\n");
> - return PTR_ERR(data->vdd_reg);
> - }
> + if (IS_ERR(data->vdd_reg))
> + return dev_err_probe(&client->dev, PTR_ERR(data->vdd_reg),
> + "failed to get VDD regulator!\n");
>
> data->vddio_reg = devm_regulator_get(&client->dev, "vddio");
> - if (IS_ERR(data->vddio_reg)) {
> - if (PTR_ERR(data->vddio_reg) == -EPROBE_DEFER)
> - return -EPROBE_DEFER;
> -
> - dev_err(&client->dev, "failed to get VDDIO regulator!\n");
> - return PTR_ERR(data->vddio_reg);
> - }
> + if (IS_ERR(data->vddio_reg))
> + return dev_err_probe(&client->dev, PTR_ERR(data->vddio_reg),
> + "failed to get VDDIO regulator!\n");
>
> ret = regulator_enable(data->vdd_reg);
> if (ret) {
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko

2020-08-27 21:48:19

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

On 2020-08-27 21:26, Krzysztof Kozlowski wrote:
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Changes since v1:
> 1. Wrap dev_err_probe() lines at 100 character
> ---
> drivers/iio/afe/iio-rescale.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c
> index 69c0f277ada0..8cd9645c50e8 100644
> --- a/drivers/iio/afe/iio-rescale.c
> +++ b/drivers/iio/afe/iio-rescale.c
> @@ -276,11 +276,8 @@ static int rescale_probe(struct platform_device *pdev)
> int ret;
>
> source = devm_iio_channel_get(dev, NULL);
> - if (IS_ERR(source)) {
> - if (PTR_ERR(source) != -EPROBE_DEFER)
> - dev_err(dev, "failed to get source channel\n");
> - return PTR_ERR(source);
> - }
> + if (IS_ERR(source))
> + return dev_err_probe(dev, PTR_ERR(source), "failed to get source channel\n");

Hi!

Sorry to be a pain...but...

I'm not a huge fan of adding *one* odd line breaking the 80 column
recommendation to any file. I like to be able to fit multiple
windows side by side in a meaningful way. Also, I don't like having
a shitload of emptiness on my screen, which is what happens when some
lines are longer and you want to see it all. I strongly believe that
the 80 column rule/recommendation is still as valid as it ever was.
It's just hard to read longish lines; there's a reason newspapers
columns are quite narrow...

Same comment for the envelope-detector (3/18).

You will probably never look at these files again, but *I* might have
to revisit them for one reason or another, and these long lines will
annoy me when that happens.

You did wrap the lines for dpot-dac (12/18) - which is excellent - but
that makes me curious as to what the difference is?

Cheers,
Peter

>
> sizeof_ext_info = iio_get_channel_ext_info_count(source);
> if (sizeof_ext_info) {
>

2020-08-27 21:53:57

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH v2 18/18] iio: magnetometer: iio-mux: Simplify with dev_err_probe()

Hi!

Wrong subject. Made me overlook it on the first pass...

On 2020-08-27 21:26, Krzysztof Kozlowski wrote:
> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/iio/multiplexer/iio-mux.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/multiplexer/iio-mux.c b/drivers/iio/multiplexer/iio-mux.c
> index 6910218fdb00..d219d4a86657 100644
> --- a/drivers/iio/multiplexer/iio-mux.c
> +++ b/drivers/iio/multiplexer/iio-mux.c
> @@ -354,11 +354,8 @@ static int mux_probe(struct platform_device *pdev)
> return -ENODEV;
>
> parent = devm_iio_channel_get(dev, "parent");
> - if (IS_ERR(parent)) {
> - if (PTR_ERR(parent) != -EPROBE_DEFER)
> - dev_err(dev, "failed to get parent channel\n");
> - return PTR_ERR(parent);
> - }
> + if (IS_ERR(parent))
> + return dev_err_probe(dev, PTR_ERR(parent), "failed to get parent channel\n");

As per the comment for 9/18, I'm not a fan of the long line here...

Cheers,
Peter

>
> sizeof_ext_info = iio_get_channel_ext_info_count(parent);
> if (sizeof_ext_info) {
>

2020-08-28 06:28:07

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 11:46:40PM +0200, Peter Rosin wrote:
> On 2020-08-27 21:26, Krzysztof Kozlowski wrote:
> > Common pattern of handling deferred probe can be simplified with
> > dev_err_probe(). Less code and also it prints the error value.
> >
> > Signed-off-by: Krzysztof Kozlowski <[email protected]>
> >
> > ---
> >
> > Changes since v1:
> > 1. Wrap dev_err_probe() lines at 100 character
> > ---
> > drivers/iio/afe/iio-rescale.c | 7 ++-----
> > 1 file changed, 2 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c
> > index 69c0f277ada0..8cd9645c50e8 100644
> > --- a/drivers/iio/afe/iio-rescale.c
> > +++ b/drivers/iio/afe/iio-rescale.c
> > @@ -276,11 +276,8 @@ static int rescale_probe(struct platform_device *pdev)
> > int ret;
> >
> > source = devm_iio_channel_get(dev, NULL);
> > - if (IS_ERR(source)) {
> > - if (PTR_ERR(source) != -EPROBE_DEFER)
> > - dev_err(dev, "failed to get source channel\n");
> > - return PTR_ERR(source);
> > - }
> > + if (IS_ERR(source))
> > + return dev_err_probe(dev, PTR_ERR(source), "failed to get source channel\n");
>
> Hi!
>
> Sorry to be a pain...but...
>
> I'm not a huge fan of adding *one* odd line breaking the 80 column
> recommendation to any file. I like to be able to fit multiple
> windows side by side in a meaningful way. Also, I don't like having
> a shitload of emptiness on my screen, which is what happens when some
> lines are longer and you want to see it all. I strongly believe that
> the 80 column rule/recommendation is still as valid as it ever was.
> It's just hard to read longish lines; there's a reason newspapers
> columns are quite narrow...
>
> Same comment for the envelope-detector (3/18).
>
> You will probably never look at these files again, but *I* might have
> to revisit them for one reason or another, and these long lines will
> annoy me when that happens.

Initially I posted it with 80-characters wrap. Then I received a comment
- better to stick to the new 100, as checkpatch accepts it.

Now you write, better to go back to 80.

Maybe then someone else will write to me, better to go to 100.

And another person will reply, no, coding style still mentions 80, so
keep it at 80.

Sure guys, please first decide which one you prefer, then I will wrap it
accordingly. :)

Otherwise I will just jump from one to another depending on one person's
personal preference.

If there is no consensus among discussing people, I find this 100 line
more readable, already got review, checkpatch accepts it so if subsystem
maintainer likes it, I prefer to leave it like this.

> You did wrap the lines for dpot-dac (12/18) - which is excellent - but
> that makes me curious as to what the difference is?

Didn't fit into limit of 100.

Best regards,
Krzysztof


2020-08-28 07:01:55

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()



On 2020-08-28 08:24, Krzysztof Kozlowski wrote:
> On Thu, Aug 27, 2020 at 11:46:40PM +0200, Peter Rosin wrote:
>> On 2020-08-27 21:26, Krzysztof Kozlowski wrote:
>>> Common pattern of handling deferred probe can be simplified with
>>> dev_err_probe(). Less code and also it prints the error value.
>>>
>>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>>>
>>> ---
>>>
>>> Changes since v1:
>>> 1. Wrap dev_err_probe() lines at 100 character
>>> ---
>>> drivers/iio/afe/iio-rescale.c | 7 ++-----
>>> 1 file changed, 2 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c
>>> index 69c0f277ada0..8cd9645c50e8 100644
>>> --- a/drivers/iio/afe/iio-rescale.c
>>> +++ b/drivers/iio/afe/iio-rescale.c
>>> @@ -276,11 +276,8 @@ static int rescale_probe(struct platform_device *pdev)
>>> int ret;
>>>
>>> source = devm_iio_channel_get(dev, NULL);
>>> - if (IS_ERR(source)) {
>>> - if (PTR_ERR(source) != -EPROBE_DEFER)
>>> - dev_err(dev, "failed to get source channel\n");
>>> - return PTR_ERR(source);
>>> - }
>>> + if (IS_ERR(source))
>>> + return dev_err_probe(dev, PTR_ERR(source), "failed to get source channel\n");
>>
>> Hi!
>>
>> Sorry to be a pain...but...
>>
>> I'm not a huge fan of adding *one* odd line breaking the 80 column
>> recommendation to any file. I like to be able to fit multiple
>> windows side by side in a meaningful way. Also, I don't like having
>> a shitload of emptiness on my screen, which is what happens when some
>> lines are longer and you want to see it all. I strongly believe that
>> the 80 column rule/recommendation is still as valid as it ever was.
>> It's just hard to read longish lines; there's a reason newspapers
>> columns are quite narrow...
>>
>> Same comment for the envelope-detector (3/18).
>>
>> You will probably never look at these files again, but *I* might have
>> to revisit them for one reason or another, and these long lines will
>> annoy me when that happens.
>
> Initially I posted it with 80-characters wrap. Then I received a comment
> - better to stick to the new 100, as checkpatch accepts it.
>
> Now you write, better to go back to 80.
>
> Maybe then someone else will write to me, better to go to 100.
>
> And another person will reply, no, coding style still mentions 80, so
> keep it at 80.
>
> Sure guys, please first decide which one you prefer, then I will wrap it
> accordingly. :)
>
> Otherwise I will just jump from one to another depending on one person's
> personal preference.
>
> If there is no consensus among discussing people, I find this 100 line
> more readable, already got review, checkpatch accepts it so if subsystem
> maintainer likes it, I prefer to leave it like this.

I'm not impressed by that argument. For the files I have mentioned, it
does not matter very much to me if you and some random person think that
100 columns might *slightly* improve readability.

Quoting coding-style

Statements longer than 80 columns should be broken into sensible chunks,
unless exceeding 80 columns significantly increases readability and does
not hide information.

Notice that word? *significantly*

Why do I even have to speak up about this? WTF?

For the patches that touch files that I originally wrote [1], my
preference should be clear by now.

Cheers,
Peter

[1]

drivers/iio/adc/envelope-detector.c
drivers/iio/afe/iio-rescale.c
drivers/iio/dac/dpot-dac.c
drivers/iio/multiplexer/iio-mux.c

>> You did wrap the lines for dpot-dac (12/18) - which is excellent - but
>> that makes me curious as to what the difference is?
>
> Didn't fit into limit of 100.

2020-08-28 07:04:39

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

On Fri, 28 Aug 2020 at 08:58, Peter Rosin <[email protected]> wrote:
> >> I'm not a huge fan of adding *one* odd line breaking the 80 column
> >> recommendation to any file. I like to be able to fit multiple
> >> windows side by side in a meaningful way. Also, I don't like having
> >> a shitload of emptiness on my screen, which is what happens when some
> >> lines are longer and you want to see it all. I strongly believe that
> >> the 80 column rule/recommendation is still as valid as it ever was.
> >> It's just hard to read longish lines; there's a reason newspapers
> >> columns are quite narrow...
> >>
> >> Same comment for the envelope-detector (3/18).
> >>
> >> You will probably never look at these files again, but *I* might have
> >> to revisit them for one reason or another, and these long lines will
> >> annoy me when that happens.
> >
> > Initially I posted it with 80-characters wrap. Then I received a comment
> > - better to stick to the new 100, as checkpatch accepts it.
> >
> > Now you write, better to go back to 80.
> >
> > Maybe then someone else will write to me, better to go to 100.
> >
> > And another person will reply, no, coding style still mentions 80, so
> > keep it at 80.
> >
> > Sure guys, please first decide which one you prefer, then I will wrap it
> > accordingly. :)
> >
> > Otherwise I will just jump from one to another depending on one person's
> > personal preference.
> >
> > If there is no consensus among discussing people, I find this 100 line
> > more readable, already got review, checkpatch accepts it so if subsystem
> > maintainer likes it, I prefer to leave it like this.
>
> I'm not impressed by that argument. For the files I have mentioned, it
> does not matter very much to me if you and some random person think that
> 100 columns might *slightly* improve readability.
>
> Quoting coding-style
>
> Statements longer than 80 columns should be broken into sensible chunks,
> unless exceeding 80 columns significantly increases readability and does
> not hide information.
>
> Notice that word? *significantly*

Notice also checkpatch change...

First of all, I don't have a preference over wrapping here. As I said,
I sent v1 with 80 and got a response to change it to 100. You want me
basically to bounce from A to B to A to B.

> Why do I even have to speak up about this? WTF?

Because we all share here our ideas...

> For the patches that touch files that I originally wrote [1], my
> preference should be clear by now.

I understood your preference. There is nothing unclear here. Other
person had different preference. I told you my arguments that it is
not reasonable to jump A->B->A->B just because each person has a
different view. At the end it's the subsystem maintainer's decision as
he wants to keep his subsystem clean.

Best regards,
Krzysztof

2020-08-28 07:12:11

by Jean-Baptiste Maneyrol

[permalink] [raw]
Subject: Re: [PATCH v2 13/18] iio: imu: inv_mpu6050: Simplify with dev_err_probe()

Hello,

thanks for the patch.

Best regards,
JB

Reviewed-by: Jean-Baptiste Maneyrol <[email protected]>

________________________________________
From: [email protected] <[email protected]> on behalf of Krzysztof Kozlowski <[email protected]>
Sent: Thursday, August 27, 2020 21:26
To: Jonathan Cameron; Hartmut Knaack; Lars-Peter Clausen; Peter Meerwald-Stadler; Peter Rosin; Kukjin Kim; Krzysztof Kozlowski; Michael Hennerich; Kevin Hilman; Neil Armstrong; Jerome Brunet; Martin Blumenstingl; Marek Vasut; Maxime Coquelin; Alexandre Torgue; Beniamin Bia; Tomasz Duszynski; Linus Walleij; Andy Shevchenko; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: [PATCH v2 13/18] iio: imu: inv_mpu6050: Simplify with dev_err_probe()

CAUTION: This email originated from outside of the organization. Please make sure the sender is who they say they are and do not click links or open attachments unless you recognize the sender and know the content is safe.

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index 3fee3947f772..18a1898e3e34 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -1475,22 +1475,14 @@ int inv_mpu_core_probe(struct regmap *regmap, int irq, const char *name,
}

st->vdd_supply = devm_regulator_get(dev, "vdd");
- if (IS_ERR(st->vdd_supply)) {
- if (PTR_ERR(st->vdd_supply) != -EPROBE_DEFER)
- dev_err(dev, "Failed to get vdd regulator %d\n",
- (int)PTR_ERR(st->vdd_supply));
-
- return PTR_ERR(st->vdd_supply);
- }
+ if (IS_ERR(st->vdd_supply))
+ return dev_err_probe(dev, PTR_ERR(st->vdd_supply),
+ "Failed to get vdd regulator\n");

st->vddio_supply = devm_regulator_get(dev, "vddio");
- if (IS_ERR(st->vddio_supply)) {
- if (PTR_ERR(st->vddio_supply) != -EPROBE_DEFER)
- dev_err(dev, "Failed to get vddio regulator %d\n",
- (int)PTR_ERR(st->vddio_supply));
-
- return PTR_ERR(st->vddio_supply);
- }
+ if (IS_ERR(st->vddio_supply))
+ return dev_err_probe(dev, PTR_ERR(st->vddio_supply),
+ "Failed to get vddio regulator\n");

result = regulator_enable(st->vdd_supply);
if (result) {
--
2.17.1

2020-08-28 08:26:29

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

On Fri, Aug 28, 2020 at 12:46 AM Peter Rosin <[email protected]> wrote:
> On 2020-08-27 21:26, Krzysztof Kozlowski wrote:

...

> I'm not a huge fan of adding *one* odd line breaking the 80 column
> recommendation to any file. I like to be able to fit multiple
> windows side by side in a meaningful way. Also, I don't like having
> a shitload of emptiness on my screen, which is what happens when some
> lines are longer and you want to see it all. I strongly believe that
> the 80 column rule/recommendation is still as valid as it ever was.
> It's just hard to read longish lines; there's a reason newspapers
> columns are quite narrow...

Why not to introduce 66 (or so, like TeX recommends)? Or even less?
I consider any comparison to news or natural language text is silly.
Programming language is different in many aspects, including helpful
scripts and utilities to browse the source code.

--
With Best Regards,
Andy Shevchenko

2020-08-28 09:40:43

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()



On 2020-08-28 09:03, Krzysztof Kozlowski wrote:
> On Fri, 28 Aug 2020 at 08:58, Peter Rosin <[email protected]> wrote:
>>>> I'm not a huge fan of adding *one* odd line breaking the 80 column
>>>> recommendation to any file. I like to be able to fit multiple
>>>> windows side by side in a meaningful way. Also, I don't like having
>>>> a shitload of emptiness on my screen, which is what happens when some
>>>> lines are longer and you want to see it all. I strongly believe that
>>>> the 80 column rule/recommendation is still as valid as it ever was.
>>>> It's just hard to read longish lines; there's a reason newspapers
>>>> columns are quite narrow...
>>>>
>>>> Same comment for the envelope-detector (3/18).
>>>>
>>>> You will probably never look at these files again, but *I* might have
>>>> to revisit them for one reason or another, and these long lines will
>>>> annoy me when that happens.
>>>
>>> Initially I posted it with 80-characters wrap. Then I received a comment
>>> - better to stick to the new 100, as checkpatch accepts it.
>>>
>>> Now you write, better to go back to 80.
>>>
>>> Maybe then someone else will write to me, better to go to 100.
>>>
>>> And another person will reply, no, coding style still mentions 80, so
>>> keep it at 80.
>>>
>>> Sure guys, please first decide which one you prefer, then I will wrap it
>>> accordingly. :)
>>>
>>> Otherwise I will just jump from one to another depending on one person's
>>> personal preference.
>>>
>>> If there is no consensus among discussing people, I find this 100 line
>>> more readable, already got review, checkpatch accepts it so if subsystem
>>> maintainer likes it, I prefer to leave it like this.
>>
>> I'm not impressed by that argument. For the files I have mentioned, it
>> does not matter very much to me if you and some random person think that
>> 100 columns might *slightly* improve readability.
>>
>> Quoting coding-style
>>
>> Statements longer than 80 columns should be broken into sensible chunks,
>> unless exceeding 80 columns significantly increases readability and does
>> not hide information.
>>
>> Notice that word? *significantly*
>
> Notice also checkpatch change...

How is that relevant? checkpatch has *never* had the final say and its
heuristics can never be perfect. Meanwhile, coding style is talking about
exactly the case under discussion, and agrees with me perfectly.

> First of all, I don't have a preference over wrapping here. As I said,
> I sent v1 with 80 and got a response to change it to 100. You want me
> basically to bounce from A to B to A to B.
>
>> Why do I even have to speak up about this? WTF?
>
> Because we all share here our ideas...
>
>> For the patches that touch files that I originally wrote [1], my
>> preference should be clear by now.
>
> I understood your preference. There is nothing unclear here. Other
> person had different preference. I told you my arguments that it is
> not reasonable to jump A->B->A->B just because each person has a
> different view. At the end it's the subsystem maintainer's decision as
> he wants to keep his subsystem clean.

Yeah, I bet he is thrilled about it.

Cheers,
Peter

2020-08-28 09:42:12

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

On 2020-08-28 10:25, Andy Shevchenko wrote:
> On Fri, Aug 28, 2020 at 12:46 AM Peter Rosin <[email protected]> wrote:
>> On 2020-08-27 21:26, Krzysztof Kozlowski wrote:
>
> ...
>
>> I'm not a huge fan of adding *one* odd line breaking the 80 column
>> recommendation to any file. I like to be able to fit multiple
>> windows side by side in a meaningful way. Also, I don't like having
>> a shitload of emptiness on my screen, which is what happens when some
>> lines are longer and you want to see it all. I strongly believe that
>> the 80 column rule/recommendation is still as valid as it ever was.
>> It's just hard to read longish lines; there's a reason newspapers
>> columns are quite narrow...
>
> Why not to introduce 66 (or so, like TeX recommends)? Or even less?

Because 80 is what happens to what is recommended in coding style?

> I consider any comparison to news or natural language text is silly.
> Programming language is different in many aspects, including helpful
> scripts and utilities to browse the source code.

So, by all means, scratch that part. You still have a problem getting
around the coding style recommendation.

Cheers,
Peter

2020-08-28 14:34:53

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v2 16/18] iio: magnetometer: ak8974: Simplify with dev_err_probe()

On Thu, Aug 27, 2020 at 9:29 PM Krzysztof Kozlowski <[email protected]> wrote:

> Common pattern of handling deferred probe can be simplified with
> dev_err_probe(). Less code and also it prints the error value.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Acked-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2020-08-28 17:53:07

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH v2 09/18] iio: afe: iio-rescale: Simplify with dev_err_probe()

On Fri, 2020-08-28 at 11:39 +0200, Peter Rosin wrote:
> On 2020-08-28 09:03, Krzysztof Kozlowski wrote:
> > > > If there is no consensus among discussing people, I find this 100 line
> > > > more readable, already got review, checkpatch accepts it so if subsystem
> > > > maintainer likes it, I prefer to leave it like this.
> > >
> > > I'm not impressed by that argument. For the files I have mentioned, it
> > > does not matter very much to me if you and some random person think that
> > > 100 columns might *slightly* improve readability.
> > >
> > > Quoting coding-style
> > >
> > > Statements longer than 80 columns should be broken into sensible chunks,
> > > unless exceeding 80 columns significantly increases readability and does
> > > not hide information.
> > >
> > > Notice that word? *significantly*
> >
> > Notice also checkpatch change...
>
> How is that relevant? checkpatch has *never* had the final say and its
> heuristics can never be perfect. Meanwhile, coding style is talking about
> exactly the case under discussion, and agrees with me perfectly.

As the checkpatch maintainer, checkpatch is stupid.
Using it as a primary argument should never be acceptable.

But line lengths from 81 to 100 columns should be exceptions
rather than
standard use.

Any named maintainer of actual code determines the style for
that code.

Style consistency and use of kernel standard mechanisms
should be the primary goals here.