Module Name: src Committed By: macallan Date: Fri Sep 5 21:15:42 UTC 2014
Modified Files: src/sys/arch/arm/broadcom: bcm2835_genfb.c Log Message: allow board-specific ioctl() handlers To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/broadcom/bcm2835_genfb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/broadcom/bcm2835_genfb.c diff -u src/sys/arch/arm/broadcom/bcm2835_genfb.c:1.6 src/sys/arch/arm/broadcom/bcm2835_genfb.c:1.7 --- src/sys/arch/arm/broadcom/bcm2835_genfb.c:1.6 Thu Jul 24 21:35:12 2014 +++ src/sys/arch/arm/broadcom/bcm2835_genfb.c Fri Sep 5 21:15:42 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm2835_genfb.c,v 1.6 2014/07/24 21:35:12 riastradh Exp $ */ +/* $NetBSD: bcm2835_genfb.c,v 1.7 2014/09/05 21:15:42 macallan Exp $ */ /*- * Copyright (c) 2013 Jared D. McNeill <jmcne...@invisible.ca> @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bcm2835_genfb.c,v 1.6 2014/07/24 21:35:12 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bcm2835_genfb.c,v 1.7 2014/09/05 21:15:42 macallan Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -61,9 +61,11 @@ static paddr_t bcmgenfb_mmap(void *, voi static bool bcmgenfb_shutdown(device_t, int); void bcmgenfb_set_console_dev(device_t); +void bcmgenfb_set_ioctl(int(*)(void *, void *, u_long, void *, int, struct lwp *)); void bcmgenfb_ddb_trap_callback(int); static device_t bcmgenfb_console_dev = NULL; +int (*bcmgenfb_ioctl_handler)(void *, void *, u_long, void *, int, struct lwp *) = NULL; CFATTACH_DECL_NEW(bcmgenfb, sizeof(struct bcmgenfb_softc), bcmgenfb_match, bcmgenfb_attach, NULL, NULL); @@ -152,6 +154,8 @@ bcmgenfb_ioctl(void *v, void *vs, u_long return ret; } default: + if (bcmgenfb_ioctl_handler != NULL) + return bcmgenfb_ioctl_handler(v, vs, cmd, data, flag, l); return EPASSTHROUGH; } } @@ -182,6 +186,12 @@ bcmgenfb_set_console_dev(device_t dev) } void +bcmgenfb_set_ioctl(int(*boo)(void *, void *, u_long, void *, int, struct lwp *)) +{ + bcmgenfb_ioctl_handler = boo; +} + +void bcmgenfb_ddb_trap_callback(int where) { if (bcmgenfb_console_dev == NULL)