Lines Matching defs:rs5c372
120 struct rs5c372 {
131 static int rs5c_get_regs(struct rs5c372 *rs5c)
180 static unsigned rs5c_reg2hr(struct rs5c372 *rs5c, unsigned reg)
195 static unsigned rs5c_hr2reg(struct rs5c372 *rs5c, unsigned hour)
212 struct rs5c372 *rs5c = i2c_get_clientdata(client);
260 struct rs5c372 *rs5c = i2c_get_clientdata(client);
324 struct rs5c372 *rs5c372 = i2c_get_clientdata(client);
325 u8 tmp = rs5c372->regs[RS5C372_REG_TRIM];
354 struct rs5c372 *rs5c = i2c_get_clientdata(client);
395 struct rs5c372 *rs5c = i2c_get_clientdata(client);
417 struct rs5c372 *rs5c = i2c_get_clientdata(client);
559 static int rs5c_oscillator_setup(struct rs5c372 *rs5c372)
565 buf[0] = rs5c372->regs[RS5C_REG_CTRL1];
566 buf[1] = rs5c372->regs[RS5C_REG_CTRL2];
568 switch (rs5c372->type) {
584 switch (rs5c372->type) {
588 rs5c372->time24 = 1;
595 rs5c372->time24 = 1;
604 ret = i2c_smbus_write_byte_data(rs5c372->client, addr, buf[i]);
609 rs5c372->regs[RS5C_REG_CTRL1] = buf[0];
610 rs5c372->regs[RS5C_REG_CTRL2] = buf[1];
620 struct rs5c372 *rs5c372;
641 rs5c372 = devm_kzalloc(&client->dev, sizeof(struct rs5c372),
643 if (!rs5c372) {
648 rs5c372->client = client;
649 i2c_set_clientdata(client, rs5c372);
651 rs5c372->type = (enum rtc_type)
654 rs5c372->type = id->driver_data;
657 rs5c372->regs = &rs5c372->buf[1];
658 rs5c372->smbus = smbus_mode;
660 err = rs5c_get_regs(rs5c372);
665 switch (rs5c372->type) {
671 if (rs5c372->regs[RS5C_REG_CTRL2] & RS5C372_CTRL2_24)
672 rs5c372->time24 = 1;
678 if (rs5c372->regs[RS5C_REG_CTRL1] & RV5C387_CTRL1_24)
679 rs5c372->time24 = 1;
695 err = rs5c_oscillator_setup(rs5c372);
702 ({ char *s; switch (rs5c372->type) {
711 rs5c372->time24 ? "24hr" : "am/pm"
715 rs5c372->rtc = devm_rtc_device_register(&client->dev,
719 if (IS_ERR(rs5c372->rtc)) {
720 err = PTR_ERR(rs5c372->rtc);
742 .name = "rtc-rs5c372",