From: Tom Rini Rune has determined that: res6 should be 94 bytes long. However... It does work @ 92 bytes because the compiler alligns the next struct (pci_cpm2_t) on a int boundary anyways (no packing specified fo the structs) I tested it with a module that pronted out the address of the PCI struct that follows the sit_cpm2_t struct. Imap = 0xF0000000 With res6[92] im-pci is @ 0xf0010430 With res6[94] im-pci is @ 0xf0010430 So we're saved by the compiler. Here's the patch Signed-off-by: Rune Torgersen Signed-off-by: Tom Rini Signed-off-by: Andrew Morton --- 25-akpm/include/asm-ppc/immap_cpm2.h | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN include/asm-ppc/immap_cpm2.h~ppc32-cpm2-bug include/asm-ppc/immap_cpm2.h --- 25/include/asm-ppc/immap_cpm2.h~ppc32-cpm2-bug Thu Nov 4 14:35:25 2004 +++ 25-akpm/include/asm-ppc/immap_cpm2.h Thu Nov 4 14:35:25 2004 @@ -133,7 +133,7 @@ typedef struct sys_int_timers { u8 res5[2]; u32 sit_pitc; u32 sit_pitr; - u8 res6[92]; + u8 res6[94]; u8 res7[390]; } sit_cpm2_t; _