alistair23-linux/arch/mips/include/asm/fw/arc/hinv.h
Ralf Baechle 9300071949 MIPS: ARC: Fix build error.
[...]
 struct component {
        ^
In file included from ./arch/mips/include/asm/sn/klconfig.h:58:0,
                 from ./arch/mips/include/asm/sn/module.h:12,
                 from ./arch/mips/include/asm/sn/node.h:8,
                 from ./arch/mips/include/asm/mach-ip35/mmzone.h:4,
                 from ./arch/mips/include/asm/mmzone.h:9,
                 from ./arch/mips/include/asm/mach-ip35/topology.h:7,
                 from ./arch/mips/include/asm/topology.h:11,
                 from include/linux/topology.h:35,
                 from include/linux/gfp.h:8,
                 from include/linux/device.h:29,
                 from drivers/base/component.c:14:
./arch/mips/include/asm/fw/arc/hinv.h:122:16: note: originally defined here
 typedef struct component {
                ^
make[2]: *** [drivers/base/component.o] Error 1
make[2]: Target `__build' not remade because of errors.
make[1]: *** [drivers/base] Error 2
make[1]: Target `__build' not remade because of errors.

Fix by using an nameless struct definition in the COMPONENT definition.
Which is what the ARC spec uses anyway.  While at it, do the same thing
for two other typedefs.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-01-19 13:09:52 +01:00

176 lines
3.2 KiB
C

/*
* ARCS hardware/memory inventory/configuration and system ID definitions.
*/
#ifndef _ASM_ARC_HINV_H
#define _ASM_ARC_HINV_H
#include <asm/sgidefs.h>
#include <asm/fw/arc/types.h>
/* configuration query defines */
typedef enum configclass {
SystemClass,
ProcessorClass,
CacheClass,
#ifndef _NT_PROM
MemoryClass,
AdapterClass,
ControllerClass,
PeripheralClass
#else /* _NT_PROM */
AdapterClass,
ControllerClass,
PeripheralClass,
MemoryClass
#endif /* _NT_PROM */
} CONFIGCLASS;
typedef enum configtype {
ARC,
CPU,
FPU,
PrimaryICache,
PrimaryDCache,
SecondaryICache,
SecondaryDCache,
SecondaryCache,
#ifndef _NT_PROM
Memory,
#endif
EISAAdapter,
TCAdapter,
SCSIAdapter,
DTIAdapter,
MultiFunctionAdapter,
DiskController,
TapeController,
CDROMController,
WORMController,
SerialController,
NetworkController,
DisplayController,
ParallelController,
PointerController,
KeyboardController,
AudioController,
OtherController,
DiskPeripheral,
FloppyDiskPeripheral,
TapePeripheral,
ModemPeripheral,
MonitorPeripheral,
PrinterPeripheral,
PointerPeripheral,
KeyboardPeripheral,
TerminalPeripheral,
LinePeripheral,
NetworkPeripheral,
#ifdef _NT_PROM
Memory,
#endif
OtherPeripheral,
/* new stuff for IP30 */
/* added without moving anything */
/* except ANONYMOUS. */
XTalkAdapter,
PCIAdapter,
GIOAdapter,
TPUAdapter,
Anonymous
} CONFIGTYPE;
typedef enum {
Failed = 1,
ReadOnly = 2,
Removable = 4,
ConsoleIn = 8,
ConsoleOut = 16,
Input = 32,
Output = 64
} IDENTIFIERFLAG;
#ifndef NULL /* for GetChild(NULL); */
#define NULL 0
#endif
union key_u {
struct {
#ifdef _MIPSEB
unsigned char c_bsize; /* block size in lines */
unsigned char c_lsize; /* line size in bytes/tag */
unsigned short c_size; /* cache size in 4K pages */
#else /* _MIPSEL */
unsigned short c_size; /* cache size in 4K pages */
unsigned char c_lsize; /* line size in bytes/tag */
unsigned char c_bsize; /* block size in lines */
#endif /* _MIPSEL */
} cache;
ULONG FullKey;
};
#if _MIPS_SIM == _MIPS_SIM_ABI64
#define SGI_ARCS_VERS 64 /* sgi 64-bit version */
#define SGI_ARCS_REV 0 /* rev .00 */
#else
#define SGI_ARCS_VERS 1 /* first version */
#define SGI_ARCS_REV 10 /* rev .10, 3/04/92 */
#endif
typedef struct {
CONFIGCLASS Class;
CONFIGTYPE Type;
IDENTIFIERFLAG Flags;
USHORT Version;
USHORT Revision;
ULONG Key;
ULONG AffinityMask;
ULONG ConfigurationDataSize;
ULONG IdentifierLength;
char *Identifier;
} COMPONENT;
/* internal structure that holds pathname parsing data */
struct cfgdata {
char *name; /* full name */
int minlen; /* minimum length to match */
CONFIGTYPE type; /* type of token */
};
/* System ID */
typedef struct {
CHAR VendorId[8];
CHAR ProductId[8];
} SYSTEMID;
/* memory query functions */
typedef enum memorytype {
ExceptionBlock,
SPBPage, /* ARCS == SystemParameterBlock */
#ifndef _NT_PROM
FreeContiguous,
FreeMemory,
BadMemory,
LoadedProgram,
FirmwareTemporary,
FirmwarePermanent
#else /* _NT_PROM */
FreeMemory,
BadMemory,
LoadedProgram,
FirmwareTemporary,
FirmwarePermanent,
FreeContiguous
#endif /* _NT_PROM */
} MEMORYTYPE;
typedef struct {
MEMORYTYPE Type;
LONG BasePage;
LONG PageCount;
} MEMORYDESCRIPTOR;
#endif /* _ASM_ARC_HINV_H */