1. 09 Jul, 2016 2 commits
  2. 08 Jul, 2016 1 commit
  3. 27 Jun, 2016 4 commits
  4. 26 Jun, 2016 3 commits
    • Andrey Smirnov's avatar
      rtc: rtctest: Change no IRQ detection for RTC_IRQP_SET · 0a553cba
      Andrey Smirnov authored
      A call to ioctl(..., RTC_IRQP_SET, ...) should never result in
      ENOTTY. All new style RTC drivers implement it and all of the old style
      drivers return EINVAL when they don't support periodic IRQs.
      Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      0a553cba
    • Andrey Smirnov's avatar
      rtc: rtctest: Change no IRQ detection for RTC_IRQP_READ · 519efa98
      Andrey Smirnov authored
      A call to ioctl(..., RTC_IRQP_READ, ...) should never result in
      ENOTTY. All new style RTC drivers implement it and all of the old style
      drivers return EINVAL when they don't support periodic IRQs.
      Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      519efa98
    • Andrey Smirnov's avatar
      rtc: rtctest: Change alarm IRQ support detection · cd26fca2
      Andrey Smirnov authored
      For old style drivers, call a call to ioctl(..., RTC_ALM_SET, ...):
      
          - char/ds1302.c will always return -EINVAL
          - char/genrtc.c: will always return -EINVAL
          - char/rtc.c will succeed regardless if IRQs are supported or not
          - char/efirtc.c will always return -EINVAL
          - input/misc/hp_sdc_rtc.c ... that ioctl code is a good lesson about
            ifdefing code out and punting implementation ... and it will
            always return -EINVAL
      
      For new style rtc drivers, a call to ioctl(..., RTC_ALM_SET, ...) never
      results in a call to __rtc_set_alarm, since struct rtc_wkalarm passed to
      rtc_set_alarm has 'enabled' field set to 0. This means that
      rtc->ops->set_alarm driver hook is never called in that ioctl. Since no
      driver code interaction happens as a part of that call, using its
      results to ascertain properties of the driver is not going to work. To
      remedy this - use the result of RTC_AIE_ON to make the judgement.
      
      This patch also changes ENOTTY to EINVAL as an error code value that
      would tell us that IRQs are not supported. There are three reason for
      this:
      
       - As mentioned above old style driver never returns ENOTTY for this
         ioctl
      
       - In it's code __rtc_set_alarm() returns -EINVAL if rtc->ops->set_alarm
         method is not provided by the driver, so one reason for change is to
         be consistent with that code path.
      
       - A call to ioctl(..., RTC_UIE_ON, ...) will result in a call to
         rtc_update_irq_enable() and then __rtc_set_alarm(), which, if IRQs
         are not supported by the driver, will result in a non-zero error
         code. Returning ENOTTY in that case would:
      
         	 a) Not be consistent with other codepaths of
         	 rtc_update_irq_enable, for example the check of
         	 rtc->uie_unsupported
      
      	 b) Would break update IRQ emulation code since that codpath
      	 expects EINVAL
      
      	 c) Would break test's logic for feature support detection in
      	 the case of RTC_UIE_ON ioctl
      Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      cd26fca2
  5. 25 Jun, 2016 3 commits
  6. 06 Jun, 2016 2 commits
  7. 04 Jun, 2016 5 commits
  8. 03 Jun, 2016 16 commits
  9. 29 May, 2016 4 commits