diff options
-rw-r--r-- | kernel/list_modules.pm | 3 | ||||
-rw-r--r-- | kernel/modules.pl | 4 | ||||
-rw-r--r-- | mdk-stage1/modules.c | 2 | ||||
-rw-r--r-- | mdk-stage1/modules.h | 1 | ||||
-rw-r--r-- | mdk-stage1/probing.c | 2 | ||||
-rwxr-xr-x | mdk-stage1/usb-resource/update-usb-ids.pl | 2 |
6 files changed, 9 insertions, 5 deletions
diff --git a/kernel/list_modules.pm b/kernel/list_modules.pm index f57eaeb6e..ebba57abf 100644 --- a/kernel/list_modules.pm +++ b/kernel/list_modules.pm @@ -75,6 +75,7 @@ our %l = ( pcmcia => [ qw(aha152x_cs fdomain_cs nsp_cs qlogic_cs ide-cs) ], #ide_cs raw => [ qw(scsi_mod sd_mod) ], usb => [ qw(usb-storage) ], + firewire => [ qw(sbp2) ], cdrom => [ qw(ide-cd cdrom sr_mod) ], }, @@ -83,7 +84,7 @@ our %l = ( bus => { usb => [ qw(usbcore usb-uhci usb-ohci ehci-hcd usbkbd keybdev input) ], - firewire => [ qw(ohci1394) ], + firewire => [ qw(ohci1394 ieee1394) ], pcmcia => [ if_(arch() !~ /^sparc/, qw(pcmcia_core tcic ds i82365 yenta_socket)), # cb_enabler ], diff --git a/kernel/modules.pl b/kernel/modules.pl index cff4f9ed0..6e8f04307 100644 --- a/kernel/modules.pl +++ b/kernel/modules.pl @@ -48,8 +48,8 @@ my %images = ( other => 'disk/scsi|hardware_raid network/main ONLY_BIG fs/cdrom disk/cdrom|raw fs/network network/raw', pcmcia => 'fs/cdrom disk/cdrom|raw|pcmcia bus/pcmcia fs/network network/pcmcia|raw', cdrom => 'fs/cdrom disk/cdrom|raw|scsi', - usb => 'fs/cdrom disk/cdrom|raw bus/usb disk/usb fs/network network/usb|raw', - all => 'fs/cdrom disk/cdrom|raw bus/usb disk/usb|scsi fs/loopback|local bus/pcmcia disk/pcmcia|hardware_raid fs/network network/main|pcmcia|usb|raw', + usb => 'fs/cdrom disk/cdrom|raw bus/usb disk/usb fs/network network/usb|raw bus/firewire disk/firewire', + all => 'fs/cdrom disk/cdrom|raw bus/usb disk/usb|scsi fs/loopback|local bus/pcmcia disk/pcmcia|hardware_raid fs/network network/main|pcmcia|usb|raw bus/firewire disk/firewire', ); my $verbose = "@ARGV" =~ /-v/; diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c index 1fe1cd42a..083a81e6a 100644 --- a/mdk-stage1/modules.c +++ b/mdk-stage1/modules.c @@ -197,7 +197,7 @@ static void add_modules_conf(char * str) } -static int module_already_present(const char * name) +int module_already_present(const char * name) { FILE * f; int answ = 0; diff --git a/mdk-stage1/modules.h b/mdk-stage1/modules.h index a5fccb609..5e14764d7 100644 --- a/mdk-stage1/modules.h +++ b/mdk-stage1/modules.h @@ -24,6 +24,7 @@ void init_modules_insmoding(void); enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options); enum return_type ask_insmod(enum driver_type); void update_modules(void); +int module_already_present(const char * name); struct module_deps_elem { char * name; diff --git a/mdk-stage1/probing.c b/mdk-stage1/probing.c index 077a664d3..d46c35e4d 100644 --- a/mdk-stage1/probing.c +++ b/mdk-stage1/probing.c @@ -244,6 +244,8 @@ void probe_that_type(enum driver_type type, enum media_bus bus __attribute__ ((u if (!already_mounted_usbdev) { already_mounted_usbdev = 1; my_insmod("usb-storage", SCSI_ADAPTERS, NULL); + if (module_already_present("ieee1394")) + my_insmod("sbp2", SCSI_ADAPTERS, NULL); if (mount("/proc/bus/usb", "/proc/bus/usb", "usbdevfs", 0, NULL)) { log_message("USB: couldn't mount /proc/bus/usb"); goto end_usb_probe; diff --git a/mdk-stage1/usb-resource/update-usb-ids.pl b/mdk-stage1/usb-resource/update-usb-ids.pl index 2a54a678b..187c7f5c0 100755 --- a/mdk-stage1/usb-resource/update-usb-ids.pl +++ b/mdk-stage1/usb-resource/update-usb-ids.pl @@ -24,7 +24,7 @@ print "struct pci_module_map usb_pci_ids[] = { "; while (my ($k, $v) = each %$pci) { - $v->[0] =~ /^usb-|^ehci-hcd/ or next; + $v->[0] =~ /^usb-|^ehci-hcd|^ohci1394/ or next; $k =~ /^(....)(....)/; printf qq|\t{ 0x%s, 0x%s, "", "%s" },\n|, $1, $2, $v->[0]; |