public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [RFC/PATCH 1/6] Move definition of container_of() to common.h
@ 2008-05-16  9:10 Haavard Skinnemoen
  2008-05-16  9:10 ` [U-Boot-Users] [RFC/PATCH 2/6] SPI API improvements Haavard Skinnemoen
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Haavard Skinnemoen @ 2008-05-16  9:10 UTC (permalink / raw)
  To: u-boot

AVR32 and AT91SAM9 both have their own identical definitions of
container_of() taken from the Linux kernel. Move it to common.h so
that all architectures can use it.

container_of() is already used by some drivers, and will be used
extensively by the new and improved SPI API.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
---
 include/asm-arm/arch-at91sam9/hardware.h |   11 -----------
 include/asm-avr32/u-boot.h               |   11 -----------
 include/common.h                         |   11 +++++++++++
 3 files changed, 11 insertions(+), 22 deletions(-)

diff --git a/include/asm-arm/arch-at91sam9/hardware.h b/include/asm-arm/arch-at91sam9/hardware.h
index d2fe453..fba3908 100644
--- a/include/asm-arm/arch-at91sam9/hardware.h
+++ b/include/asm-arm/arch-at91sam9/hardware.h
@@ -42,15 +42,4 @@
 #error "Unsupported AT91 processor"
 #endif
 
-/*
- * container_of - cast a member of a structure out to the containing structure
- *
- * @ptr:	the pointer to the member.
- * @type:	the type of the container struct this is embedded in.
- * @member:	the name of the member within the struct.
- */
-#define container_of(ptr, type, member) ({			\
-	const typeof(((type *)0)->member) *__mptr = (ptr);	\
-	(type *)((char *)__mptr - offsetof(type, member)); })
-
 #endif
diff --git a/include/asm-avr32/u-boot.h b/include/asm-avr32/u-boot.h
index 71dfcaf..85ef008 100644
--- a/include/asm-avr32/u-boot.h
+++ b/include/asm-avr32/u-boot.h
@@ -42,15 +42,4 @@ typedef struct bd_info {
 #define bi_memstart bi_dram[0].start
 #define bi_memsize bi_dram[0].size
 
-/**
- *  container_of - cast a member of a structure out to the containing structure
- *
- *    @ptr:        the pointer to the member.
- *    @type:       the type of the container struct this is embedded in.
- *    @member:     the name of the member within the struct.
- */
-#define container_of(ptr, type, member) ({                      \
-	const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
-	(type *)( (char *)__mptr - offsetof(type,member) );})
-
 #endif /* __ASM_U_BOOT_H__ */
diff --git a/include/common.h b/include/common.h
index d0f5704..26e1b46 100644
--- a/include/common.h
+++ b/include/common.h
@@ -176,6 +176,17 @@ typedef void (interrupt_handler_t)(void *);
 		(__x > __y) ? __x : __y; })
 
 
+/**
+ * container_of - cast a member of a structure out to the containing structure
+ * @ptr:	the pointer to the member.
+ * @type:	the type of the container struct this is embedded in.
+ * @member:	the name of the member within the struct.
+ *
+ */
+#define container_of(ptr, type, member) ({			\
+	const typeof( ((type *)0)->member ) *__mptr = (ptr);	\
+	(type *)( (char *)__mptr - offsetof(type,member) );})
+
 /*
  * Function Prototypes
  */
-- 
1.5.4.3

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

end of thread, other threads:[~2008-06-05 11:18 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-16  9:10 [U-Boot-Users] [RFC/PATCH 1/6] Move definition of container_of() to common.h Haavard Skinnemoen
2008-05-16  9:10 ` [U-Boot-Users] [RFC/PATCH 2/6] SPI API improvements Haavard Skinnemoen
2008-05-16  9:10   ` [U-Boot-Users] [RFC/PATCH 3/6] atmel_spi: Driver for the Atmel SPI controller Haavard Skinnemoen
2008-05-16  9:10     ` [U-Boot-Users] [RFC/PATCH 4/6] SPI Flash subsystem Haavard Skinnemoen
2008-05-16  9:10       ` [U-Boot-Users] [RFC/PATCH 5/6] SPI Flash: Add "sf" command Haavard Skinnemoen
2008-05-16  9:10         ` [U-Boot-Users] [RFC/PATCH 6/6] Add support for environment in SPI flash Haavard Skinnemoen
2008-06-04 22:06           ` Wolfgang Denk
2008-06-05 11:18             ` Haavard Skinnemoen
2008-06-04 22:06         ` [U-Boot-Users] [RFC/PATCH 5/6] SPI Flash: Add "sf" command Wolfgang Denk
2008-06-04 22:06       ` [U-Boot-Users] [RFC/PATCH 4/6] SPI Flash subsystem Wolfgang Denk
2008-06-04 22:06     ` [U-Boot-Users] [RFC/PATCH 3/6] atmel_spi: Driver for the Atmel SPI controller Wolfgang Denk
2008-05-16 10:41   ` [U-Boot-Users] [RFC/PATCH 2/6] SPI API improvements Guennadi Liakhovetski
2008-05-16 12:22     ` Haavard Skinnemoen
2008-05-16 12:51       ` Guennadi Liakhovetski
2008-05-17 10:56   ` Jean-Christophe PLAGNIOL-VILLARD
2008-05-18 17:37     ` Haavard Skinnemoen
2008-05-26  6:57   ` Ben Warren
2008-06-04 22:06   ` Wolfgang Denk
2008-05-16  9:56 ` [U-Boot-Users] [RFC/PATCH 1/6] Move definition of container_of() to common.h Jean-Christophe PLAGNIOL-VILLARD
2008-06-04 22:06 ` Wolfgang Denk

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