lkml.org 
[lkml]   [2009]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume
    From
    On Wed, Feb 25, 2009 at 7:37 PM, Linus Torvalds
    <torvalds@linux-foundation.org> wrote:
    >
    >
    > On Wed, 25 Feb 2009, Arve Hjønnevåg wrote:
    >>
    >> That would not work without wakelocks support, since the interrupt
    >> could occur after suspend_late which is the last chance for the driver
    >> to abort sleep. (The patch also breaks my current wakelock
    >> implementation since I use a suspend_late hook to abort sleep, but
    >> this should be easy to fix)
    >
    > Since this must be some very deep arch-specific thing anyway, just make
    > the dang thing be a "sysdev". At that point, its "suspend" function gets
    > called way later (at which point CPU interrupts are off).

    Wakelocks can use a sysdev, but I don't think a keyboard driver should
    be a sysdev.

    >
    >> > Hm, if that solves the problem then it would be nice to have a
    >> > new IRQF_NO_SUSPEND flag for it, in addition to IRQF_TIMER:
    >>
    >> I think the right fix is for any interrupt that has IRQ_WAKEUP set to
    >> abort suspend if it is pending. I don't know if anyone relies on these
    >> interrupts being dropped now though.
    >
    > We could add something like that, but quite frankly, I'd hate to unless
    > there is some seriously common case. If it's just an oddball hacky special
    > case, it's easier to just say "hey, you have that crazy system device, you
    > handle it yourself".

    I don't think this is a oddball case. It is very common to connect
    keys or keypads to gpios. If these keys are wakeup keys, it is not OK
    to loose interrupts during the suspend phase.

    --
    Arve Hjønnevåg
    --
    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/

    \
     
     \ /
      Last update: 2009-02-26 04:53    [W:0.023 / U:122.020 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site