mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/1] ppc io.h: update following MMIO primitives fix
@ 2012-05-10 13:54 Renaud Barbier
  2012-05-11  7:06 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Renaud Barbier @ 2012-05-10 13:54 UTC (permalink / raw)
  To: barebox

Following the MMIO primitives fix, the definitions of __raw_* function
is sourced from Linux and added.

Signed-off-by: Renaud Barbier <renaud.barbier@ge.com>
---
 arch/ppc/include/asm/io.h |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/arch/ppc/include/asm/io.h b/arch/ppc/include/asm/io.h
index 13187ca..0052989 100644
--- a/arch/ppc/include/asm/io.h
+++ b/arch/ppc/include/asm/io.h
@@ -105,6 +105,34 @@ extern void _outsl_ns(volatile u32 *port, const void *buf, int nl);
 #define iobarrier_w()  eieio()
 
 /*
+ * Non ordered and non-swapping "raw" accessors
+ */
+static inline unsigned char __raw_readb(const volatile void __iomem *addr)
+{
+	return *(volatile unsigned char __force *)(addr);
+}
+static inline unsigned short __raw_readw(const volatile void __iomem *addr)
+{
+	return *(volatile unsigned short __force *)(addr);
+}
+static inline unsigned int __raw_readl(const volatile void __iomem *addr)
+{
+	return *(volatile unsigned int __force *)(addr);
+}
+static inline void __raw_writeb(unsigned char v, volatile void __iomem *addr)
+{
+	*(volatile unsigned char __force *)(addr) = v;
+}
+static inline void __raw_writew(unsigned short v, volatile void __iomem *addr)
+{
+	*(volatile unsigned short __force *)(addr) = v;
+}
+static inline void __raw_writel(unsigned int v, volatile void __iomem *addr)
+{
+	*(volatile unsigned int __force *)(addr) = v;
+}
+
+/*
  * 8, 16 and 32 bit, big and little endian I/O operations, with barrier.
  */
 extern inline int in_8(volatile u8 *addr)
-- 
1.7.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] ppc io.h: update following MMIO primitives fix
  2012-05-10 13:54 [PATCH 1/1] ppc io.h: update following MMIO primitives fix Renaud Barbier
@ 2012-05-11  7:06 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2012-05-11  7:06 UTC (permalink / raw)
  To: Renaud Barbier; +Cc: barebox

On Thu, May 10, 2012 at 02:54:31PM +0100, Renaud Barbier wrote:
> Following the MMIO primitives fix, the definitions of __raw_* function
> is sourced from Linux and added.
> 
> Signed-off-by: Renaud Barbier <renaud.barbier@ge.com>

Applied, thanks

Sascha

> ---
>  arch/ppc/include/asm/io.h |   28 ++++++++++++++++++++++++++++
>  1 files changed, 28 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/ppc/include/asm/io.h b/arch/ppc/include/asm/io.h
> index 13187ca..0052989 100644
> --- a/arch/ppc/include/asm/io.h
> +++ b/arch/ppc/include/asm/io.h
> @@ -105,6 +105,34 @@ extern void _outsl_ns(volatile u32 *port, const void *buf, int nl);
>  #define iobarrier_w()  eieio()
>  
>  /*
> + * Non ordered and non-swapping "raw" accessors
> + */
> +static inline unsigned char __raw_readb(const volatile void __iomem *addr)
> +{
> +	return *(volatile unsigned char __force *)(addr);
> +}
> +static inline unsigned short __raw_readw(const volatile void __iomem *addr)
> +{
> +	return *(volatile unsigned short __force *)(addr);
> +}
> +static inline unsigned int __raw_readl(const volatile void __iomem *addr)
> +{
> +	return *(volatile unsigned int __force *)(addr);
> +}
> +static inline void __raw_writeb(unsigned char v, volatile void __iomem *addr)
> +{
> +	*(volatile unsigned char __force *)(addr) = v;
> +}
> +static inline void __raw_writew(unsigned short v, volatile void __iomem *addr)
> +{
> +	*(volatile unsigned short __force *)(addr) = v;
> +}
> +static inline void __raw_writel(unsigned int v, volatile void __iomem *addr)
> +{
> +	*(volatile unsigned int __force *)(addr) = v;
> +}
> +
> +/*
>   * 8, 16 and 32 bit, big and little endian I/O operations, with barrier.
>   */
>  extern inline int in_8(volatile u8 *addr)
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-05-11  7:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-10 13:54 [PATCH 1/1] ppc io.h: update following MMIO primitives fix Renaud Barbier
2012-05-11  7:06 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox