summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/list_modules.pm3
-rw-r--r--kernel/modules.pl4
-rw-r--r--mdk-stage1/modules.c2
-rw-r--r--mdk-stage1/modules.h1
-rw-r--r--mdk-stage1/probing.c2
-rwxr-xr-xmdk-stage1/usb-resource/update-usb-ids.pl2
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];