Merge branch 'master' of git://git.denx.de/u-boot
[oweals/u-boot.git] / include / common.h
index fa1d0528e1e7270cfdb0ddca87c398e0ad87173c..26e1b469a12e048da358580131c52e7d110ad83f 100644 (file)
@@ -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
  */
@@ -214,9 +225,7 @@ int checkdram     (void);
 char * strmhz(char *buf, long hz);
 int    last_stage_init(void);
 extern ulong monitor_flash_len;
-#ifdef CFG_ID_EEPROM
 int mac_read_from_eeprom(void);
-#endif
 
 /* common/flash.c */
 void flash_perror (int);
@@ -229,7 +238,6 @@ extern ulong load_addr;             /* Default Load Address */
 /* common/cmd_nvedit.c */
 int    env_init     (void);
 void   env_relocate (void);
-uchar  env_get_char (int);
 int    envmatch     (uchar *, int);
 char   *getenv      (char *);
 int    getenv_r     (char *name, char *buf, unsigned len);
@@ -605,6 +613,7 @@ int vsprintf(char *buf, const char *fmt, va_list args);
 
 /* lib_generic/crc32.c */
 uint32_t crc32 (uint32_t, const unsigned char *, uint);
+uint32_t crc32_wd (uint32_t, const unsigned char *, uint, uint);
 uint32_t crc32_no_comp (uint32_t, const unsigned char *, uint);
 
 /* common/console.c */
@@ -680,4 +689,8 @@ int cpu_reset(int nr);
 int cpu_release(int nr, int argc, char *argv[]);
 #endif
 
+#ifdef CONFIG_POST
+#define CONFIG_HAS_POST
+#endif
+
 #endif /* __COMMON_H_ */