Lines Matching defs:rs5c372
122 struct rs5c372 {
133 static int rs5c_get_regs(struct rs5c372 *rs5c)
182 static unsigned rs5c_reg2hr(struct rs5c372 *rs5c, unsigned reg)
197 static unsigned rs5c_hr2reg(struct rs5c372 *rs5c, unsigned hour)
214 struct rs5c372 *rs5c = i2c_get_clientdata(client);
262 struct rs5c372 *rs5c = i2c_get_clientdata(client);
326 struct rs5c372 *rs5c372 = i2c_get_clientdata(client);
327 u8 tmp = rs5c372->regs[RS5C372_REG_TRIM];
330 if (rs5c372->type == rtc_rs5c372a || rs5c372->type == rtc_rs5c372b)
360 struct rs5c372 *rs5c = i2c_get_clientdata(client);
401 struct rs5c372 *rs5c = i2c_get_clientdata(client);
423 struct rs5c372 *rs5c = i2c_get_clientdata(client);
497 struct rs5c372 *rs5c = i2c_get_clientdata(to_i2c_client(dev));
550 struct rs5c372 *rs5c = i2c_get_clientdata(to_i2c_client(dev));
586 struct rs5c372 *rs5c = i2c_get_clientdata(to_i2c_client(dev));
643 * no increment or decrement. But for rs5c372[a|b], the XSL bit
738 static int rs5c_oscillator_setup(struct rs5c372 *rs5c372)
744 buf[0] = rs5c372->regs[RS5C_REG_CTRL1];
745 buf[1] = rs5c372->regs[RS5C_REG_CTRL2];
747 switch (rs5c372->type) {
763 switch (rs5c372->type) {
767 rs5c372->time24 = 1;
774 rs5c372->time24 = 1;
783 ret = i2c_smbus_write_byte_data(rs5c372->client, addr, buf[i]);
788 rs5c372->regs[RS5C_REG_CTRL1] = buf[0];
789 rs5c372->regs[RS5C_REG_CTRL2] = buf[1];
798 struct rs5c372 *rs5c372;
819 rs5c372 = devm_kzalloc(&client->dev, sizeof(struct rs5c372),
821 if (!rs5c372) {
826 rs5c372->client = client;
827 i2c_set_clientdata(client, rs5c372);
829 rs5c372->type = (uintptr_t)of_device_get_match_data(&client->dev);
832 rs5c372->type = id->driver_data;
836 rs5c372->regs = &rs5c372->buf[1];
837 rs5c372->smbus = smbus_mode;
839 err = rs5c_get_regs(rs5c372);
844 switch (rs5c372->type) {
850 if (rs5c372->regs[RS5C_REG_CTRL2] & RS5C372_CTRL2_24)
851 rs5c372->time24 = 1;
857 if (rs5c372->regs[RS5C_REG_CTRL1] & RV5C387_CTRL1_24)
858 rs5c372->time24 = 1;
874 err = rs5c_oscillator_setup(rs5c372);
881 ({ char *s; switch (rs5c372->type) {
890 rs5c372->time24 ? "24hr" : "am/pm"
894 rs5c372->rtc = devm_rtc_device_register(&client->dev,
898 if (IS_ERR(rs5c372->rtc)) {
899 err = PTR_ERR(rs5c372->rtc);
920 .name = "rtc-rs5c372",