aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong Zhang <yong.zhang0@gmail.com>2011-09-22 04:58:46 -0400
committerRichard Weinberger <richard@nod.at>2012-03-24 19:29:52 -0400
commitc0b79a90b1556a7e51d7a49a655eb60306f6258d (patch)
treee6f8427119e3e4c4aada70cfb04c6c430dcc7f84
parentc16fa4f2ad19908a47c63d8fa436a1178438c7e7 (diff)
um: irq: Remove IRQF_DISABLED
Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r--arch/um/drivers/line.c8
-rw-r--r--arch/um/drivers/mconsole_kern.c2
-rw-r--r--arch/um/drivers/net_kern.c2
-rw-r--r--arch/um/drivers/port_kern.c4
-rw-r--r--arch/um/drivers/random.c2
-rw-r--r--arch/um/drivers/ubd_kern.c2
-rw-r--r--arch/um/drivers/xterm_kern.c2
-rw-r--r--arch/um/kernel/sigio.c2
-rw-r--r--arch/um/kernel/time.c2
9 files changed, 13 insertions, 13 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index c1cf2206b84b..ac9bcfbbeee1 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -347,8 +347,8 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
347 int err; 347 int err;
348 348
349 /* 349 /*
350 * Interrupts are disabled here because we registered the interrupt with 350 * Interrupts are disabled here because genirq keep irqs disabled when
351 * IRQF_DISABLED (see line_setup_irq). 351 * calling the action handler.
352 */ 352 */
353 353
354 spin_lock(&line->lock); 354 spin_lock(&line->lock);
@@ -371,7 +371,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
371int line_setup_irq(int fd, int input, int output, struct line *line, void *data) 371int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
372{ 372{
373 const struct line_driver *driver = line->driver; 373 const struct line_driver *driver = line->driver;
374 int err = 0, flags = IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM; 374 int err = 0, flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
375 375
376 if (input) 376 if (input)
377 err = um_request_irq(driver->read_irq, fd, IRQ_READ, 377 err = um_request_irq(driver->read_irq, fd, IRQ_READ,
@@ -807,7 +807,7 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty,
807 .stack = stack }); 807 .stack = stack });
808 808
809 if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt, 809 if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
810 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM, 810 IRQF_SHARED | IRQF_SAMPLE_RANDOM,
811 "winch", winch) < 0) { 811 "winch", winch) < 0) {
812 printk(KERN_ERR "register_winch_irq - failed to register " 812 printk(KERN_ERR "register_winch_irq - failed to register "
813 "IRQ\n"); 813 "IRQ\n");
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
index c70e047eed72..e672bd6d43e3 100644
--- a/arch/um/drivers/mconsole_kern.c
+++ b/arch/um/drivers/mconsole_kern.c
@@ -773,7 +773,7 @@ static int __init mconsole_init(void)
773 register_reboot_notifier(&reboot_notifier); 773 register_reboot_notifier(&reboot_notifier);
774 774
775 err = um_request_irq(MCONSOLE_IRQ, sock, IRQ_READ, mconsole_interrupt, 775 err = um_request_irq(MCONSOLE_IRQ, sock, IRQ_READ, mconsole_interrupt,
776 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM, 776 IRQF_SHARED | IRQF_SAMPLE_RANDOM,
777 "mconsole", (void *)sock); 777 "mconsole", (void *)sock);
778 if (err) { 778 if (err) {
779 printk(KERN_ERR "Failed to get IRQ for management console\n"); 779 printk(KERN_ERR "Failed to get IRQ for management console\n");
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index a492e59883a3..46ffd659be82 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -161,7 +161,7 @@ static int uml_net_open(struct net_device *dev)
161 } 161 }
162 162
163 err = um_request_irq(dev->irq, lp->fd, IRQ_READ, uml_net_interrupt, 163 err = um_request_irq(dev->irq, lp->fd, IRQ_READ, uml_net_interrupt,
164 IRQF_DISABLED | IRQF_SHARED, dev->name, dev); 164 IRQF_SHARED, dev->name, dev);
165 if (err != 0) { 165 if (err != 0) {
166 printk(KERN_ERR "uml_net_open: failed to get irq(%d)\n", err); 166 printk(KERN_ERR "uml_net_open: failed to get irq(%d)\n", err);
167 err = -ENETUNREACH; 167 err = -ENETUNREACH;
diff --git a/arch/um/drivers/port_kern.c b/arch/um/drivers/port_kern.c
index a11573be0961..e31680e662a4 100644
--- a/arch/um/drivers/port_kern.c
+++ b/arch/um/drivers/port_kern.c
@@ -100,7 +100,7 @@ static int port_accept(struct port_list *port)
100 .port = port }); 100 .port = port });
101 101
102 if (um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt, 102 if (um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
103 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM, 103 IRQF_SHARED | IRQF_SAMPLE_RANDOM,
104 "telnetd", conn)) { 104 "telnetd", conn)) {
105 printk(KERN_ERR "port_accept : failed to get IRQ for " 105 printk(KERN_ERR "port_accept : failed to get IRQ for "
106 "telnetd\n"); 106 "telnetd\n");
@@ -184,7 +184,7 @@ void *port_data(int port_num)
184 } 184 }
185 185
186 if (um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt, 186 if (um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
187 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM, 187 IRQF_SHARED | IRQF_SAMPLE_RANDOM,
188 "port", port)) { 188 "port", port)) {
189 printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num); 189 printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
190 goto out_close; 190 goto out_close;
diff --git a/arch/um/drivers/random.c b/arch/um/drivers/random.c
index 981085a93f30..b25296e6218a 100644
--- a/arch/um/drivers/random.c
+++ b/arch/um/drivers/random.c
@@ -131,7 +131,7 @@ static int __init rng_init (void)
131 random_fd = err; 131 random_fd = err;
132 132
133 err = um_request_irq(RANDOM_IRQ, random_fd, IRQ_READ, random_interrupt, 133 err = um_request_irq(RANDOM_IRQ, random_fd, IRQ_READ, random_interrupt,
134 IRQF_DISABLED | IRQF_SAMPLE_RANDOM, "random", 134 IRQF_SAMPLE_RANDOM, "random",
135 NULL); 135 NULL);
136 if (err) 136 if (err)
137 goto err_out_cleanup_hw; 137 goto err_out_cleanup_hw;
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 944453a3ec99..c884ebd07f86 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -1115,7 +1115,7 @@ static int __init ubd_driver_init(void){
1115 return 0; 1115 return 0;
1116 } 1116 }
1117 err = um_request_irq(UBD_IRQ, thread_fd, IRQ_READ, ubd_intr, 1117 err = um_request_irq(UBD_IRQ, thread_fd, IRQ_READ, ubd_intr,
1118 IRQF_DISABLED, "ubd", ubd_devs); 1118 0, "ubd", ubd_devs);
1119 if(err != 0) 1119 if(err != 0)
1120 printk(KERN_ERR "um_request_irq failed - errno = %d\n", -err); 1120 printk(KERN_ERR "um_request_irq failed - errno = %d\n", -err);
1121 return 0; 1121 return 0;
diff --git a/arch/um/drivers/xterm_kern.c b/arch/um/drivers/xterm_kern.c
index b646bccef37a..8bd130f0bda3 100644
--- a/arch/um/drivers/xterm_kern.c
+++ b/arch/um/drivers/xterm_kern.c
@@ -50,7 +50,7 @@ int xterm_fd(int socket, int *pid_out)
50 init_completion(&data->ready); 50 init_completion(&data->ready);
51 51
52 err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt, 52 err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt,
53 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM, 53 IRQF_SHARED | IRQF_SAMPLE_RANDOM,
54 "xterm", data); 54 "xterm", data);
55 if (err) { 55 if (err) {
56 printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, " 56 printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, "
diff --git a/arch/um/kernel/sigio.c b/arch/um/kernel/sigio.c
index 2b272b63b514..2a1639255763 100644
--- a/arch/um/kernel/sigio.c
+++ b/arch/um/kernel/sigio.c
@@ -25,7 +25,7 @@ int write_sigio_irq(int fd)
25 int err; 25 int err;
26 26
27 err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt, 27 err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
28 IRQF_DISABLED|IRQF_SAMPLE_RANDOM, "write sigio", 28 IRQF_SAMPLE_RANDOM, "write sigio",
29 NULL); 29 NULL);
30 if (err) { 30 if (err) {
31 printk(KERN_ERR "write_sigio_irq : um_request_irq failed, " 31 printk(KERN_ERR "write_sigio_irq : um_request_irq failed, "
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c
index 82a6e22f1f35..d1a23fb3190d 100644
--- a/arch/um/kernel/time.c
+++ b/arch/um/kernel/time.c
@@ -82,7 +82,7 @@ static void __init setup_itimer(void)
82{ 82{
83 int err; 83 int err;
84 84
85 err = request_irq(TIMER_IRQ, um_timer, IRQF_DISABLED, "timer", NULL); 85 err = request_irq(TIMER_IRQ, um_timer, 0, "timer", NULL);
86 if (err != 0) 86 if (err != 0)
87 printk(KERN_ERR "register_timer : request_irq failed - " 87 printk(KERN_ERR "register_timer : request_irq failed - "
88 "errno = %d\n", -err); 88 "errno = %d\n", -err);