fm3130             67 drivers/rtc/rtc-fm3130.c 	struct fm3130 *fm3130 = dev_get_drvdata(dev);
fm3130             69 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_RTC_CONTROL] =
fm3130             70 drivers/rtc/rtc-fm3130.c 		i2c_smbus_read_byte_data(fm3130->client, FM3130_RTC_CONTROL);
fm3130             73 drivers/rtc/rtc-fm3130.c 		fm3130->regs[FM3130_RTC_CONTROL] &=
fm3130             78 drivers/rtc/rtc-fm3130.c 		fm3130->regs[FM3130_RTC_CONTROL] |= FM3130_RTC_CONTROL_BIT_WRITE;
fm3130             81 drivers/rtc/rtc-fm3130.c 		fm3130->regs[FM3130_RTC_CONTROL] |= FM3130_RTC_CONTROL_BIT_READ;
fm3130             88 drivers/rtc/rtc-fm3130.c 	i2c_smbus_write_byte_data(fm3130->client,
fm3130             89 drivers/rtc/rtc-fm3130.c 		 FM3130_RTC_CONTROL, fm3130->regs[FM3130_RTC_CONTROL]);
fm3130             94 drivers/rtc/rtc-fm3130.c 	struct fm3130 *fm3130 = dev_get_drvdata(dev);
fm3130             97 drivers/rtc/rtc-fm3130.c 	if (!fm3130->data_valid) {
fm3130            107 drivers/rtc/rtc-fm3130.c 	tmp = i2c_transfer(fm3130->client->adapter, fm3130->msg, 2);
fm3130            115 drivers/rtc/rtc-fm3130.c 	dev_dbg(dev, "%s: %15ph\n", "read", fm3130->regs);
fm3130            117 drivers/rtc/rtc-fm3130.c 	t->tm_sec = bcd2bin(fm3130->regs[FM3130_RTC_SECONDS] & 0x7f);
fm3130            118 drivers/rtc/rtc-fm3130.c 	t->tm_min = bcd2bin(fm3130->regs[FM3130_RTC_MINUTES] & 0x7f);
fm3130            119 drivers/rtc/rtc-fm3130.c 	tmp = fm3130->regs[FM3130_RTC_HOURS] & 0x3f;
fm3130            121 drivers/rtc/rtc-fm3130.c 	t->tm_wday = bcd2bin(fm3130->regs[FM3130_RTC_DAY] & 0x07) - 1;
fm3130            122 drivers/rtc/rtc-fm3130.c 	t->tm_mday = bcd2bin(fm3130->regs[FM3130_RTC_DATE] & 0x3f);
fm3130            123 drivers/rtc/rtc-fm3130.c 	tmp = fm3130->regs[FM3130_RTC_MONTHS] & 0x1f;
fm3130            127 drivers/rtc/rtc-fm3130.c 	t->tm_year = bcd2bin(fm3130->regs[FM3130_RTC_YEARS]) + 100;
fm3130            141 drivers/rtc/rtc-fm3130.c 	struct fm3130 *fm3130 = dev_get_drvdata(dev);
fm3130            143 drivers/rtc/rtc-fm3130.c 	u8		*buf = fm3130->regs;
fm3130            169 drivers/rtc/rtc-fm3130.c 		i2c_smbus_write_byte_data(fm3130->client,
fm3130            171 drivers/rtc/rtc-fm3130.c 					fm3130->regs[FM3130_RTC_SECONDS + i]);
fm3130            177 drivers/rtc/rtc-fm3130.c 	if (!fm3130->data_valid)
fm3130            178 drivers/rtc/rtc-fm3130.c 		fm3130->data_valid = 1;
fm3130            184 drivers/rtc/rtc-fm3130.c 	struct fm3130 *fm3130 = dev_get_drvdata(dev);
fm3130            188 drivers/rtc/rtc-fm3130.c 	if (!fm3130->alarm_valid) {
fm3130            199 drivers/rtc/rtc-fm3130.c 	tmp = i2c_transfer(fm3130->client->adapter, &fm3130->msg[2], 2);
fm3130            205 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_SECONDS],
fm3130            206 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_MINUTES],
fm3130            207 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_HOURS],
fm3130            208 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_DATE],
fm3130            209 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_MONTHS]);
fm3130            211 drivers/rtc/rtc-fm3130.c 	tm->tm_sec	= bcd2bin(fm3130->regs[FM3130_ALARM_SECONDS] & 0x7F);
fm3130            212 drivers/rtc/rtc-fm3130.c 	tm->tm_min	= bcd2bin(fm3130->regs[FM3130_ALARM_MINUTES] & 0x7F);
fm3130            213 drivers/rtc/rtc-fm3130.c 	tm->tm_hour	= bcd2bin(fm3130->regs[FM3130_ALARM_HOURS] & 0x3F);
fm3130            214 drivers/rtc/rtc-fm3130.c 	tm->tm_mday	= bcd2bin(fm3130->regs[FM3130_ALARM_DATE] & 0x3F);
fm3130            215 drivers/rtc/rtc-fm3130.c 	tm->tm_mon	= bcd2bin(fm3130->regs[FM3130_ALARM_MONTHS] & 0x1F);
fm3130            227 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_RTC_CONTROL] =
fm3130            228 drivers/rtc/rtc-fm3130.c 		i2c_smbus_read_byte_data(fm3130->client, FM3130_RTC_CONTROL);
fm3130            230 drivers/rtc/rtc-fm3130.c 	if ((fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_AEN) &&
fm3130            231 drivers/rtc/rtc-fm3130.c 		(~fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            241 drivers/rtc/rtc-fm3130.c 	struct fm3130 *fm3130 = dev_get_drvdata(dev);
fm3130            251 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_ALARM_SECONDS] =
fm3130            254 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_ALARM_MINUTES] =
fm3130            257 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_ALARM_HOURS] =
fm3130            260 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_ALARM_DATE] =
fm3130            263 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_ALARM_MONTHS] =
fm3130            267 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_SECONDS],
fm3130            268 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_MINUTES],
fm3130            269 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_HOURS],
fm3130            270 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_DATE],
fm3130            271 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_ALARM_MONTHS]);
fm3130            274 drivers/rtc/rtc-fm3130.c 		i2c_smbus_write_byte_data(fm3130->client,
fm3130            276 drivers/rtc/rtc-fm3130.c 					fm3130->regs[FM3130_ALARM_SECONDS + i]);
fm3130            278 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_RTC_CONTROL] =
fm3130            279 drivers/rtc/rtc-fm3130.c 		i2c_smbus_read_byte_data(fm3130->client, FM3130_RTC_CONTROL);
fm3130            283 drivers/rtc/rtc-fm3130.c 		i2c_smbus_write_byte_data(fm3130->client, FM3130_RTC_CONTROL,
fm3130            284 drivers/rtc/rtc-fm3130.c 			(fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            288 drivers/rtc/rtc-fm3130.c 		i2c_smbus_write_byte_data(fm3130->client, FM3130_RTC_CONTROL,
fm3130            289 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            295 drivers/rtc/rtc-fm3130.c 	if (!fm3130->alarm_valid)
fm3130            296 drivers/rtc/rtc-fm3130.c 		fm3130->alarm_valid = 1;
fm3130            303 drivers/rtc/rtc-fm3130.c 	struct fm3130 *fm3130 = dev_get_drvdata(dev);
fm3130            306 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_RTC_CONTROL] =
fm3130            307 drivers/rtc/rtc-fm3130.c 		i2c_smbus_read_byte_data(fm3130->client, FM3130_RTC_CONTROL);
fm3130            310 drivers/rtc/rtc-fm3130.c 		enabled, fm3130->regs[FM3130_RTC_CONTROL]);
fm3130            314 drivers/rtc/rtc-fm3130.c 		ret = i2c_smbus_write_byte_data(fm3130->client,
fm3130            315 drivers/rtc/rtc-fm3130.c 			FM3130_RTC_CONTROL, fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            320 drivers/rtc/rtc-fm3130.c 		ret = i2c_smbus_write_byte_data(fm3130->client,
fm3130            321 drivers/rtc/rtc-fm3130.c 			FM3130_RTC_CONTROL, (fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            346 drivers/rtc/rtc-fm3130.c 	struct fm3130		*fm3130;
fm3130            355 drivers/rtc/rtc-fm3130.c 	fm3130 = devm_kzalloc(&client->dev, sizeof(struct fm3130), GFP_KERNEL);
fm3130            357 drivers/rtc/rtc-fm3130.c 	if (!fm3130)
fm3130            360 drivers/rtc/rtc-fm3130.c 	fm3130->client = client;
fm3130            361 drivers/rtc/rtc-fm3130.c 	i2c_set_clientdata(client, fm3130);
fm3130            362 drivers/rtc/rtc-fm3130.c 	fm3130->reg_addr_time = FM3130_RTC_SECONDS;
fm3130            363 drivers/rtc/rtc-fm3130.c 	fm3130->reg_addr_alarm = FM3130_ALARM_SECONDS;
fm3130            366 drivers/rtc/rtc-fm3130.c 	fm3130->msg[0].addr = client->addr;
fm3130            367 drivers/rtc/rtc-fm3130.c 	fm3130->msg[0].flags = 0;
fm3130            368 drivers/rtc/rtc-fm3130.c 	fm3130->msg[0].len = 1;
fm3130            369 drivers/rtc/rtc-fm3130.c 	fm3130->msg[0].buf = &fm3130->reg_addr_time;
fm3130            371 drivers/rtc/rtc-fm3130.c 	fm3130->msg[1].addr = client->addr;
fm3130            372 drivers/rtc/rtc-fm3130.c 	fm3130->msg[1].flags = I2C_M_RD;
fm3130            373 drivers/rtc/rtc-fm3130.c 	fm3130->msg[1].len = FM3130_CLOCK_REGS;
fm3130            374 drivers/rtc/rtc-fm3130.c 	fm3130->msg[1].buf = &fm3130->regs[FM3130_RTC_SECONDS];
fm3130            377 drivers/rtc/rtc-fm3130.c 	fm3130->msg[2].addr = client->addr;
fm3130            378 drivers/rtc/rtc-fm3130.c 	fm3130->msg[2].flags = 0;
fm3130            379 drivers/rtc/rtc-fm3130.c 	fm3130->msg[2].len = 1;
fm3130            380 drivers/rtc/rtc-fm3130.c 	fm3130->msg[2].buf = &fm3130->reg_addr_alarm;
fm3130            382 drivers/rtc/rtc-fm3130.c 	fm3130->msg[3].addr = client->addr;
fm3130            383 drivers/rtc/rtc-fm3130.c 	fm3130->msg[3].flags = I2C_M_RD;
fm3130            384 drivers/rtc/rtc-fm3130.c 	fm3130->msg[3].len = FM3130_ALARM_REGS;
fm3130            385 drivers/rtc/rtc-fm3130.c 	fm3130->msg[3].buf = &fm3130->regs[FM3130_ALARM_SECONDS];
fm3130            387 drivers/rtc/rtc-fm3130.c 	fm3130->alarm_valid = 0;
fm3130            388 drivers/rtc/rtc-fm3130.c 	fm3130->data_valid = 0;
fm3130            390 drivers/rtc/rtc-fm3130.c 	tmp = i2c_transfer(adapter, fm3130->msg, 4);
fm3130            397 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_RTC_CONTROL] =
fm3130            399 drivers/rtc/rtc-fm3130.c 	fm3130->regs[FM3130_CAL_CONTROL] =
fm3130            403 drivers/rtc/rtc-fm3130.c 	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL) {
fm3130            405 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            411 drivers/rtc/rtc-fm3130.c 	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_WRITE ||
fm3130            412 drivers/rtc/rtc-fm3130.c 	    fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ) {
fm3130            414 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            421 drivers/rtc/rtc-fm3130.c 	if (fm3130->regs[FM3130_CAL_CONTROL] & FM3130_CAL_CONTROL_BIT_nOSCEN)
fm3130            423 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_CAL_CONTROL] &
fm3130            427 drivers/rtc/rtc-fm3130.c 	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_LB) {
fm3130            429 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            435 drivers/rtc/rtc-fm3130.c 	if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_POR) {
fm3130            437 drivers/rtc/rtc-fm3130.c 			fm3130->regs[FM3130_RTC_CONTROL] &
fm3130            445 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_SECONDS] & 0x7f);
fm3130            449 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_MINUTES] & 0x7f);
fm3130            453 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_HOURS] & 0x3f);
fm3130            457 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_DATE] & 0x3f);
fm3130            461 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_MONTHS] & 0x1f);
fm3130            465 drivers/rtc/rtc-fm3130.c 	fm3130->alarm_valid = 1;
fm3130            470 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_SECONDS] & 0x7f);
fm3130            474 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_MINUTES] & 0x7f);
fm3130            478 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_HOURS] & 0x3f);
fm3130            482 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_DAY] & 0x7);
fm3130            486 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_DATE] & 0x3f);
fm3130            490 drivers/rtc/rtc-fm3130.c 	tmp = bcd2bin(fm3130->regs[FM3130_RTC_MONTHS] & 0x1f);
fm3130            494 drivers/rtc/rtc-fm3130.c 	fm3130->data_valid = 1;
fm3130            498 drivers/rtc/rtc-fm3130.c 	if (!fm3130->data_valid || !fm3130->alarm_valid)
fm3130            500 drivers/rtc/rtc-fm3130.c 			fm3130->regs);
fm3130            504 drivers/rtc/rtc-fm3130.c 	fm3130->rtc = devm_rtc_device_register(&client->dev, client->name,
fm3130            506 drivers/rtc/rtc-fm3130.c 	if (IS_ERR(fm3130->rtc)) {
fm3130            507 drivers/rtc/rtc-fm3130.c 		err = PTR_ERR(fm3130->rtc);