[...]
 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>
		
	
			
		
			
				
	
	
		
			175 lines
		
	
	
	
		
			3.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			175 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 */
 |