Re: [PATCH 14/14] arm/include/asm/io.h : added macros to read/write big/little endian register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2011-08-30 at 17:28 +0530, Pratyush Anand wrote:
> There are some peripheral(e.g dwc otg) whose registers can be configured to
> work in either little or big endian mode. Therefor macros like out_be32,
> in_be32, out_le32 and in_le32 have been added to support such peripherals.

Yuck.

Don't copy those ppc specific historical accessors :-)

Doesn't arm have writel_be ? If not , define those, it's a bit more
common, or better, switch to the newer iomap variants which should be
provided in both endianness.

Cheers,
Ben.


> Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx>
> ---
>  arch/arm/include/asm/io.h |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
> index 815efa2..32282b4 100644
> --- a/arch/arm/include/asm/io.h
> +++ b/arch/arm/include/asm/io.h
> @@ -297,6 +297,14 @@ extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size);
>  extern int devmem_is_allowed(unsigned long pfn);
>  #endif
>  
> +/* Big Endian */
> +#define out_be32(a, v) writel(__cpu_to_be32(v), a)
> +#define in_be32(a) __be32_to_cpu(readl(a))
> +
> +/* Little endian */
> +#define out_le32(a, v) writel(__cpu_to_le32(v), a)
> +#define in_le32(a) __le32_to_cpu(readl(a))
> +
>  /*
>   * Convert a physical pointer to a virtual kernel pointer for /dev/mem
>   * access


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux