diff options
Diffstat (limited to 'perl-install/detect_devices.pm')
-rw-r--r-- | perl-install/detect_devices.pm | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm index 8d26f3cd5..2052d5e0d 100644 --- a/perl-install/detect_devices.pm +++ b/perl-install/detect_devices.pm @@ -236,14 +236,28 @@ sub usb_probe { } c::usb_probe(); } +sub pcmcia_probe { + -e "/var/run/stab" or return (); + + my (@devs, $desc); + foreach (cat_("/var/run/stab")) { + if (/^Socket\s+\d+:\s+(.*)/) { + $desc = $1; + } else { + my (undef, $type, $module, undef, $device) = split; + push @devs, { description => $desc, driver => $module, type => $type, device => $device }; + } + } + @devs; +} + # pci_probe with $probe_type is unsafe for pci! (bug in kernel&hardware) -# get_pcmcia_devices provides field "device", used in network.pm +# pcmcia_probe provides field "device", used in network.pm # => probeall with $probe_type is unsafe sub probeall { my ($probe_type) = @_; require sbus_probing::main; - require modules; - pci_probe($probe_type), usb_probe(), sbus_probing::main::probe(), modules::get_pcmcia_devices(); + pci_probe($probe_type), usb_probe(), pcmcia_probe(), sbus_probing::main::probe(); } sub matching_desc { my ($regexp) = @_; |