Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Sat, 29 Apr 2006 01:25:19 +0900 (JST) | Subject | [PATCH] RTC: rtc-dev tweak for 64-bit kernel | From | Atsushi Nemoto <> |
| |
Make rtc-dev more friendly to 64-bit platforms with 32-bit userland. This tweak is came from genrtc driver.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c index b1e3e61..ae6adc4 100644 --- a/drivers/rtc/rtc-dev.c +++ b/drivers/rtc/rtc-dev.c @@ -58,7 +58,7 @@ rtc_dev_read(struct file *file, char __u unsigned long data; ssize_t ret; - if (count < sizeof(unsigned long)) + if (count != sizeof (unsigned int) && count < sizeof (unsigned long)) return -EINVAL; add_wait_queue(&rtc->irq_queue, &wait); @@ -92,9 +92,13 @@ rtc_dev_read(struct file *file, char __u if (rtc->ops->read_callback) data = rtc->ops->read_callback(rtc->class_dev.dev, data); - ret = put_user(data, (unsigned long __user *)buf); - if (ret == 0) - ret = sizeof(unsigned long); + if (sizeof (int) != sizeof (long) && + count == sizeof (unsigned int)) + ret = put_user(data, (unsigned int __user *)buf) ?: + sizeof(unsigned int); + else + ret = put_user(data, (unsigned long __user *)buf) ?: + sizeof(unsigned long); } return ret; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |