summaryrefslogtreecommitdiff
path: root/sys/src/9/zynq/devarch.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-06-09 09:17:55 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-06-09 09:17:55 +0200
commit90b4fe9cf65bb24b55472ce2e32a7dbc3c5e7f97 (patch)
treea7c02e9355ee981d4d68796402501ec8dcc45e54 /sys/src/9/zynq/devarch.c
parentcda46731d8166e5b113a8acdf90479a03bb6a3a8 (diff)
zynq: add /dev/fbctl to attach framebuffer to devdraw
Diffstat (limited to 'sys/src/9/zynq/devarch.c')
-rw-r--r--sys/src/9/zynq/devarch.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/src/9/zynq/devarch.c b/sys/src/9/zynq/devarch.c
index 6b45af2ce..c5c4ea0b9 100644
--- a/sys/src/9/zynq/devarch.c
+++ b/sys/src/9/zynq/devarch.c
@@ -11,6 +11,7 @@ enum {
Qdir = 0,
Qtemp,
Qpl,
+ Qfbctl,
Qbase,
Qmax = 16,
@@ -20,6 +21,7 @@ static Dirtab archdir[Qmax] = {
".", { Qdir, 0, QTDIR }, 0, 0555,
"temp", { Qtemp, 0}, 0, 0440,
"pl", { Qpl, 0 }, 0, 0660,
+ "fbctl", { Qfbctl, 0 }, 0, 0660,
};
static int narchdir = Qbase;
@@ -291,6 +293,8 @@ archread(Chan *c, void *a, long n, vlong offset)
qunlock(&plrlock);
poperror();
return 0;
+ case Qfbctl:
+ return fbctlread(c, a, n, offset);
default:
error(Egreg);
return -1;
@@ -298,11 +302,13 @@ archread(Chan *c, void *a, long n, vlong offset)
}
static long
-archwrite(Chan *c, void *a, long n, vlong)
+archwrite(Chan *c, void *a, long n, vlong offset)
{
switch((ulong)c->qid.path){
case Qpl:
return plcopy(a, n);
+ case Qfbctl:
+ return fbctlwrite(c, a, n, offset);
default:
error(Egreg);
return -1;