[PATCH] ARM: ixp4xx: Add "ask" handler for timer interrupts

Jason Cooper jason at lakedaemon.net
Sat Dec 1 16:45:25 EST 2012


On Sat, Dec 01, 2012 at 09:25:51PM +0000, Arnd Bergmann wrote:
> On Saturday 01 December 2012, Alexander Shiyan wrote:
> > +       switch (d->irq) {
> > +       case IRQ_IXP4XX_TIMER1:
> > +               *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
> > +               break;
> > +       case IRQ_IXP4XX_TIMER2:
> > +               *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND;
> > +               break;
> > +       case IRQ_IXP4XX_TIMESTAMP:
> > +               *IXP4XX_OSST = IXP4XX_OSST_TIMER_TS_PEND;
> > +               break;
> > +       case IRQ_IXP4XX_WDOG:
> > +               *IXP4XX_OSST = IXP4XX_OSST_TIMER_WDOG_PEND;
> > +               break;
> 
> Since you are touching these lines, it probably makes sense to convert them
> to use writel_relaxed() in the process. Dereferencing a volatile pointer
> in order to do MMIO is strongly discouraged, see
> Documentation/volatile-considered-harmful.txt

Arnd,

I took a quick look at the ixp4xx code when I saw this.  It appears the
entire sub-arch is written this way :-(  Perhaps it would be better to
do a cleanup patch before this one?  I didn't mention it in my initial
comment because it looks like quite a bit of work.

In either case, it's all cleanup, so it shouldn't cause a dependency
headache.

Alexander, if you're so inclined, a cleanup series would be much
appreciated.  If you don't have the time, no problem, just make the
changes suggested by Arnd and I and we'll get to the cleanup eventually.

thx,

Jason.



More information about the linux-arm-kernel mailing list