|
@@ -281,57 +281,6 @@ static int rs5c372_rtc_set_time(struct device *dev, struct rtc_time *tm)
|
|
|
return rs5c372_set_datetime(to_i2c_client(dev), tm);
|
|
|
}
|
|
|
|
|
|
-#if defined(CONFIG_RTC_INTF_DEV) || defined(CONFIG_RTC_INTF_DEV_MODULE)
|
|
|
-
|
|
|
-static int
|
|
|
-rs5c_rtc_ioctl(struct device *dev, unsigned int cmd, unsigned long arg)
|
|
|
-{
|
|
|
- struct i2c_client *client = to_i2c_client(dev);
|
|
|
- struct rs5c372 *rs5c = i2c_get_clientdata(client);
|
|
|
- unsigned char buf;
|
|
|
- int status, addr;
|
|
|
-
|
|
|
- buf = rs5c->regs[RS5C_REG_CTRL1];
|
|
|
- switch (cmd) {
|
|
|
- case RTC_UIE_OFF:
|
|
|
- case RTC_UIE_ON:
|
|
|
- /* some 327a modes use a different IRQ pin for 1Hz irqs */
|
|
|
- if (rs5c->type == rtc_rs5c372a
|
|
|
- && (buf & RS5C372A_CTRL1_SL1))
|
|
|
- return -ENOIOCTLCMD;
|
|
|
- default:
|
|
|
- return -ENOIOCTLCMD;
|
|
|
- }
|
|
|
-
|
|
|
- status = rs5c_get_regs(rs5c);
|
|
|
- if (status < 0)
|
|
|
- return status;
|
|
|
-
|
|
|
- addr = RS5C_ADDR(RS5C_REG_CTRL1);
|
|
|
- switch (cmd) {
|
|
|
- case RTC_UIE_OFF: /* update off */
|
|
|
- buf &= ~RS5C_CTRL1_CT_MASK;
|
|
|
- break;
|
|
|
- case RTC_UIE_ON: /* update on */
|
|
|
- buf &= ~RS5C_CTRL1_CT_MASK;
|
|
|
- buf |= RS5C_CTRL1_CT4;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if (i2c_smbus_write_byte_data(client, addr, buf) < 0) {
|
|
|
- printk(KERN_WARNING "%s: can't update alarm\n",
|
|
|
- rs5c->rtc->name);
|
|
|
- status = -EIO;
|
|
|
- } else
|
|
|
- rs5c->regs[RS5C_REG_CTRL1] = buf;
|
|
|
-
|
|
|
- return status;
|
|
|
-}
|
|
|
-
|
|
|
-#else
|
|
|
-#define rs5c_rtc_ioctl NULL
|
|
|
-#endif
|
|
|
-
|
|
|
|
|
|
static int rs5c_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled)
|
|
|
{
|
|
@@ -480,7 +429,6 @@ static int rs5c372_rtc_proc(struct device *dev, struct seq_file *seq)
|
|
|
|
|
|
static const struct rtc_class_ops rs5c372_rtc_ops = {
|
|
|
.proc = rs5c372_rtc_proc,
|
|
|
- .ioctl = rs5c_rtc_ioctl,
|
|
|
.read_time = rs5c372_rtc_read_time,
|
|
|
.set_time = rs5c372_rtc_set_time,
|
|
|
.read_alarm = rs5c_read_alarm,
|