diff -urNw module-init-tools-3.3-pre11~/doc/modprobe.sgml module-init-tools-3.3-pre11/doc/modprobe.sgml
--- module-init-tools-3.3-pre11~/doc/modprobe.sgml	2007-10-23 11:34:11.961042886 +0200
+++ module-init-tools-3.3-pre11/doc/modprobe.sgml	2007-10-23 11:37:13.119304620 +0200
@@ -36,6 +36,7 @@
       <arg><option>-n</option></arg>
       <arg><option>-i</option></arg>
       <arg><option>-q</option></arg>
+      <arg><option>-Q</option></arg>
       <arg><option>-o</option> <replaceable>modulename</replaceable></arg>
       <arg><replaceable>modulename</replaceable></arg>
       <arg rep='repeat'><option><replaceable>module parameters</replaceable></option></arg>
@@ -195,6 +196,16 @@
         </listitem>
       </varlistentry>
       <varlistentry>
+        <term><option>-Q</option> <option>--silent</option>
+        </term>
+        <listitem>
+          <para>
+	    As <option>-q</option> with the addition that all warnings
+	    and errors are also silenced.
+	  </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
         <term><option>-r</option> <option>--remove</option>
         </term>
         <listitem>
diff -urNw module-init-tools-3.3-pre11~/modprobe.c module-init-tools-3.3-pre11/modprobe.c
--- module-init-tools-3.3-pre11~/modprobe.c	2007-10-23 11:34:12.013043535 +0200
+++ module-init-tools-3.3-pre11/modprobe.c	2007-10-23 11:37:57.583859755 +0200
@@ -65,6 +65,9 @@
 /* Do we use syslog or stderr for messages? */
 static int log;
 
+/* Do we want to be chatty or not? */
+static int silent;
+
 static void message(const char *prefix, const char *fmt, va_list *arglist)
 {
 	char *buf, *buf2;
@@ -72,9 +75,9 @@
 	vasprintf(&buf, fmt, *arglist);
 	asprintf(&buf2, "%s%s", prefix, buf);
 
-	if (log)
+	if ((log) && (!silent))
 		syslog(LOG_NOTICE, "%s", buf2);
-	else
+	else if (!silent)
 		fprintf(stderr, "%s", buf2);
 	free(buf2);
 	free(buf);
@@ -120,7 +123,7 @@
 static void print_usage(const char *progname)
 {
 	fprintf(stderr,
-		"Usage: %s [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [-o <modname>] [ --dump-modversions ] <modname> [parameters...]\n"
+		"Usage: %s [-v] [-V] [-C config-file] [-n] [-i] [-q] [-Q] [-b] [-o <modname>] [ --dump-modversions ] <modname> [parameters...]\n"
 		"%s -r [-n] [-i] [-v] <modulename> ...\n"
 		"%s -l -t <dirname> [ -a <modulename> ...]\n",
 		progname, progname, progname);
@@ -1406,6 +1409,7 @@
 				   { "show-depends", 0, NULL, 'D' },
 				   { "first-time", 0, NULL, 3 },
 				   { "use-blacklist", 0, NULL, 'b' },
+				   { "silent", 0, NULL, 'Q' },
 				   { NULL, 0, NULL, 0 } };
 
 #define MODPROBE_DEVFSD_CONF "/etc/modprobe.devfs"
@@ -1504,6 +1508,11 @@
 			unknown_silent = 1;
 			add_to_env_var("-q");
 			break;
+		case 'Q':
+			silent = 1;
+			unknown_silent = 1;
+			add_to_env_var("-Q");
+                        break;
 		case 'D':
 			dry_run = 1;
 			ignore_proc = 1;
