IEEE1394 file2alias additions
PATCH 1/1 IEEE1394 file2alias additions
As suggested by Rusty, here's additions for ieee1394's module id table.
Index: scripts/file2alias.c
===================================================================
RCS file: /home/scm/linux-2.5/scripts/file2alias.c,v retrieving revision 1.3
scripts/file2alias.c +26 -0
@@ -81,6 +81,29 @@return 1 ; } +/* Looks like: ieee1394:venNmoNspNverN */ +static int do_ieee1394_entry (const char *filename, +struct ieee1394_device_id *id,char *alias) +{ + id->match_flags =TO_NATIVE (id->match_flags); + id->vendor_id =TO_NATIVE (id->vendor_id); + id->model_id =TO_NATIVE (id->model_id); + id->specifier_id =TO_NATIVE (id->specifier_id); + id->version =TO_NATIVE (id->version); + +strcpy (alias,"ieee1394:" ); +ADD (alias,"ven" , id->match_flags &IEEE1394_MATCH_VENDOR_ID , + id->vendor_id); +ADD (alias,"mo" , id->match_flags &IEEE1394_MATCH_MODEL_ID , + id->model_id); +ADD (alias,"sp" , id->match_flags &IEEE1394_MATCH_SPECIFIER_ID , + id->specifier_id); +ADD (alias,"ver" , id->match_flags &IEEE1394_MATCH_VERSION , + id->version); + +return 1 ; +} +/* Looks like: pci:vNdNsvNsdNbcNscNiN. */ static int do_pci_entry (const char *filename,struct pci_device_id *id,char *alias)
@@ -184,6 +207,9 @@else if (sym_is (symname,"__mod_usb_device_table" ))do_table (symval, sym->st_size,sizeof (struct usb_device_id ), do_usb_entry, mod); +else if (sym_is (symname,"__mod_ieee1394_device_table" )) +do_table (symval, sym->st_size,sizeof (struct ieee1394_device_id ), + do_ieee1394_entry, mod); }/* Now add out buffered information to the generated C source */
Index: include/linux/mod_devicetable.h
===================================================================
RCS file: /home/scm/linux-2.5/include/linux/mod_devicetable.h,v retrieving revision 1.2
include/linux/mod_devicetable.h +16 -0
@@ -21,6 +21,22 @@kernel_ulong_t driver_data;/* Data private to the driver */ }; + +#define IEEE1394_MATCH_VENDOR_ID 0x0001 +#define IEEE1394_MATCH_MODEL_ID 0x0002 +#define IEEE1394_MATCH_SPECIFIER_ID 0x0004 +#define IEEE1394_MATCH_VERSION 0x0008 + +struct ieee1394_device_id { +__u32 match_flags; +__u32 vendor_id; +__u32 model_id; +__u32 specifier_id; +__u32 version; +kernel_ulong_t driver_data; +}; + +/* * Device table entry for "new style" table-driven USB drivers. * User mode code can read these tables to choose which modules to load.