projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
irqs: make irq_timer_state to use dyn_array
[deliverable/linux.git]
/
drivers
/
char
/
random.c
diff --git
a/drivers/char/random.c
b/drivers/char/random.c
index 7ce1ac4baa6d81feccad163cb9c476edfb7278c9..1610aa64c7cf71f26f0eda5f508720b00eec92c4 100644
(file)
--- a/
drivers/char/random.c
+++ b/
drivers/char/random.c
@@
-559,7
+559,13
@@
struct timer_rand_state {
};
static struct timer_rand_state input_timer_state;
};
static struct timer_rand_state input_timer_state;
+
+#ifdef CONFIG_HAVE_DYN_ARRAY
+static struct timer_rand_state **irq_timer_state;
+DEFINE_DYN_ARRAY(irq_timer_state, sizeof(struct timer_rand_state *), nr_irqs, PAGE_SIZE, NULL);
+#else
static struct timer_rand_state *irq_timer_state[NR_IRQS];
static struct timer_rand_state *irq_timer_state[NR_IRQS];
+#endif
/*
* This function adds entropy to the entropy "pool" by using timing
/*
* This function adds entropy to the entropy "pool" by using timing
@@
-648,7
+654,7
@@
EXPORT_SYMBOL_GPL(add_input_randomness);
void add_interrupt_randomness(int irq)
{
void add_interrupt_randomness(int irq)
{
- if (irq >=
NR_IRQS
|| irq_timer_state[irq] == NULL)
+ if (irq >=
nr_irqs
|| irq_timer_state[irq] == NULL)
return;
DEBUG_ENT("irq event %d\n", irq);
return;
DEBUG_ENT("irq event %d\n", irq);
@@
-661,10
+667,10
@@
void add_disk_randomness(struct gendisk *disk)
if (!disk || !disk->random)
return;
/* first major is 1, so we get >= 0x200 here */
if (!disk || !disk->random)
return;
/* first major is 1, so we get >= 0x200 here */
- DEBUG_ENT("disk event %d:%d\n", disk->major, disk->first_minor);
+ DEBUG_ENT("disk event %d:%d\n",
+ MAJOR(disk_devt(disk)), MINOR(disk_devt(disk)));
- add_timer_randomness(disk->random,
- 0x100 + MKDEV(disk->major, disk->first_minor));
+ add_timer_randomness(disk->random, 0x100 + disk_devt(disk));
}
#endif
}
#endif
@@
-912,7
+918,7
@@
void rand_initialize_irq(int irq)
{
struct timer_rand_state *state;
{
struct timer_rand_state *state;
- if (irq >=
NR_IRQS
|| irq_timer_state[irq])
+ if (irq >=
nr_irqs
|| irq_timer_state[irq])
return;
/*
return;
/*
This page took
0.031678 seconds
and
5
git commands to generate.