diff options
Diffstat (limited to 'scripts/mod/file2alias.c')
| -rw-r--r-- | scripts/mod/file2alias.c | 30 | 
1 files changed, 26 insertions, 4 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 45f9a3377dcd..23708636b05c 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -79,10 +79,12 @@ struct devtable **__start___devtable, **__stop___devtable;  extern struct devtable *__start___devtable[], *__stop___devtable[];  #endif /* __MACH__ */ -#if __GNUC__ == 3 && __GNUC_MINOR__ < 3 -# define __used			__attribute__((__unused__)) -#else -# define __used			__attribute__((__used__)) +#if !defined(__used) +# if __GNUC__ == 3 && __GNUC_MINOR__ < 3 +#  define __used			__attribute__((__unused__)) +# else +#  define __used			__attribute__((__used__)) +# endif  #endif  /* Define a variable f that holds the value of field f of struct devid @@ -1145,6 +1147,26 @@ static int do_mei_entry(const char *filename, void *symval,  }  ADD_TO_DEVTABLE("mei", mei_cl_device_id, do_mei_entry); +/* Looks like: rapidio:vNdNavNadN */ +static int do_rio_entry(const char *filename, +			void *symval, char *alias) +{ +	DEF_FIELD(symval, rio_device_id, did); +	DEF_FIELD(symval, rio_device_id, vid); +	DEF_FIELD(symval, rio_device_id, asm_did); +	DEF_FIELD(symval, rio_device_id, asm_vid); + +	strcpy(alias, "rapidio:"); +	ADD(alias, "v", vid != RIO_ANY_ID, vid); +	ADD(alias, "d", did != RIO_ANY_ID, did); +	ADD(alias, "av", asm_vid != RIO_ANY_ID, asm_vid); +	ADD(alias, "ad", asm_did != RIO_ANY_ID, asm_did); + +	add_wildcard(alias); +	return 1; +} +ADD_TO_DEVTABLE("rapidio", rio_device_id, do_rio_entry); +  /* Does namelen bytes of name exactly match the symbol? */  static bool sym_is(const char *name, unsigned namelen, const char *symbol)  {  |