patch-2.0.35 linux/init/main.c

Next file: linux/kernel/ksyms.c
Previous file: linux/include/net/sock.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.34/linux/init/main.c linux/init/main.c
@@ -182,6 +182,21 @@
 extern void baycom_setup(char *str, int *ints);
 #endif
 
+#ifdef CONFIG_PARIDE_PD
+extern void pd_setup(char *str, int *ints);
+#endif
+#ifdef CONFIG_PARIDE_PF
+extern void pf_setup(char *str, int *ints);
+#endif
+#ifdef CONFIG_PARIDE_PT
+extern void pt_setup(char *str, int *ints);
+#endif
+#ifdef CONFIG_PARIDE_PG
+extern void pg_setup(char *str, int *ints);
+#endif
+#ifdef CONFIG_PARIDE_PCD
+extern void pcd_setup(char *str, int *ints);
+#endif
 
 #if defined(CONFIG_SYSVIPC) || defined(CONFIG_KERNELD)
 extern void ipc_init(void);
@@ -255,10 +270,12 @@
 #endif
 }
 
-struct {
+struct kernel_param {
 	const char *str;
 	void (*setup_func)(char *, int *);
-} bootsetups[] = {
+} ;
+
+struct kernel_param bootsetups[] = {
 	{ "reserve=", reserve_setup },
 	{ "profile=", profile_setup },
 #ifdef CONFIG_BLK_DEV_RAM
@@ -444,6 +461,27 @@
 	{ 0, 0 }
 };
 
+static struct kernel_param raw_params[] = {
+
+#ifdef CONFIG_PARIDE_PD
+       { "pd.", pd_setup },
+#endif
+#ifdef CONFIG_PARIDE_PCD
+       { "pcd.", pcd_setup },
+#endif
+#ifdef CONFIG_PARIDE_PF
+       { "pf.", pf_setup },
+#endif
+#ifdef CONFIG_PARIDE_PT
+       { "pt.", pt_setup },
+#endif
+#ifdef CONFIG_PARIDE_PG
+       { "pg.", pg_setup },
+#endif
+       { 0, 0 }
+} ;
+
+
 #ifdef CONFIG_BLK_DEV_RAM
 static void ramdisk_start_setup(char *str, int *ints)
 {
@@ -491,6 +529,15 @@
 		}
 		i++;
 	}
+
+        for (i=0; raw_params[i].str; i++) {
+                int n = strlen(raw_params[i].str);
+                if (!strncmp(line,raw_params[i].str,n)) {
+                        raw_params[i].setup_func(line+n, NULL);
+                        return 1;
+                }
+        }
+
 	return 0;
 }
 
@@ -563,6 +610,7 @@
 		const int num;
 	} devices[] = {
 		{ "nfs",     0x00ff },
+		{ "loop",    0x0700 },
 		{ "hda",     0x0300 },
 		{ "hdb",     0x0340 },
 		{ "hdc",     0x1600 },
@@ -599,6 +647,18 @@
 		{ "gscd",    0x1000 },
 		{ "sbpcd",   0x1900 },
 		{ "sonycd",  0x1800 },
+#ifdef CONFIG_PARIDE_PD
+       		{ "pda",     0x2d00 },
+       		{ "pdb",     0x2d10 },
+       		{ "pdc",     0x2d20 },
+       		{ "pdd",     0x2d30 },
+#endif
+#ifdef CONFIG_PARIDE_PCD
+     	  	{ "pcd",     0x2e00 },
+#endif
+#ifdef CONFIG_PARIDE_PF
+	       	{ "pf",      0x2f00 },
+#endif
 		{ NULL, 0 }
 	};
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov