[U-Boot] [PATCH] net: dm9000x: use standard I/O accessors

Ben Warren biggerbadderben at gmail.com
Mon Apr 26 06:51:06 CEST 2010


Mike,

ApplOn 4/14/2010 1:29 PM, Mike Frysinger wrote:
> The current dm9000x driver accesses its memory mapped registers directly
> instead of using the standard I/O accessors.  This can cause problems on
> Blackfin systems as the accesses can get out of order.  So convert the
> direct volatile dereferences to use the normal in/out macros.
>
> Signed-off-by: Mike Frysinger<vapier at gentoo.org>
> ---
>   drivers/net/dm9000x.c |   12 ++++++------
>   1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
> index a7fef56..f121286 100644
> --- a/drivers/net/dm9000x.c
> +++ b/drivers/net/dm9000x.c
> @@ -117,12 +117,12 @@ static void DM9000_iow(int reg, u8 value);
>
>   /* DM9000 network board routine ---------------------------- */
>
> -#define DM9000_outb(d,r) ( *(volatile u8 *)r = d )
> -#define DM9000_outw(d,r) ( *(volatile u16 *)r = d )
> -#define DM9000_outl(d,r) ( *(volatile u32 *)r = d )
> -#define DM9000_inb(r) (*(volatile u8 *)r)
> -#define DM9000_inw(r) (*(volatile u16 *)r)
> -#define DM9000_inl(r) (*(volatile u32 *)r)
> +#define DM9000_outb(d,r) outb(d, r)
> +#define DM9000_outw(d,r) outw(d, r)
> +#define DM9000_outl(d,r) outl(d, r)
> +#define DM9000_inb(r) inb(r)
> +#define DM9000_inw(r) inw(r)
> +#define DM9000_inl(r) inl(r)
>
>   #ifdef CONFIG_DM9000_DEBUG
>   static void
>    
Applied to net repo.

thanks,
Ben


More information about the U-Boot mailing list