summaryrefslogtreecommitdiff
path: root/os/cerf1110/devcerf.c
diff options
context:
space:
mode:
authorKonstantin Kirik (snegovick) <snegovick@uprojects.org>2025-12-28 12:27:31 +0300
committerKonstantin Kirik (snegovick) <snegovick@uprojects.org>2025-12-28 12:27:31 +0300
commit78ee7d5717807e6ac779293d0d3c78341de6130a (patch)
treea43e3b0f61318ac45e6d907c7cc5bad2c6d7f497 /os/cerf1110/devcerf.c
parentbdaf46cf45bbb59261da245d548a179d95a42768 (diff)
Move existing boards into subdits split per arch
Diffstat (limited to 'os/cerf1110/devcerf.c')
-rw-r--r--os/cerf1110/devcerf.c128
1 files changed, 0 insertions, 128 deletions
diff --git a/os/cerf1110/devcerf.c b/os/cerf1110/devcerf.c
deleted file mode 100644
index 3c0fc999..00000000
--- a/os/cerf1110/devcerf.c
+++ /dev/null
@@ -1,128 +0,0 @@
-#include "u.h"
-#include "../port/lib.h"
-#include "mem.h"
-#include "dat.h"
-#include "fns.h"
-#include "../port/error.h"
-
-#include "io.h"
-
-
-enum{
- Qdir,
- Qled,
-};
-
-static
-Dirtab cerftab[]={
- ".", {Qdir, 0, QTDIR}, 0, 0555,
- "cerfled", {Qled, 0}, 0, 0660,
-};
-
-static void
-cerfinit(void) /* default in dev.c */
-{
- int s;
-
- s = splhi();
- GPIOREG->gpdr |= 0xF;
- GPIOREG->gpsr = 1<<0; /* we're here */
- splx(s);
-}
-
-static Chan*
-cerfattach(char* spec)
-{
- return devattach('T', spec);
-}
-
-static Walkqid*
-cerfwalk(Chan *c, Chan *nc, char **name, int nname)
-{
- return devwalk(c, nc, name, nname, cerftab, nelem(cerftab), devgen);
-}
-
-static int
-cerfstat(Chan* c, uchar *db, int n)
-{
- return devstat(c, db, n, cerftab, nelem(cerftab), devgen);
-}
-
-static Chan*
-cerfopen(Chan* c, int omode)
-{
- return devopen(c, omode, cerftab, nelem(cerftab), devgen);
-}
-
-static void
-cerfclose(Chan* c)
-{
- USED(c);
-}
-
-static long
-cerfread(Chan* c, void* a, long n, vlong offset)
-{
- char buf[16];
-
- switch((ulong)c->qid.path){
- case Qdir:
- return devdirread(c, a, n, cerftab, nelem(cerftab), devgen);
- case Qled:
- snprint(buf, sizeof(buf), "%2.2lux", GPIOREG->gplr&0xF);
- return readstr(offset, a, n, buf);
- default:
- n=0;
- break;
- }
- return n;
-}
-
-static long
-cerfwrite(Chan* c, void* a, long n, vlong)
-{
- char buf[16];
- ulong v;
-
- switch((ulong)c->qid.path){
- case Qled:
- if(n >= sizeof(buf))
- n = sizeof(buf)-1;
- memmove(buf, a, n);
- buf[n] = 0;
- v = GPIOREG->gplr & 0xF;
- if(buf[0] == '+')
- v |= strtoul(buf+1, nil, 0);
- else if(buf[0] == '-')
- v &= ~strtoul(buf+1, nil, 0);
- else
- v = strtoul(buf, nil, 0);
- GPIOREG->gpsr = v & 0xF;
- GPIOREG->gpcr = ~v & 0xF;
- break;
- default:
- error(Ebadusefd);
- }
- return n;
-}
-
-Dev cerfdevtab = {
- 'T',
- "cerf",
-
- devreset,
- cerfinit,
- devshutdown,
- cerfattach,
- cerfwalk,
- cerfstat,
- cerfopen,
- devcreate,
- cerfclose,
- cerfread,
- devbread,
- cerfwrite,
- devbwrite,
- devremove,
- devwstat,
-};