pcf8523
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
err = regmap_bulk_read(pcf8523->regmap, PCF8523_REG_CONTROL1, regs,
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
err = regmap_update_bits(pcf8523->regmap, PCF8523_REG_CONTROL1,
err = regmap_bulk_write(pcf8523->regmap, PCF8523_REG_SECONDS, regs,
regmap_update_bits(pcf8523->regmap, PCF8523_REG_CONTROL1,
return regmap_update_bits(pcf8523->regmap, PCF8523_REG_CONTROL1,
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
err = regmap_bulk_read(pcf8523->regmap, PCF8523_REG_MINUTE_ALARM, regs,
err = regmap_read(pcf8523->regmap, PCF8523_REG_CONTROL1, &value);
err = regmap_read(pcf8523->regmap, PCF8523_REG_CONTROL2, &value);
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
return regmap_update_bits(pcf8523->regmap, PCF8523_REG_CONTROL1,
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
err = regmap_write(pcf8523->regmap, PCF8523_REG_CONTROL2, 0);
err = regmap_bulk_write(pcf8523->regmap, PCF8523_REG_MINUTE_ALARM, regs,
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
ret = regmap_read(pcf8523->regmap, PCF8523_REG_CONTROL3, &value);
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
return regmap_update_bits(pcf8523->regmap, PCF8523_REG_CONTROL3,
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
ret = regmap_read(pcf8523->regmap, PCF8523_REG_CONTROL3, &value);
ret = regmap_read(pcf8523->regmap, PCF8523_REG_SECONDS, &value);
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
err = regmap_read(pcf8523->regmap, PCF8523_REG_OFFSET, &value);
struct pcf8523 *pcf8523 = dev_get_drvdata(dev);
return regmap_write(pcf8523->regmap, PCF8523_REG_OFFSET, value);
struct pcf8523 *pcf8523;
pcf8523 = devm_kzalloc(&client->dev, sizeof(struct pcf8523), GFP_KERNEL);
if (!pcf8523)
pcf8523->regmap = devm_regmap_init_i2c(client, ®map_config);
if (IS_ERR(pcf8523->regmap))
return PTR_ERR(pcf8523->regmap);
i2c_set_clientdata(client, pcf8523);
pcf8523->rtc = rtc;
err = pcf8523_load_capacitance(pcf8523, client->dev.of_node);
err = regmap_read(pcf8523->regmap, PCF8523_REG_SECONDS, &value);
err = regmap_read(pcf8523->regmap, PCF8523_REG_CONTROL3, &value);
err = regmap_write(pcf8523->regmap, PCF8523_REG_CONTROL3,
err = regmap_write(pcf8523->regmap, PCF8523_TMR_CLKOUT_CTRL, 0x38);
dev_name(&rtc->dev), pcf8523);
static int pcf8523_load_capacitance(struct pcf8523 *pcf8523, struct device_node *node)
dev_warn(&pcf8523->rtc->dev, "Unknown quartz-load-femtofarads value: %d. Assuming 12500",
return regmap_update_bits(pcf8523->regmap, PCF8523_REG_CONTROL1,
struct pcf8523 *pcf8523 = dev_id;
err = regmap_read(pcf8523->regmap, PCF8523_REG_CONTROL2, &value);
regmap_write(pcf8523->regmap, PCF8523_REG_CONTROL2, value);
rtc_update_irq(pcf8523->rtc, 1, RTC_IRQF | RTC_AF);