um: remove IRQF_SAMPLE_RANDOM which is now a no-op
authorTheodore Ts'o <tytso@mit.edu>
Tue, 17 Jul 2012 18:18:23 +0000 (14:18 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 19 Jul 2012 14:40:42 +0000 (10:40 -0400)
With the changes in the random tree, IRQF_SAMPLE_RANDOM is now a
no-op; interrupt randomness is now collected unconditionally in a very
low-overhead fashion; see commit 775f4b297b.  The IRQF_SAMPLE_RANDOM
flag was scheduled to be removed in 2009 on the
feature-removal-schedule, so this patch is preparation for the final
removal of this flag.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
arch/um/drivers/line.c
arch/um/drivers/mconsole_kern.c
arch/um/drivers/port_kern.c
arch/um/drivers/random.c
arch/um/drivers/xterm_kern.c
arch/um/kernel/sigio.c

index acfd0e0..ac9d25c 100644 (file)
@@ -362,18 +362,18 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
 int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
 {
        const struct line_driver *driver = line->driver;
-       int err = 0, flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
+       int err = 0;
 
        if (input)
                err = um_request_irq(driver->read_irq, fd, IRQ_READ,
-                                      line_interrupt, flags,
-                                      driver->read_irq_name, data);
+                                    line_interrupt, IRQF_SHARED,
+                                    driver->read_irq_name, data);
        if (err)
                return err;
        if (output)
                err = um_request_irq(driver->write_irq, fd, IRQ_WRITE,
-                                       line_write_interrupt, flags,
-                                       driver->write_irq_name, data);
+                                    line_write_interrupt, IRQF_SHARED,
+                                    driver->write_irq_name, data);
        return err;
 }
 
@@ -779,8 +779,7 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty,
                                   .stack       = stack });
 
        if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
-                          IRQF_SHARED | IRQF_SAMPLE_RANDOM,
-                          "winch", winch) < 0) {
+                          IRQF_SHARED, "winch", winch) < 0) {
                printk(KERN_ERR "register_winch_irq - failed to register "
                       "IRQ\n");
                goto out_free;
index 88e466b..e1c5197 100644 (file)
@@ -775,8 +775,7 @@ static int __init mconsole_init(void)
        register_reboot_notifier(&reboot_notifier);
 
        err = um_request_irq(MCONSOLE_IRQ, sock, IRQ_READ, mconsole_interrupt,
-                            IRQF_SHARED | IRQF_SAMPLE_RANDOM,
-                            "mconsole", (void *)sock);
+                            IRQF_SHARED, "mconsole", (void *)sock);
        if (err) {
                printk(KERN_ERR "Failed to get IRQ for management console\n");
                goto out;
index 11866ff..1d83d50 100644 (file)
@@ -100,8 +100,7 @@ static int port_accept(struct port_list *port)
                  .port         = port });
 
        if (um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
-                         IRQF_SHARED | IRQF_SAMPLE_RANDOM,
-                         "telnetd", conn)) {
+                         IRQF_SHARED, "telnetd", conn)) {
                printk(KERN_ERR "port_accept : failed to get IRQ for "
                       "telnetd\n");
                goto out_free;
@@ -184,8 +183,7 @@ void *port_data(int port_num)
        }
 
        if (um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
-                         IRQF_SHARED | IRQF_SAMPLE_RANDOM,
-                         "port", port)) {
+                         IRQF_SHARED, "port", port)) {
                printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
                goto out_close;
        }
index b25296e..e32c6aa 100644 (file)
@@ -131,8 +131,7 @@ static int __init rng_init (void)
        random_fd = err;
 
        err = um_request_irq(RANDOM_IRQ, random_fd, IRQ_READ, random_interrupt,
-                            IRQF_SAMPLE_RANDOM, "random",
-                            NULL);
+                            0, "random", NULL);
        if (err)
                goto err_out_cleanup_hw;
 
index b68bbe2..e3031e6 100644 (file)
@@ -50,8 +50,7 @@ int xterm_fd(int socket, int *pid_out)
        init_completion(&data->ready);
 
        err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt,
-                            IRQF_SHARED | IRQF_SAMPLE_RANDOM,
-                            "xterm", data);
+                            IRQF_SHARED, "xterm", data);
        if (err) {
                printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, "
                       "err = %d\n",  err);
index 2a16392..c882111 100644 (file)
@@ -25,8 +25,7 @@ int write_sigio_irq(int fd)
        int err;
 
        err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
-                            IRQF_SAMPLE_RANDOM, "write sigio",
-                            NULL);
+                            0, "write sigio", NULL);
        if (err) {
                printk(KERN_ERR "write_sigio_irq : um_request_irq failed, "
                       "err = %d\n", err);