History

zorro/UAPI: Use proper types (endianness/size) in <linux/zorro.h>

Fix member definitions for non-native userspace handling: - All multi-byte values are big-endian, hence use __be*, - All pointers are 32-bit pointers under AmigaOS, but unused (except for cd_BoardAddr) under Linux, hence use __be32.

Geert Uytterhoeven committed 13 years ago

Commit bd9ba8f1 parent 986ea588 files · +72 −46Browse files

Showing the changes to include/uapi/linux (1 of 8 files). Show all

Unified · Split

include/uapi/linux/zorro.h+23−23
@@ -63,26 +63,26 @@ enum GVP_flags { · 62 unmodified lines
6363
6464
6565 struct Node {
66− struct Node *ln_Succ; /* Pointer to next (successor) */
67− struct Node *ln_Pred; /* Pointer to previous (predecessor) */
68− __u8 ln_Type;
69− __s8 ln_Pri; /* Priority, for sorting */
70− __s8 *ln_Name; /* ID string, null terminated */
66+ __be32 ln_Succ; /* Pointer to next (successor) */
67+ __be32 ln_Pred; /* Pointer to previous (predecessor) */
68+ __u8 ln_Type;
69+ __s8 ln_Pri; /* Priority, for sorting */
70+ __be32 ln_Name; /* ID string, null terminated */
7171 } __packed;
7272
7373 struct ExpansionRom {
7474 /* -First 16 bytes of the expansion ROM */
75− __u8 er_Type; /* Board type, size and flags */
76− __u8 er_Product; /* Product number, assigned by manufacturer */
77− __u8 er_Flags; /* Flags */
78− __u8 er_Reserved03; /* Must be zero ($ff inverted) */
79− __u16 er_Manufacturer; /* Unique ID, ASSIGNED BY COMMODORE-AMIGA! */
80− __u32 er_SerialNumber; /* Available for use by manufacturer */
81− __u16 er_InitDiagVec; /* Offset to optional "DiagArea" structure */
82− __u8 er_Reserved0c;
83− __u8 er_Reserved0d;
84− __u8 er_Reserved0e;
85− __u8 er_Reserved0f;
75+ __u8 er_Type; /* Board type, size and flags */
76+ __u8 er_Product; /* Product number, assigned by manufacturer */
77+ __u8 er_Flags; /* Flags */
78+ __u8 er_Reserved03; /* Must be zero ($ff inverted) */
79+ __be16 er_Manufacturer; /* Unique ID, ASSIGNED BY COMMODORE-AMIGA! */
80+ __be32 er_SerialNumber; /* Available for use by manufacturer */
81+ __be16 er_InitDiagVec; /* Offset to optional "DiagArea" structure */
82+ __u8 er_Reserved0c;
83+ __u8 er_Reserved0d;
84+ __u8 er_Reserved0e;
85+ __u8 er_Reserved0f;
8686 } __packed;
8787
8888 /* er_Type board type bits */
@@ -99,13 +99,13 @@ struct ConfigDev { · 10 unmodified lines
9999 __u8 cd_Flags; /* (read/write) */
100100 __u8 cd_Pad; /* reserved */
101101 struct ExpansionRom cd_Rom; /* copy of board's expansion ROM */
102− void *cd_BoardAddr; /* where in memory the board was placed */
103− __u32 cd_BoardSize; /* size of board in bytes */
104− __u16 cd_SlotAddr; /* which slot number (PRIVATE) */
105− __u16 cd_SlotSize; /* number of slots (PRIVATE) */
106− void *cd_Driver; /* pointer to node of driver */
107− struct ConfigDev *cd_NextCD; /* linked list of drivers to config */
108− __u32 cd_Unused[4]; /* for whatever the driver wants */
102+ __be32 cd_BoardAddr; /* where in memory the board was placed */
103+ __be32 cd_BoardSize; /* size of board in bytes */
104+ __be16 cd_SlotAddr; /* which slot number (PRIVATE) */
105+ __be16 cd_SlotSize; /* number of slots (PRIVATE) */
106+ __be32 cd_Driver; /* pointer to node of driver */
107+ __be32 cd_NextCD; /* linked list of drivers to config */
108+ __be32 cd_Unused[4]; /* for whatever the driver wants */
109109 } __packed;
110110
111111 #define ZORRO_NUM_AUTO 16