diff options
Diffstat (limited to 'drivers/char/random.c')
| -rw-r--r-- | drivers/char/random.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/drivers/char/random.c b/drivers/char/random.c index 675076f5fca8..d26891bfcd41 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
| @@ -558,23 +558,9 @@ struct timer_rand_state { | |||
| 558 | unsigned dont_count_entropy:1; | 558 | unsigned dont_count_entropy:1; |
| 559 | }; | 559 | }; |
| 560 | 560 | ||
| 561 | static struct timer_rand_state *irq_timer_state[NR_IRQS]; | 561 | #ifndef CONFIG_SPARSE_IRQ |
| 562 | 562 | struct timer_rand_state *irq_timer_state[NR_IRQS]; | |
| 563 | static struct timer_rand_state *get_timer_rand_state(unsigned int irq) | 563 | #endif |
| 564 | { | ||
| 565 | if (irq >= nr_irqs) | ||
| 566 | return NULL; | ||
| 567 | |||
| 568 | return irq_timer_state[irq]; | ||
| 569 | } | ||
| 570 | |||
| 571 | static void set_timer_rand_state(unsigned int irq, struct timer_rand_state *state) | ||
| 572 | { | ||
| 573 | if (irq >= nr_irqs) | ||
| 574 | return; | ||
| 575 | |||
| 576 | irq_timer_state[irq] = state; | ||
| 577 | } | ||
| 578 | 564 | ||
| 579 | static struct timer_rand_state input_timer_state; | 565 | static struct timer_rand_state input_timer_state; |
| 580 | 566 | ||
| @@ -933,8 +919,10 @@ void rand_initialize_irq(int irq) | |||
| 933 | { | 919 | { |
| 934 | struct timer_rand_state *state; | 920 | struct timer_rand_state *state; |
| 935 | 921 | ||
| 922 | #ifndef CONFIG_SPARSE_IRQ | ||
| 936 | if (irq >= nr_irqs) | 923 | if (irq >= nr_irqs) |
| 937 | return; | 924 | return; |
| 925 | #endif | ||
| 938 | 926 | ||
| 939 | state = get_timer_rand_state(irq); | 927 | state = get_timer_rand_state(irq); |
| 940 | 928 | ||
