Re: [PATCH v2] Add suspend/resume for HPET

Maxim Levitsky
2007-03-29T17:28:59Z

On Thursday 29 March 2007 18:53:37 Linus Torvalds wrote:
>
> On Thu, 29 Mar 2007, Maxim Levitsky wrote:
> >
> > Subject: Add suspend/resume for HPET
> >
> > This adds support of suspend/resume on i386 for HPET
> >
> > Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
> >
> > ---
> > arch/i386/kernel/hpet.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++
>
> Btw, what about arch/x86_64/kernel/hpet.c?
>
> That thing seems totally broken. Lookie here:
>
> arch/x86_64/kernel/hpet.c:irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
> drivers/char/rtc.c:extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id);
>
> anybody see a problem? The x86-64 version doesn't seem to be very well
> maintained. Is there some fundamental reason why this file isn't shared
> across architectures?
>
> Linus
>

Hi,
I agree with that, there seems to be lot of code duplication between i386 and x86_64.
By the way, x86_64 does take care of suspend/resume for hpet, it is done by

linux-2.6/arch/x86_64/kernel/time.c:timer_resume(struct sys_device *dev):
hpet_reenable()

on i386 PIT driver goes out of way when HPET is detected
So it seems that there is lot of work to do to remove redundant code.

Best regards,
Maxim Levitsky