All of lore.kernel.org
 help / color / mirror / Atom feed
From: robert.jarzmik@free.fr (Robert Jarzmik)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2, RFC] RTC: PXA: Fix regression of interrupt before ioremap
Date: Tue, 03 Feb 2015 19:31:49 +0100	[thread overview]
Message-ID: <87siemalt6.fsf@free.fr> (raw)
In-Reply-To: <54D0D034.1060204@tul.cz> (Petr Cvek's message of "Tue, 03 Feb 2015 14:42:12 +0100")

Petr Cvek <petr.cvek@tul.cz> writes:

> On 2.2.2015 19:33, Robert Jarzmik wrote:
>> Petr Cvek <petr.cvek@tul.cz> writes:
> Actually only thing I want to know after reverting a44802f is how wakeup will
> work. Because a44802f suggests rtc-pxa needs to have interrupt enabled for
> waking up (and I cannot test it, because suspend subsystem on my machine needs
> to be fixed first).
Process X does :
 - open /dev/rtc0
 - call ioctl(fd, RTC_ALM_SET, &time_of_wakeup)
 - call ioctl(fd, RTC_AIE_ON, 0)
   - either read(fd, &data, sizeof(unsigned long))
   - or does write "mem" > /sys/power/state

 - ... platform sleeps ...
 - alarm time comes up, RTC IP raises the interrupt line
 - because in its pxa_rtc_probe(), the driver called device_init_wakeup(dev, 1),
   the register PWER was set to wakeup the platform if RTC interrupt is raised,
   the platform wakes up

>> Moreover, if there are multiple rtc device, how on earth can it work, ie. how
>> can an ioctl() be sent to a specific rtc device if there is no open() ???
>
> It confuses me too, so I tried to look it up and it seems rtc_dev_open() in
> drivers/rtc/rtc-dev.c handles this by:
>
> 	err = ops->open ? ops->open(rtc->dev.parent) : 0;
>     if (err == 0) {
>         spin_lock_irq(&rtc->irq_lock);
>         rtc->irq_data = 0;
>         spin_unlock_irq(&rtc->irq_lock);
>
>         return 0;
>     }
>
> , so without any .open() it just continues with success.
Yes, true, yet how do you set on a specific RTC block the alarm if you have many
of them on the system ?

Cheers.

-- 
Robert

  reply	other threads:[~2015-02-03 18:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-29 11:51 [PATCH v2] RTC: PXA: Fix regression of interrupt before ioremap Petr Cvek
2015-01-29 19:42 ` Robert Jarzmik
2015-02-02 15:00   ` [PATCH v2, RFC] " Petr Cvek
2015-02-02 18:33     ` Robert Jarzmik
2015-02-03 13:42       ` Petr Cvek
2015-02-03 18:31         ` Robert Jarzmik [this message]
2015-02-05 20:36           ` Petr Cvek
2015-02-07 13:13             ` Robert Jarzmik

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=87siemalt6.fsf@free.fr \
    --to=robert.jarzmik@free.fr \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.