um: remove IRQF_SAMPLE_RANDOM which is now a no-op
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>
This commit is contained in:
parent
71ba8d44da
commit
aab944606f
6 changed files with 12 additions and 19 deletions
|
@ -362,17 +362,17 @@ 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)
|
int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
|
||||||
{
|
{
|
||||||
const struct line_driver *driver = line->driver;
|
const struct line_driver *driver = line->driver;
|
||||||
int err = 0, flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
|
int err = 0;
|
||||||
|
|
||||||
if (input)
|
if (input)
|
||||||
err = um_request_irq(driver->read_irq, fd, IRQ_READ,
|
err = um_request_irq(driver->read_irq, fd, IRQ_READ,
|
||||||
line_interrupt, flags,
|
line_interrupt, IRQF_SHARED,
|
||||||
driver->read_irq_name, data);
|
driver->read_irq_name, data);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
if (output)
|
if (output)
|
||||||
err = um_request_irq(driver->write_irq, fd, IRQ_WRITE,
|
err = um_request_irq(driver->write_irq, fd, IRQ_WRITE,
|
||||||
line_write_interrupt, flags,
|
line_write_interrupt, IRQF_SHARED,
|
||||||
driver->write_irq_name, data);
|
driver->write_irq_name, data);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -779,8 +779,7 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty,
|
||||||
.stack = stack });
|
.stack = stack });
|
||||||
|
|
||||||
if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
|
if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
|
||||||
IRQF_SHARED | IRQF_SAMPLE_RANDOM,
|
IRQF_SHARED, "winch", winch) < 0) {
|
||||||
"winch", winch) < 0) {
|
|
||||||
printk(KERN_ERR "register_winch_irq - failed to register "
|
printk(KERN_ERR "register_winch_irq - failed to register "
|
||||||
"IRQ\n");
|
"IRQ\n");
|
||||||
goto out_free;
|
goto out_free;
|
||||||
|
|
|
@ -775,8 +775,7 @@ static int __init mconsole_init(void)
|
||||||
register_reboot_notifier(&reboot_notifier);
|
register_reboot_notifier(&reboot_notifier);
|
||||||
|
|
||||||
err = um_request_irq(MCONSOLE_IRQ, sock, IRQ_READ, mconsole_interrupt,
|
err = um_request_irq(MCONSOLE_IRQ, sock, IRQ_READ, mconsole_interrupt,
|
||||||
IRQF_SHARED | IRQF_SAMPLE_RANDOM,
|
IRQF_SHARED, "mconsole", (void *)sock);
|
||||||
"mconsole", (void *)sock);
|
|
||||||
if (err) {
|
if (err) {
|
||||||
printk(KERN_ERR "Failed to get IRQ for management console\n");
|
printk(KERN_ERR "Failed to get IRQ for management console\n");
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -100,8 +100,7 @@ static int port_accept(struct port_list *port)
|
||||||
.port = port });
|
.port = port });
|
||||||
|
|
||||||
if (um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
|
if (um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
|
||||||
IRQF_SHARED | IRQF_SAMPLE_RANDOM,
|
IRQF_SHARED, "telnetd", conn)) {
|
||||||
"telnetd", conn)) {
|
|
||||||
printk(KERN_ERR "port_accept : failed to get IRQ for "
|
printk(KERN_ERR "port_accept : failed to get IRQ for "
|
||||||
"telnetd\n");
|
"telnetd\n");
|
||||||
goto out_free;
|
goto out_free;
|
||||||
|
@ -184,8 +183,7 @@ void *port_data(int port_num)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
|
if (um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
|
||||||
IRQF_SHARED | IRQF_SAMPLE_RANDOM,
|
IRQF_SHARED, "port", port)) {
|
||||||
"port", port)) {
|
|
||||||
printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
|
printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
|
||||||
goto out_close;
|
goto out_close;
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,8 +131,7 @@ static int __init rng_init (void)
|
||||||
random_fd = err;
|
random_fd = err;
|
||||||
|
|
||||||
err = um_request_irq(RANDOM_IRQ, random_fd, IRQ_READ, random_interrupt,
|
err = um_request_irq(RANDOM_IRQ, random_fd, IRQ_READ, random_interrupt,
|
||||||
IRQF_SAMPLE_RANDOM, "random",
|
0, "random", NULL);
|
||||||
NULL);
|
|
||||||
if (err)
|
if (err)
|
||||||
goto err_out_cleanup_hw;
|
goto err_out_cleanup_hw;
|
||||||
|
|
||||||
|
|
|
@ -50,8 +50,7 @@ int xterm_fd(int socket, int *pid_out)
|
||||||
init_completion(&data->ready);
|
init_completion(&data->ready);
|
||||||
|
|
||||||
err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt,
|
err = um_request_irq(XTERM_IRQ, socket, IRQ_READ, xterm_interrupt,
|
||||||
IRQF_SHARED | IRQF_SAMPLE_RANDOM,
|
IRQF_SHARED, "xterm", data);
|
||||||
"xterm", data);
|
|
||||||
if (err) {
|
if (err) {
|
||||||
printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, "
|
printk(KERN_ERR "xterm_fd : failed to get IRQ for xterm, "
|
||||||
"err = %d\n", err);
|
"err = %d\n", err);
|
||||||
|
|
|
@ -25,8 +25,7 @@ int write_sigio_irq(int fd)
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
|
err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
|
||||||
IRQF_SAMPLE_RANDOM, "write sigio",
|
0, "write sigio", NULL);
|
||||||
NULL);
|
|
||||||
if (err) {
|
if (err) {
|
||||||
printk(KERN_ERR "write_sigio_irq : um_request_irq failed, "
|
printk(KERN_ERR "write_sigio_irq : um_request_irq failed, "
|
||||||
"err = %d\n", err);
|
"err = %d\n", err);
|
||||||
|
|
Loading…
Add table
Reference in a new issue