aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/rtc/rtc-dev.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
index 212b16edafc0..37c3cc1b3dd5 100644
--- a/drivers/rtc/rtc-dev.c
+++ b/drivers/rtc/rtc-dev.c
@@ -154,19 +154,7 @@ static long rtc_dev_ioctl(struct file *file,
154 if (err) 154 if (err)
155 goto done; 155 goto done;
156 156
157 /* try the driver's ioctl interface */ 157 /*
158 if (ops->ioctl) {
159 err = ops->ioctl(rtc->dev.parent, cmd, arg);
160 if (err != -ENOIOCTLCMD) {
161 mutex_unlock(&rtc->ops_lock);
162 return err;
163 }
164 }
165
166 /* if the driver does not provide the ioctl interface
167 * or if that particular ioctl was not implemented
168 * (-ENOIOCTLCMD), we will try to emulate here.
169 *
170 * Drivers *SHOULD NOT* provide ioctl implementations 158 * Drivers *SHOULD NOT* provide ioctl implementations
171 * for these requests. Instead, provide methods to 159 * for these requests. Instead, provide methods to
172 * support the following code, so that the RTC's main 160 * support the following code, so that the RTC's main
@@ -329,7 +317,12 @@ static long rtc_dev_ioctl(struct file *file,
329 return err; 317 return err;
330 318
331 default: 319 default:
332 err = -ENOTTY; 320 /* Finally try the driver's ioctl interface */
321 if (ops->ioctl) {
322 err = ops->ioctl(rtc->dev.parent, cmd, arg);
323 if (err == -ENOIOCTLCMD)
324 err = -ENOTTY;
325 }
333 break; 326 break;
334 } 327 }
335 328