summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/sd-s3c2440.c
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2010-06-06 13:20:47 +0000
committerFrank Gevaerts <frank@gevaerts.be>2010-06-06 13:20:47 +0000
commit9c43b2ce17cbc1f88b825ab8a5021575cee46dd7 (patch)
tree8d96e95861b3b0df1a7efa6b660395c317ecb475 /firmware/target/arm/s3c2440/sd-s3c2440.c
parent4a2cab6aa1008a4f5ac05dac44c99b7f1a05e8f4 (diff)
downloadrockbox-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/sd-s3c2440.c')
-rw-r--r--firmware/target/arm/s3c2440/sd-s3c2440.c21
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
526void 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
542void EINT8_23(void) 531void EINT8_23(void)
543{ 532{
544 static struct timeout sd1_oneshot; 533 static struct timeout sd1_oneshot;