Skip to content

Commit

Permalink
rtc: add devm_ prefix to rtc_nvmem_register()
Browse files Browse the repository at this point in the history
rtc_nvmem_register() is a managed interface. It doesn't require any
release function to be called at driver detach. To avoid confusing
driver authors, let's rename it to devm_rtc_nvmem_register() and add it
to the list of managed interfaces in Documentation/.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201109163409.24301-6-brgl@bgdev.pl
  • Loading branch information
Bartosz Golaszewski authored and Alexandre Belloni committed Nov 19, 2020
1 parent 25ece30 commit 3a905c2
Showing 29 changed files with 35 additions and 34 deletions.
1 change: 1 addition & 0 deletions Documentation/driver-api/driver-model/devres.rst
Original file line number Diff line number Diff line change
@@ -414,6 +414,7 @@ RESET
RTC
devm_rtc_device_register()
devm_rtc_allocate_device()
devm_rtc_nvmem_register()

SERDEV
devm_serdev_device_open()
4 changes: 2 additions & 2 deletions drivers/rtc/nvmem.c
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@
#include <linux/nvmem-consumer.h>
#include <linux/rtc.h>

int rtc_nvmem_register(struct rtc_device *rtc,
int devm_rtc_nvmem_register(struct rtc_device *rtc,
struct nvmem_config *nvmem_config)
{
struct nvmem_device *nvmem;
@@ -24,4 +24,4 @@ int rtc_nvmem_register(struct rtc_device *rtc,

return PTR_ERR_OR_ZERO(nvmem);
}
EXPORT_SYMBOL_GPL(rtc_nvmem_register);
EXPORT_SYMBOL_GPL(devm_rtc_nvmem_register);
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-cmos.c
Original file line number Diff line number Diff line change
@@ -869,7 +869,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)

/* export at least the first block of NVRAM */
nvmem_cfg.size = address_space - NVRAM_OFFSET;
if (rtc_nvmem_register(cmos_rtc.rtc, &nvmem_cfg))
if (devm_rtc_nvmem_register(cmos_rtc.rtc, &nvmem_cfg))
dev_err(dev, "nvmem registration failed\n");

dev_info(dev, "%s%s, %d bytes nvram%s\n",
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds1305.c
Original file line number Diff line number Diff line change
@@ -698,7 +698,7 @@ static int ds1305_probe(struct spi_device *spi)
if (status)
return status;

rtc_nvmem_register(ds1305->rtc, &ds1305_nvmem_cfg);
devm_rtc_nvmem_register(ds1305->rtc, &ds1305_nvmem_cfg);

/* Maybe set up alarm IRQ; be ready to handle it triggering right
* away. NOTE that we don't share this. The signal is active low,
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds1307.c
Original file line number Diff line number Diff line change
@@ -2016,7 +2016,7 @@ static int ds1307_probe(struct i2c_client *client,
.priv = ds1307,
};

rtc_nvmem_register(ds1307->rtc, &nvmem_cfg);
devm_rtc_nvmem_register(ds1307->rtc, &nvmem_cfg);
}

ds1307_hwmon_register(ds1307);
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds1343.c
Original file line number Diff line number Diff line change
@@ -413,7 +413,7 @@ static int ds1343_probe(struct spi_device *spi)
return res;

nvmem_cfg.priv = priv;
rtc_nvmem_register(priv->rtc, &nvmem_cfg);
devm_rtc_nvmem_register(priv->rtc, &nvmem_cfg);

priv->irq = spi->irq;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds1511.c
Original file line number Diff line number Diff line change
@@ -470,7 +470,7 @@ static int ds1511_rtc_probe(struct platform_device *pdev)
if (ret)
return ret;

rtc_nvmem_register(pdata->rtc, &ds1511_nvmem_cfg);
devm_rtc_nvmem_register(pdata->rtc, &ds1511_nvmem_cfg);

/*
* if the platform has an interrupt in mind for this device,
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds1553.c
Original file line number Diff line number Diff line change
@@ -309,7 +309,7 @@ static int ds1553_rtc_probe(struct platform_device *pdev)
}
}

if (rtc_nvmem_register(pdata->rtc, &nvmem_cfg))
if (devm_rtc_nvmem_register(pdata->rtc, &nvmem_cfg))
dev_err(&pdev->dev, "unable to register nvmem\n");

return 0;
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds1685.c
Original file line number Diff line number Diff line change
@@ -1317,7 +1317,7 @@ ds1685_rtc_probe(struct platform_device *pdev)
return ret;

nvmem_cfg.priv = rtc;
ret = rtc_nvmem_register(rtc_dev, &nvmem_cfg);
ret = devm_rtc_nvmem_register(rtc_dev, &nvmem_cfg);
if (ret)
return ret;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds1742.c
Original file line number Diff line number Diff line change
@@ -195,7 +195,7 @@ static int ds1742_rtc_probe(struct platform_device *pdev)
if (ret)
return ret;

if (rtc_nvmem_register(rtc, &nvmem_cfg))
if (devm_rtc_nvmem_register(rtc, &nvmem_cfg))
dev_err(&pdev->dev, "Unable to register nvmem\n");

return 0;
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-ds3232.c
Original file line number Diff line number Diff line change
@@ -518,7 +518,7 @@ static int ds3232_probe(struct device *dev, struct regmap *regmap, int irq,
if (IS_ERR(ds3232->rtc))
return PTR_ERR(ds3232->rtc);

ret = rtc_nvmem_register(ds3232->rtc, &nvmem_cfg);
ret = devm_rtc_nvmem_register(ds3232->rtc, &nvmem_cfg);
if(ret)
return ret;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-isl12026.c
Original file line number Diff line number Diff line change
@@ -465,7 +465,7 @@ static int isl12026_probe_new(struct i2c_client *client)

priv->rtc->ops = &isl12026_rtc_ops;
nvm_cfg.priv = priv;
ret = rtc_nvmem_register(priv->rtc, &nvm_cfg);
ret = devm_rtc_nvmem_register(priv->rtc, &nvm_cfg);
if (ret)
return ret;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-isl1208.c
Original file line number Diff line number Diff line change
@@ -890,7 +890,7 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
if (rc)
return rc;

rc = rtc_nvmem_register(isl1208->rtc, &isl1208->nvmem_config);
rc = devm_rtc_nvmem_register(isl1208->rtc, &isl1208->nvmem_config);
if (rc)
return rc;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-m48t59.c
Original file line number Diff line number Diff line change
@@ -466,7 +466,7 @@ static int m48t59_rtc_probe(struct platform_device *pdev)
m48t59->rtc->ops = ops;

nvmem_cfg.size = pdata->offset;
ret = rtc_nvmem_register(m48t59->rtc, &nvmem_cfg);
ret = devm_rtc_nvmem_register(m48t59->rtc, &nvmem_cfg);
if (ret)
return ret;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-m48t86.c
Original file line number Diff line number Diff line change
@@ -259,7 +259,7 @@ static int m48t86_rtc_probe(struct platform_device *pdev)
if (err)
return err;

rtc_nvmem_register(info->rtc, &m48t86_nvmem_cfg);
devm_rtc_nvmem_register(info->rtc, &m48t86_nvmem_cfg);

/* read battery status */
reg = m48t86_readb(&pdev->dev, M48T86_D);
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-meson.c
Original file line number Diff line number Diff line change
@@ -365,7 +365,7 @@ static int meson_rtc_probe(struct platform_device *pdev)
}

meson_rtc_nvmem_config.priv = rtc;
ret = rtc_nvmem_register(rtc->rtc, &meson_rtc_nvmem_config);
ret = devm_rtc_nvmem_register(rtc->rtc, &meson_rtc_nvmem_config);
if (ret)
goto out_disable_vdd;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-omap.c
Original file line number Diff line number Diff line change
@@ -890,7 +890,7 @@ static int omap_rtc_probe(struct platform_device *pdev)
if (ret)
goto err;

rtc_nvmem_register(rtc->rtc, &omap_rtc_nvmem_config);
devm_rtc_nvmem_register(rtc->rtc, &omap_rtc_nvmem_config);

if (rtc->is_pmic_controller) {
if (!pm_power_off) {
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-pcf2127.c
Original file line number Diff line number Diff line change
@@ -608,7 +608,7 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap,
.size = 512,
};

ret = rtc_nvmem_register(pcf2127->rtc, &nvmem_cfg);
ret = devm_rtc_nvmem_register(pcf2127->rtc, &nvmem_cfg);
}

/*
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-pcf85063.c
Original file line number Diff line number Diff line change
@@ -607,7 +607,7 @@ static int pcf85063_probe(struct i2c_client *client)
}

nvmem_cfg.priv = pcf85063->regmap;
rtc_nvmem_register(pcf85063->rtc, &nvmem_cfg);
devm_rtc_nvmem_register(pcf85063->rtc, &nvmem_cfg);

#ifdef CONFIG_COMMON_CLK
/* register clk in common clk framework */
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-pcf85363.c
Original file line number Diff line number Diff line change
@@ -422,7 +422,7 @@ static int pcf85363_probe(struct i2c_client *client,

for (i = 0; i < config->num_nvram; i++) {
nvmem_cfg[i].priv = pcf85363;
rtc_nvmem_register(pcf85363->rtc, &nvmem_cfg[i]);
devm_rtc_nvmem_register(pcf85363->rtc, &nvmem_cfg[i]);
}

return ret;
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-rp5c01.c
Original file line number Diff line number Diff line change
@@ -255,7 +255,7 @@ static int __init rp5c01_rtc_probe(struct platform_device *dev)
priv->rtc = rtc;

nvmem_cfg.priv = priv;
error = rtc_nvmem_register(rtc, &nvmem_cfg);
error = devm_rtc_nvmem_register(rtc, &nvmem_cfg);
if (error)
return error;

4 changes: 2 additions & 2 deletions drivers/rtc/rtc-rv3028.c
Original file line number Diff line number Diff line change
@@ -891,9 +891,9 @@ static int rv3028_probe(struct i2c_client *client)
return ret;

nvmem_cfg.priv = rv3028->regmap;
rtc_nvmem_register(rv3028->rtc, &nvmem_cfg);
devm_rtc_nvmem_register(rv3028->rtc, &nvmem_cfg);
eeprom_cfg.priv = rv3028;
rtc_nvmem_register(rv3028->rtc, &eeprom_cfg);
devm_rtc_nvmem_register(rv3028->rtc, &eeprom_cfg);

rv3028->rtc->max_user_freq = 1;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-rv3029c2.c
Original file line number Diff line number Diff line change
@@ -755,7 +755,7 @@ static int rv3029_probe(struct device *dev, struct regmap *regmap, int irq,
return rc;

nvmem_cfg.priv = rv3029->regmap;
rtc_nvmem_register(rv3029->rtc, &nvmem_cfg);
devm_rtc_nvmem_register(rv3029->rtc, &nvmem_cfg);

return 0;
}
4 changes: 2 additions & 2 deletions drivers/rtc/rtc-rv3032.c
Original file line number Diff line number Diff line change
@@ -890,9 +890,9 @@ static int rv3032_probe(struct i2c_client *client)
return ret;

nvmem_cfg.priv = rv3032->regmap;
rtc_nvmem_register(rv3032->rtc, &nvmem_cfg);
devm_rtc_nvmem_register(rv3032->rtc, &nvmem_cfg);
eeprom_cfg.priv = rv3032;
rtc_nvmem_register(rv3032->rtc, &eeprom_cfg);
devm_rtc_nvmem_register(rv3032->rtc, &eeprom_cfg);

rv3032->rtc->max_user_freq = 1;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-rv8803.c
Original file line number Diff line number Diff line change
@@ -591,7 +591,7 @@ static int rv8803_probe(struct i2c_client *client,
if (err)
return err;

rtc_nvmem_register(rv8803->rtc, &nvmem_cfg);
devm_rtc_nvmem_register(rv8803->rtc, &nvmem_cfg);

rv8803->rtc->max_user_freq = 1;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-rx8581.c
Original file line number Diff line number Diff line change
@@ -302,7 +302,7 @@ static int rx8581_probe(struct i2c_client *client,

for (i = 0; i < config->num_nvram; i++) {
nvmem_cfg[i].priv = rx8581;
rtc_nvmem_register(rx8581->rtc, &nvmem_cfg[i]);
devm_rtc_nvmem_register(rx8581->rtc, &nvmem_cfg[i]);
}

return ret;
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-stk17ta8.c
Original file line number Diff line number Diff line change
@@ -313,7 +313,7 @@ static int stk17ta8_rtc_probe(struct platform_device *pdev)
pdata->rtc->ops = &stk17ta8_rtc_ops;

nvmem_cfg.priv = pdata;
ret = rtc_nvmem_register(pdata->rtc, &nvmem_cfg);
ret = devm_rtc_nvmem_register(pdata->rtc, &nvmem_cfg);
if (ret)
return ret;

2 changes: 1 addition & 1 deletion drivers/rtc/rtc-tx4939.c
Original file line number Diff line number Diff line change
@@ -271,7 +271,7 @@ static int __init tx4939_rtc_probe(struct platform_device *pdev)
pdata->rtc = rtc;

nvmem_cfg.priv = pdata;
ret = rtc_nvmem_register(rtc, &nvmem_cfg);
ret = devm_rtc_nvmem_register(rtc, &nvmem_cfg);
if (ret)
return ret;

8 changes: 4 additions & 4 deletions include/linux/rtc.h
Original file line number Diff line number Diff line change
@@ -244,11 +244,11 @@ extern int rtc_hctosys_ret;
#endif

#ifdef CONFIG_RTC_NVMEM
int rtc_nvmem_register(struct rtc_device *rtc,
struct nvmem_config *nvmem_config);
int devm_rtc_nvmem_register(struct rtc_device *rtc,
struct nvmem_config *nvmem_config);
#else
static inline int rtc_nvmem_register(struct rtc_device *rtc,
struct nvmem_config *nvmem_config)
static inline int devm_rtc_nvmem_register(struct rtc_device *rtc,
struct nvmem_config *nvmem_config)
{
return 0;
}

0 comments on commit 3a905c2

Please sign in to comment.