blob: 9eb25c66e057fed5ce4ad20fe3f1124820249e7c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/usr/bin/perl
use lib '../kernel';
use strict;
use MDK::Common;
my @aliases;
my ($main) = `ls -t /lib/modules/*/modules.alias`;
foreach (cat_(chomp_($main))) {
push @aliases, [ $1, $2 ] if /^alias\s+(pcmcia:\S+)\s+(\S+)$/; #- modalias, module
}
@aliases or die "unable to get PCMCIA aliases";
print '
struct pcmcia_alias {
const char *modalias;
const char *module;
};
';
my %t = (
network => 'network/pcmcia',
medias => 'disk/pcmcia',
);
foreach my $type (keys %t) {
my @modules = chomp_(`perl ../kernel/modules.pl pci_modules4stage1 "$t{$type}"`)
or die "unable to get PCMCIA modules";
print "#ifndef DISABLE_".uc($type)."
struct pcmcia_alias ${type}_pcmcia_ids[] = {
";
print qq|\t{ "$_->[0]", "$_->[1]" },\n| foreach grep { member($_->[1], @modules) } @aliases;
print "};
unsigned int ${type}_pcmcia_num_ids = sizeof(${type}_pcmcia_ids) / sizeof(struct pcmcia_alias);
#endif
";
}
|