[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <18506.30304.646369.956267@alkaid.it.uu.se>
Date: Sat, 7 Jun 2008 13:52:00 +0200
From: Mikael Pettersson <mikpe@...uu.se>
To: David Brownell <david-b@...bell.net>
Cc: "Leon Woestenberg" <leon.woestenberg@...il.com>,
LAK <linux-arm-kernel@...ts.arm.linux.org.uk>,
"Linux Kernel list" <linux-kernel@...r.kernel.org>
Subject: Re: Locking in the (now generic) GPIO infrastructure?
David Brownell writes:
> On Wednesday 04 June 2008, Leon Woestenberg wrote:
> > include/asm-arm/arch-ixp4xx/platform.h:
> > static inline void gpio_line_set(u8 line, int value)
> > {
> > if (value == IXP4XX_GPIO_HIGH)
> > *IXP4XX_GPIO_GPOUTR |= (1 << line);
> > else if (value == IXP4XX_GPIO_LOW)
> > *IXP4XX_GPIO_GPOUTR &= ~(1 << line);
> > }
> >
> > Under a Linux kernel where multiple drivers are accessing GPIO, the
> > latter does not seem safe against preemption (assuming the memory
> > read-modify-write is not atomic).
> >
> > Shouldn't GPIO access be protected against concurrent access here?
>
> Well, against an IRQ in the middle of those read/modify/write
> sequences hidden by the "|=" and "&=" syntax. Last I knew,
> no XScale CPUs support on-chip SMP.
The IOP342 has two XScale cores on-chip. However, these cores are
still only ARMv5TE and Linux wants ARMv6 or newer for SMP, so I
don't know to what extent the IOP342 is supported by Linux.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists