summaryrefslogtreecommitdiffstats
path: root/sys/pccard/pccard.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/pccard/pccard.c')
-rw-r--r--sys/pccard/pccard.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/sys/pccard/pccard.c b/sys/pccard/pccard.c
index 630fc79..cf6f62d 100644
--- a/sys/pccard/pccard.c
+++ b/sys/pccard/pccard.c
@@ -56,7 +56,6 @@
#include <pccard/driver.h>
#include <pccard/slot.h>
-#include <machine/clock.h>
#include <machine/md_var.h>
/*
@@ -649,16 +648,6 @@ inserted(void *arg)
}
/*
- * Insert/Remove beep
- */
-static int beepok = 0;
-
-static void enable_beep(void *dummy)
-{
- beepok = 1;
-}
-
-/*
* Card event callback. Called at splhigh to prevent
* device interrupts from interceding.
*/
@@ -682,20 +671,14 @@ pccard_event(struct slot *slt, enum card_event event)
slt->state = empty;
splx(s);
printf("Card removed, slot %d\n", slt->slotnum);
- if (beepok)
- sysbeep(PCCARD_BEEP_PITCH0, PCCARD_BEEP_DURATION0);
- beepok = 0;
- timeout(enable_beep, (void *)NULL, hz/5);
+ pccard_remove_beep();
selwakeup(&slt->selp);
}
break;
case card_inserted:
slt->insert_seq = 1;
slt->insert_ch = timeout(inserted, (void *)slt, hz/4);
- if (beepok)
- sysbeep(PCCARD_BEEP_PITCH0, PCCARD_BEEP_DURATION0);
- beepok = 0;
- timeout(enable_beep, (void *)NULL, hz/5);
+ pccard_remove_beep();
break;
}
}
@@ -868,7 +851,7 @@ crdioctl(dev_t dev, int cmd, caddr_t data, int fflag, struct proc *p)
int s, err;
/* beep is disabled until the 1st call of crdioctl() */
- enable_beep(NULL);
+ pccard_beep_select(BEEP_ON);
if (slt == 0 && cmd != PIOCRWMEM)
return(ENXIO);
@@ -989,9 +972,9 @@ crdioctl(dev_t dev, int cmd, caddr_t data, int fflag, struct proc *p)
return(EPERM);
err = allocate_driver(slt, (struct dev_desc *)data);
if (!err)
- sysbeep(PCCARD_BEEP_PITCH1, PCCARD_BEEP_DURATION1);
+ pccard_success_beep();
else
- sysbeep(PCCARD_BEEP_PITCH2, PCCARD_BEEP_DURATION2);
+ pccard_failure_beep();
return err;
}
return(0);
OpenPOWER on IntegriCloud