#!/usr/bin/perl # # Guillaume Cottenceau # # Copyright 2000-2005 Mandriva # # This software may be freely redistributed under the terms of the GNU # public license. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # use lib qw(/usr/lib/libDrakX); use common; use detect_devices; $ARGV[0] =~ /^--?h/ and die "usage: drivers_install [drivertype1 [drivertype2 ...]]\n"; my @types = @ARGV; sub install_module { my ($driver, $descr) = @_; print STDERR qq(Installing driver $driver (for "$descr")\n); system("/sbin/modprobe", $driver) and print "\tfailed\n"; } #- start foreach my $card (detect_devices::pci_probe()) { # ignoring "unknown", "Card:foobar" and the like as well as video cards: $card->{driver} eq 'unknown' || $card->{driver} =~ /:/ and next; $card->{media_type} eq "DISPLAY_VGA" and next; # load drivers for selected categories or for everything if no args: if (!@ARGV || find { $card->{media_type} =~ /$_/i } @types) { install_module($card->{driver}, $card->{description}); } }