[PATCH] locomo: replace locomo_{readl/writel} macros with __raw_{readw/writew}

Pavel Machek pavel at ucw.cz
Tue Mar 16 02:25:14 EDT 2010


On Tue 2010-03-09 11:25:44, H Hartley Sweeten wrote:
> On Tuesday, March 09, 2010 6:26 AM, Eric Miao wrote:
> > On Tue, Mar 9, 2010 at 8:18 AM, H Hartley Sweeten
> > <hartleys at visionengravers.com> wrote:
> >> The locomo_readl and locomo_writel macros are misnamed. Both
> >> use (*(volatile u16 *)(addr)) so they should be a *w variety.
> >>
> >> Instead of renaming the macros just replace them tree wide with
> >> __raw_readw and __raw_writew.
> >>
> >> Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
> >> Cc: Russell King <linux at arm.linux.org.uk>
> >> Cc: Eric Miao <eric.y.miao at gmail.com>
> >>
> >
> > Hey Hartley,
> >
> > Could you please rebase this on top of my 'devel' branch? And note
> > locomo_{read,write}l() may also be used in sub-device drivers like
> > keyboard, LEDs and etc.
> 
> Follow up to my previous reply.
> 
> If there are out-of-tree users of locomo_writel and locomo_readl, the
> following should allow leaving the macros temporarily and get them to
> switch.
> 
> When I rebase to your devel branch I can include this if you think it
> is necessary.

> -#define locomo_writel(val,addr)	({ *(volatile u16 *)(addr) = (val); })
> -#define locomo_readl(addr)	(*(volatile u16 *)(addr))
> +static inline void __deprecated locomo_writel(u16 val, void __iomem *addr)
> +{
> +	/* deprecated; use the function below instead */
> +	__raw_writew(val, addr);
> +}

I'm not sure if we want people to commonly use function begining with
__raw_. Normally, such functions are think-twice internal-only...

Why not readw()/writew()?
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html



More information about the linux-arm-kernel mailing list