From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/14] ARM: LPC32XX: Initial architecture header files
Date: Tue, 9 Feb 2010 10:52:27 +0100 [thread overview]
Message-ID: <20100209095227.GC2284@pengutronix.de> (raw)
In-Reply-To: <20100209093129.GA2284@pengutronix.de>
Hello,
while replying to to patch 02, I noticed yet another thing.
On Tue, Feb 09, 2010 at 10:31:29AM +0100, Uwe Kleine-K?nig wrote:
> > +/*
> > + * Start of virtual addresses for IO devices
> > + */
> > +#define IO_BASE 0xF0000000
> > +
> > +/*
> > + * This macro relies on fact that for all HW i/o addresses bits 20-23 are 0
> > + */
> > +#define IO_ADDRESS(x) (((((x) & 0xff000000) >> 4) | ((x) & 0xfffff)) |\
> > + IO_BASE)
> > +
> > +#define io_p2v(x) ((void __iomem *) (unsigned long) IO_ADDRESS(x))
> Is this cast to unsigned long needed? AFAIK IO_ADDRESS(x) has
> type unsigned for x in { 0x0 ... 0xffffffff } (provided that int uses a
> 32 bit 2s-complement representation). If unsigned long is really
> needed, maybe put it into the IO_ADDRESS macro?
>
> > ...
> > +#define _REG(x) (void __iomem *)(io_p2v(x))
_REG gets (void __iomem *) twice.
Why not simply do:
#define io_p2v(x) (((((x) & 0xff000000) >> 4) | ((x) & 0xfffff)) | IO_BASE)
#define _REG(x) (void __iomem *)(io_p2v(x))
and get rid of IO_ADDRESS completely? BTW, AFAIK IO_BASE isn't a needed
name, so it should have the LPC32XX_ prefix, too.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2010-02-09 9:52 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-09 0:11 LPC32XX architecture files (updated v3) wellsk40 at gmail.com
2010-02-09 0:11 ` [PATCH 01/14] ARM: LPC32XX: Initial architecture header files wellsk40 at gmail.com
2010-02-09 9:31 ` Uwe Kleine-König
2010-02-09 9:52 ` Uwe Kleine-König [this message]
2010-02-09 9:59 ` Russell King - ARM Linux
2010-02-09 16:52 ` Uwe Kleine-König
2010-02-09 16:52 ` Uwe Kleine-König
2010-02-09 17:10 ` H Hartley Sweeten
2010-02-09 17:10 ` H Hartley Sweeten
2010-02-09 17:58 ` Russell King - ARM Linux
2010-02-09 17:58 ` Russell King - ARM Linux
2010-02-09 18:22 ` Josh Triplett
2010-02-09 19:17 ` Kevin Wells
2010-02-09 0:11 ` [PATCH 02/14] ARM: LPC32XX: Debug and IRQ macros wellsk40 at gmail.com
2010-02-09 9:45 ` Uwe Kleine-König
2010-02-09 0:11 ` [PATCH 03/14] ARM: LPC32XX: Clock driver wellsk40 at gmail.com
2010-02-09 10:39 ` Uwe Kleine-König
2010-02-09 19:18 ` Kevin Wells
2010-02-19 0:42 ` Kevin Wells
2010-02-19 9:21 ` Uwe Kleine-König
2010-02-09 0:11 ` [PATCH 04/14] ARM: LPC32XX: GPIO, timer, and IRQ drivers wellsk40 at gmail.com
2010-02-09 10:58 ` Uwe Kleine-König
2010-02-09 0:11 ` [PATCH 05/14] ARM: LPC32XX: System suspend support wellsk40 at gmail.com
2010-02-09 17:03 ` Uwe Kleine-König
2010-02-09 19:18 ` Kevin Wells
2010-02-14 16:51 ` Pavel Machek
2010-02-14 19:45 ` Russell King - ARM Linux
2010-02-09 0:11 ` [PATCH 06/14] ARM: LPC32XX: Serial support code wellsk40 at gmail.com
2010-02-09 0:11 ` [PATCH 07/14] ARM: LPC32XX: Misc support functions wellsk40 at gmail.com
2010-02-12 20:06 ` Uwe Kleine-König
2010-02-09 0:11 ` [PATCH 08/14] ARM: LPC32XX: Phytec 3250 platform support wellsk40 at gmail.com
2010-02-12 20:08 ` Uwe Kleine-König
2010-02-16 19:43 ` Kevin Wells
2010-02-09 0:11 ` [PATCH 09/14] ARM: LPC32XX: Arch config menu supoport and makefiles wellsk40 at gmail.com
2010-02-09 0:11 ` [PATCH 10/14] ARM: LPC32XX: Default PHY3250 kernel config (ramdisk) wellsk40 at gmail.com
2010-02-09 0:11 ` [PATCH 11/14] ARM: Add support for the LPC32XX arch wellsk40 at gmail.com
2010-02-09 0:11 ` [PATCH 12/14] AMBA: CLCD: LPC32XX register swap in the clcd header file wellsk40 at gmail.com
2010-02-12 14:31 ` Russell King - ARM Linux
2010-02-12 16:32 ` Kevin Wells
2010-02-12 16:41 ` Russell King - ARM Linux
2010-02-16 20:27 ` Kevin Wells
2010-02-18 17:21 ` Russell King - ARM Linux
2010-02-09 0:11 ` [PATCH 13/14] i2c: Add support for the LPC32XX arch wellsk40 at gmail.com
2010-02-09 0:11 ` [PATCH 14/14] WATCHDOG: " wellsk40 at gmail.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100209095227.GC2284@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.