|
@@ -376,20 +376,22 @@ static int __devinit fm3130_probe(struct i2c_client *client,
|
|
|
}
|
|
|
|
|
|
/* Disabling calibration mode */
|
|
|
- if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL)
|
|
|
+ if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL) {
|
|
|
i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL,
|
|
|
fm3130->regs[FM3130_RTC_CONTROL] &
|
|
|
~(FM3130_RTC_CONTROL_BIT_CAL));
|
|
|
dev_warn(&client->dev, "Disabling calibration mode!\n");
|
|
|
+ }
|
|
|
|
|
|
/* Disabling read and write modes */
|
|
|
if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_WRITE ||
|
|
|
- fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ)
|
|
|
+ fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ) {
|
|
|
i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL,
|
|
|
fm3130->regs[FM3130_RTC_CONTROL] &
|
|
|
~(FM3130_RTC_CONTROL_BIT_READ |
|
|
|
FM3130_RTC_CONTROL_BIT_WRITE));
|
|
|
dev_warn(&client->dev, "Disabling READ or WRITE mode!\n");
|
|
|
+ }
|
|
|
|
|
|
/* oscillator off? turn it on, so clock can tick. */
|
|
|
if (fm3130->regs[FM3130_CAL_CONTROL] & FM3130_CAL_CONTROL_BIT_nOSCEN)
|