- if ((rc = i2c_attach_client(client)))
- goto attach_err;
-
- if (m41t00_chip->type != M41T00_TYPE_M41T00) {
- /* If asked, disable SQW, set SQW frequency & re-enable */
- if (m41t00_chip->sqw_freq)
- if (((rc = i2c_smbus_read_byte_data(client,
- m41t00_chip->alarm_mon)) < 0)
- || ((rc = i2c_smbus_write_byte_data(client,
- m41t00_chip->alarm_mon, rc & ~0x40)) <0)
- || ((rc = i2c_smbus_write_byte_data(client,
- m41t00_chip->sqw,
- m41t00_chip->sqw_freq)) < 0)
- || ((rc = i2c_smbus_write_byte_data(client,
- m41t00_chip->alarm_mon, rc | 0x40)) <0))
- goto sqw_err;
-
- /* Make sure HT (Halt Update) bit is cleared */
- if ((rc = i2c_smbus_read_byte_data(client,
- m41t00_chip->alarm_hour)) < 0)
- goto ht_err;
-
- if (rc & 0x40)
- if ((rc = i2c_smbus_write_byte_data(client,
- m41t00_chip->alarm_hour, rc & ~0x40))<0)
- goto ht_err;