mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 16:27:39 +07:00
9300071949
[...] 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>
176 lines
3.2 KiB
C
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 */
|