ds3232
ret = regmap_bulk_read(ds3232->regmap, DS3232_REG_SECONDS, buf, 7);
struct ds3232 *ds3232 = dev_get_drvdata(dev);
return regmap_bulk_write(ds3232->regmap, DS3232_REG_SECONDS, buf, 7);
struct ds3232 *ds3232 = dev_get_drvdata(dev);
ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat);
ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control);
ret = regmap_bulk_read(ds3232->regmap, DS3232_REG_ALARM1, buf, 4);
struct ds3232 *ds3232 = dev_get_drvdata(dev);
if (ds3232->irq <= 0)
ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control);
ret = regmap_write(ds3232->regmap, DS3232_REG_CR, control);
ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat);
ret = regmap_write(ds3232->regmap, DS3232_REG_SR, stat);
ret = regmap_bulk_write(ds3232->regmap, DS3232_REG_ALARM1, buf, 4);
ret = regmap_write(ds3232->regmap, DS3232_REG_CR, control);
struct ds3232 *ds3232 = dev_get_drvdata(dev);
ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control);
ret = regmap_write(ds3232->regmap, DS3232_REG_CR, control);
struct ds3232 *ds3232 = dev_get_drvdata(dev);
ret = regmap_bulk_read(ds3232->regmap, DS3232_REG_TEMPERATURE, temp_buf,
struct ds3232 *ds3232 = dev_get_drvdata(dev);
hwmon_dev = devm_hwmon_device_register_with_info(dev, name, ds3232,
struct ds3232 *ds3232 = dev_get_drvdata(dev);
if (ds3232->irq <= 0)
struct ds3232 *ds3232 = dev_get_drvdata(dev);
rtc_lock(ds3232->rtc);
ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat);
ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control);
dev_warn(ds3232->dev,
ret = regmap_write(ds3232->regmap, DS3232_REG_CR,
dev_warn(ds3232->dev,
ret = regmap_write(ds3232->regmap, DS3232_REG_SR, stat);
dev_warn(ds3232->dev,
rtc_update_irq(ds3232->rtc, 1, RTC_AF | RTC_IRQF);
rtc_unlock(ds3232->rtc);
struct ds3232 *ds3232;
ds3232 = devm_kzalloc(dev, sizeof(*ds3232), GFP_KERNEL);
if (!ds3232)
ds3232->regmap = regmap;
ds3232->irq = irq;
ds3232->dev = dev;
dev_set_drvdata(dev, ds3232);
if (ds3232->irq > 0)
ds3232->rtc = devm_rtc_device_register(dev, name, &ds3232_rtc_ops,
if (IS_ERR(ds3232->rtc))
return PTR_ERR(ds3232->rtc);
ret = devm_rtc_nvmem_register(ds3232->rtc, &nvmem_cfg);
if (ds3232->irq > 0) {
ret = devm_request_threaded_irq(dev, ds3232->irq, NULL,
ds3232->irq = 0;
struct ds3232 *ds3232 = dev_get_drvdata(dev);
if (enable_irq_wake(ds3232->irq))
struct ds3232 *ds3232 = dev_get_drvdata(dev);
disable_irq_wake(ds3232->irq);
struct ds3232 *ds3232 = dev_get_drvdata(dev);
ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat);
ret = regmap_write(ds3232->regmap, DS3232_REG_SR, stat);
ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control);
return regmap_write(ds3232->regmap, DS3232_REG_CR, control);
struct ds3232 *ds3232 = dev_get_drvdata(dev);