mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
rtc: max77686: convert to devm_i2c_new_dummy_device()
I was about to simplify the call to i2c_unregister_device() when I realized that converting to devm_i2c_new_dummy_device() will simplify the driver a lot. So I took this approach. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Link: https://lore.kernel.org/r/20190830133124.21633-2-wsa+renesas@sang-engineering.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
7ef66122bd
commit
59a7f24fce
@ -690,8 +690,8 @@ static int max77686_init_rtc_regmap(struct max77686_rtc_info *info)
|
|||||||
goto add_rtc_irq;
|
goto add_rtc_irq;
|
||||||
}
|
}
|
||||||
|
|
||||||
info->rtc = i2c_new_dummy_device(parent_i2c->adapter,
|
info->rtc = devm_i2c_new_dummy_device(info->dev, parent_i2c->adapter,
|
||||||
info->drv_data->rtc_i2c_addr);
|
info->drv_data->rtc_i2c_addr);
|
||||||
if (IS_ERR(info->rtc)) {
|
if (IS_ERR(info->rtc)) {
|
||||||
dev_err(info->dev, "Failed to allocate I2C device for RTC\n");
|
dev_err(info->dev, "Failed to allocate I2C device for RTC\n");
|
||||||
return PTR_ERR(info->rtc);
|
return PTR_ERR(info->rtc);
|
||||||
@ -702,7 +702,7 @@ static int max77686_init_rtc_regmap(struct max77686_rtc_info *info)
|
|||||||
if (IS_ERR(info->rtc_regmap)) {
|
if (IS_ERR(info->rtc_regmap)) {
|
||||||
ret = PTR_ERR(info->rtc_regmap);
|
ret = PTR_ERR(info->rtc_regmap);
|
||||||
dev_err(info->dev, "Failed to allocate RTC regmap: %d\n", ret);
|
dev_err(info->dev, "Failed to allocate RTC regmap: %d\n", ret);
|
||||||
goto err_unregister_i2c;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
add_rtc_irq:
|
add_rtc_irq:
|
||||||
@ -712,15 +712,10 @@ add_rtc_irq:
|
|||||||
&info->rtc_irq_data);
|
&info->rtc_irq_data);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(info->dev, "Failed to add RTC irq chip: %d\n", ret);
|
dev_err(info->dev, "Failed to add RTC irq chip: %d\n", ret);
|
||||||
goto err_unregister_i2c;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_unregister_i2c:
|
|
||||||
if (info->rtc)
|
|
||||||
i2c_unregister_device(info->rtc);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int max77686_rtc_probe(struct platform_device *pdev)
|
static int max77686_rtc_probe(struct platform_device *pdev)
|
||||||
@ -783,8 +778,6 @@ static int max77686_rtc_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
err_rtc:
|
err_rtc:
|
||||||
regmap_del_irq_chip(info->rtc_irq, info->rtc_irq_data);
|
regmap_del_irq_chip(info->rtc_irq, info->rtc_irq_data);
|
||||||
if (info->rtc)
|
|
||||||
i2c_unregister_device(info->rtc);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -795,8 +788,6 @@ static int max77686_rtc_remove(struct platform_device *pdev)
|
|||||||
|
|
||||||
free_irq(info->virq, info);
|
free_irq(info->virq, info);
|
||||||
regmap_del_irq_chip(info->rtc_irq, info->rtc_irq_data);
|
regmap_del_irq_chip(info->rtc_irq, info->rtc_irq_data);
|
||||||
if (info->rtc)
|
|
||||||
i2c_unregister_device(info->rtc);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user