diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2010-06-06 13:20:47 +0000 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2010-06-06 13:20:47 +0000 |
commit | 9c43b2ce17cbc1f88b825ab8a5021575cee46dd7 (patch) | |
tree | 8d96e95861b3b0df1a7efa6b660395c317ecb475 /firmware/target/arm/s3c2440 | |
parent | 4a2cab6aa1008a4f5ac05dac44c99b7f1a05e8f4 (diff) | |
download | rockbox-9c43b2ce17cbc1f88b825ab8a5021575cee46dd7.tar.gz rockbox-9c43b2ce17cbc1f88b825ab8a5021575cee46dd7.zip |
Remove card_enable_monitoring() and use a mutex instead. The card_enable_monitoring() method actually didn't eliminate the possible race conditions it was meant to fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26627 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/s3c2440')
-rw-r--r-- | firmware/target/arm/s3c2440/sd-s3c2440.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/firmware/target/arm/s3c2440/sd-s3c2440.c b/firmware/target/arm/s3c2440/sd-s3c2440.c index 33b995213e..f4c8a4f599 100644 --- a/firmware/target/arm/s3c2440/sd-s3c2440.c +++ b/firmware/target/arm/s3c2440/sd-s3c2440.c | |||
@@ -270,6 +270,11 @@ static void init_sdi_controller(const int card_no) | |||
270 | 270 | ||
271 | /* Card Detect input */ | 271 | /* Card Detect input */ |
272 | S3C2440_GPIO_CONFIG (GPGCON, 8, GPIO_INPUT); | 272 | S3C2440_GPIO_CONFIG (GPGCON, 8, GPIO_INPUT); |
273 | /* enable external irq 8-23 on the internal interrupt controller */ | ||
274 | INTMSK &= ~1<<5; | ||
275 | /* enable GPG8 IRQ on the external interrupt controller */ | ||
276 | EINTMASK &= ~(1<<16); | ||
277 | |||
273 | 278 | ||
274 | /* Write Protect input */ | 279 | /* Write Protect input */ |
275 | S3C2440_GPIO_CONFIG (GPHCON, 8, GPIO_INPUT); | 280 | S3C2440_GPIO_CONFIG (GPHCON, 8, GPIO_INPUT); |
@@ -523,22 +528,6 @@ static int sd1_oneshot_callback(struct timeout *tmo) | |||
523 | return 0; | 528 | return 0; |
524 | } | 529 | } |
525 | 530 | ||
526 | void card_enable_monitoring_target(bool on) | ||
527 | { | ||
528 | if (on) | ||
529 | { /* enable external irq 8-23 on the internal interrupt controller */ | ||
530 | INTMSK &= ~1<<5; | ||
531 | /* enable GPG8 IRQ on the external interrupt controller */ | ||
532 | EINTMASK &= ~(1<<16); | ||
533 | } | ||
534 | else | ||
535 | { | ||
536 | /* mask internal and external IRQs */ | ||
537 | INTMSK |= 1<<5; | ||
538 | EINTMASK |= (1<<16); | ||
539 | } | ||
540 | } | ||
541 | |||
542 | void EINT8_23(void) | 531 | void EINT8_23(void) |
543 | { | 532 | { |
544 | static struct timeout sd1_oneshot; | 533 | static struct timeout sd1_oneshot; |