diff options
Diffstat (limited to 'mdk-stage1/pci-resource/update-pci-ids.pl')
-rwxr-xr-x | mdk-stage1/pci-resource/update-pci-ids.pl | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/mdk-stage1/pci-resource/update-pci-ids.pl b/mdk-stage1/pci-resource/update-pci-ids.pl deleted file mode 100755 index 1d179c06d..000000000 --- a/mdk-stage1/pci-resource/update-pci-ids.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl - -use strict; -use MDK::Common; - -require '/usr/bin/merge2pcitable.pl'; -my $pci = read_pcitable("/usr/share/ldetect-lst/pcitable"); - -print ' -#define PCI_REVISION_ID 0x08 /* Revision ID */ - -struct pci_module_map { - unsigned short vendor; /* PCI vendor id */ - unsigned short device; /* PCI device id */ - const char *name; /* PCI human readable name */ - const char *module; /* module to load */ -}; - -struct pci_module_map_full { - unsigned short vendor; /* PCI vendor id */ - unsigned short device; /* PCI device id */ - unsigned short subvendor; /* PCI subvendor id */ - unsigned short subdevice; /* PCI subdevice id */ - const char *name; /* PCI human readable name */ - const char *module; /* module to load */ -}; - -'; - -my %t = ( - network => 'network/main', - medias => 'disk/scsi|hardware_raid', -); - -foreach my $type (keys %t) { - my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1:"$t{$type}"`); - - my (@entries, @entries_full); - - foreach my $k (sort keys %$pci) { - my $v = $pci->{$k}; - member($v->[0], @modules) or next; - $k =~ /^(....)(....)(....)(....)/; - my $values = { vendor => $1, device => $2, subvendor => $3, subdevice => $4, driver => $v->[0], description => $v->[1] }; - if ($values->{subdevice} eq 'ffff' && $values->{subvendor} eq 'ffff') { - push @entries, $values; - } else { - push @entries_full, $values; - } - } - - print "#ifndef DISABLE_".uc($type)." -struct pci_module_map ${type}_pci_ids[] = { -"; - printf qq|\t{ 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{description}, $_->{driver} - foreach @entries; - print "}; -unsigned int ${type}_num_ids = sizeof(${type}_pci_ids) / sizeof(struct pci_module_map); -"; - - print " -struct pci_module_map_full ${type}_pci_ids_full[] = { -"; - printf qq|\t{ 0x%s, 0x%s, 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{subvendor}, $_->{subdevice}, $_->{description}, $_->{driver} - foreach @entries_full; - print "}; -unsigned int ${type}_num_ids_full = sizeof(${type}_pci_ids_full) / sizeof(struct pci_module_map_full); - -#endif - -"; -} |