From: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
To: John Stultz <john.stultz@linaro.org>
Cc: kosaki.motohiro@gmail.com, linux-kernel@vger.kernel.org,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Thomas Gleixner <tglx@linutronix.de>,
Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: [PATCH] alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesn't exist
Date: Thu, 17 Oct 2013 21:12:07 -0400 [thread overview]
Message-ID: <52608AE7.30100@gmail.com> (raw)
In-Reply-To: <526018C6.5070604@linaro.org>
(10/17/13 1:05 PM), John Stultz wrote:
> On 10/14/2013 02:33 PM, kosaki.motohiro@gmail.com wrote:
>> From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
>>
>> Fedora Ruby maintainer reported latest Ruby doesn't work on Fedora Rawhide
>> on ARM. (http://bugs.ruby-lang.org/issues/9008)
>>
>> Because of, commit 1c6b39ad3f (alarmtimers: Return -ENOTSUPP if no
>> RTC device is present) intruduced to return ENOTSUPP when
>> clock_get{time,res} can't find a RTC device. However it is incorrect.
>>
>> Posix and Linux man pages agree that clock_gettime and clock_getres
>> should return EINVAL if clk_id argument is invalid. This is significant
>> different from timer_create API.
>>
>> This patch fixes it.
>
> Hrm... So I feel like there is a difference here. The clockid for
> CLOCK_BOOTTIME_ALARM and CLOCK_REALTIME_ALARM are both valid.
>
> Its just that they're not supported on this specific hardware because it
> apparently lacks a RTC that has told the system it can be used as a
> wakeup device (Its actually quite likely on the hardware that the RTC
> can be a wakeup device, but that the driver is probably setting the
> wakeup flag after the RTC registered - so there is probably a driver bug
> here too).
>
> So I feel like in this case EINVAL isn't quite right. I'll admit it is
> somewhat new behavior, because we haven't had any clockids before that
> were dependent on the particular hardware, they either existed in a
> kernel verison or didn't.
>
> Would updating the manpage be a better route?
Nope.
ENOTSUPP is not exported to userland. ENOTSUP (single P) and EOPNOTSUP is
valid errno (and they are same on linux), but ENOTSUPP is a kernel internal specific.
Moreover, I completely disagree your position. Both CLOCK_REALTIME_ALARM unsupported
kernel and ARM which doesn't support RTC should use the same error because application
need the same fallback.
next prev parent reply other threads:[~2013-10-18 1:12 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-14 21:33 [PATCH] alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesn't exist kosaki.motohiro
2013-10-17 17:05 ` John Stultz
2013-10-18 1:12 ` KOSAKI Motohiro [this message]
2013-10-18 22:39 ` John Stultz
2013-10-18 23:12 ` KOSAKI Motohiro
2013-10-18 23:29 ` John Stultz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52608AE7.30100@gmail.com \
--to=kosaki.motohiro@gmail.com \
--cc=fweisbec@gmail.com \
--cc=john.stultz@linaro.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox