Thread (12 messages) flat view 12 messages, 4 authors, 2010-12-13
STALE5760d

[PATCH v5 07/15] ARM: mxs: Add gpio support

From: Shawn Guo <hidden>
Date: 2010-12-13 08:10:22

On Mon, Dec 13, 2010 at 12:57:38AM -0700, Uwe Kleine-K?nig wrote:
Hi Shawn,

On Mon, Dec 13, 2010 at 03:28:14PM +0800, Shawn Guo wrote:
quoted
On Fri, Dec 10, 2010 at 03:24:16AM -0700, Uwe Kleine-K?nig wrote:
quoted
On Fri, Dec 10, 2010 at 04:06:40PM +0800, Shawn Guo wrote:
quoted
+		__raw_writel(~0, port[i].base +
+				PINCTRL_IRQSTAT(i) + MXS_CLR_ADDR);
Why not __raw_writel(0, port[i].base + PINCTRL_IRQSTAT(i)) ?
(And note that applying ~ on a signed integer isn't portable in
general.  For all sane archs this is the same as ~0U though and ARM is
sane (here), still I think it's good to be aware of such things and
avoid them if easily possible.)
The i.MX28 RM section 9.4.78 tells "Software may clear any bit in this
register by writing a 1 to the bit at the SCT clear address".
I didn't say that __raw_writel(~0,  ... + MXS_CLR_ADDR) didn't work.
It's just that I consider writing a 0 directly into the PINCTRL_IRQSTAT
register a bit more clear.
 
I thought software has to clear bit by writing clear address for this
register. Just confirmed with designer it's not necessary, writing 0
to register has the same effect as writing 1 to clear address.

So Uwe, Lothar, your suggestion is being taken.  Thanks.
quoted
What about writing 0xffffffff into clear address?
If you insist on doing that, at least write ~0U which is more portable.
Regards,
Shawn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help