lkml.org 
[lkml]   [2020]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 20/59] rtc: s5m: use devm_i2c_new_dummy_device()
    Date
    From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

    Use the managed variant of i2c_new_dummy_device() to shrink code and
    remove the goto label.

    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    ---
    drivers/rtc/rtc-s5m.c | 24 ++++++++----------------
    1 file changed, 8 insertions(+), 16 deletions(-)

    diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c
    index eb9dde4095a9..3432c6213b4c 100644
    --- a/drivers/rtc/rtc-s5m.c
    +++ b/drivers/rtc/rtc-s5m.c
    @@ -760,7 +760,8 @@ static int s5m_rtc_probe(struct platform_device *pdev)
    return -ENODEV;
    }

    - info->i2c = i2c_new_dummy_device(s5m87xx->i2c->adapter, RTC_I2C_ADDR);
    + info->i2c = devm_i2c_new_dummy_device(&pdev->dev, s5m87xx->i2c->adapter,
    + RTC_I2C_ADDR);
    if (IS_ERR(info->i2c)) {
    dev_err(&pdev->dev, "Failed to allocate I2C for RTC\n");
    return PTR_ERR(info->i2c);
    @@ -768,10 +769,9 @@ static int s5m_rtc_probe(struct platform_device *pdev)

    info->regmap = devm_regmap_init_i2c(info->i2c, regmap_cfg);
    if (IS_ERR(info->regmap)) {
    - ret = PTR_ERR(info->regmap);
    dev_err(&pdev->dev, "Failed to allocate RTC register map: %d\n",
    - ret);
    - goto err;
    + ret);
    + return PTR_ERR(info->regmap);
    }

    info->dev = &pdev->dev;
    @@ -781,10 +781,9 @@ static int s5m_rtc_probe(struct platform_device *pdev)
    if (s5m87xx->irq_data) {
    info->irq = regmap_irq_get_virq(s5m87xx->irq_data, alarm_irq);
    if (info->irq <= 0) {
    - ret = -EINVAL;
    dev_err(&pdev->dev, "Failed to get virtual IRQ %d\n",
    alarm_irq);
    - goto err;
    + return -EINVAL;
    }
    }

    @@ -797,10 +796,8 @@ static int s5m_rtc_probe(struct platform_device *pdev)
    info->rtc_dev = devm_rtc_device_register(&pdev->dev, "s5m-rtc",
    &s5m_rtc_ops, THIS_MODULE);

    - if (IS_ERR(info->rtc_dev)) {
    - ret = PTR_ERR(info->rtc_dev);
    - goto err;
    - }
    + if (IS_ERR(info->rtc_dev))
    + return PTR_ERR(info->rtc_dev);

    if (!info->irq) {
    dev_info(&pdev->dev, "Alarm IRQ not available\n");
    @@ -813,15 +810,10 @@ static int s5m_rtc_probe(struct platform_device *pdev)
    if (ret < 0) {
    dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n",
    info->irq, ret);
    - goto err;
    + return ret;
    }

    return 0;
    -
    -err:
    - i2c_unregister_device(info->i2c);
    -
    - return ret;
    }

    static int s5m_rtc_remove(struct platform_device *pdev)
    --
    2.29.1
    \
     
     \ /
      Last update: 2020-11-19 12:48    [W:4.299 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site