Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Nov 2013 23:36:42 +0000 (UTC)
From:      Aleksandr Rybalko <ray@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r258491 - user/ed/newcons/sys/dev/fb
Message-ID:  <201311222336.rAMNagnU022416@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ray
Date: Fri Nov 22 23:36:41 2013
New Revision: 258491
URL: http://svnweb.freebsd.org/changeset/base/258491

Log:
  Implement minimum ioctls set for framebuffer device.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  user/ed/newcons/sys/dev/fb/fbd.c

Modified: user/ed/newcons/sys/dev/fb/fbd.c
==============================================================================
--- user/ed/newcons/sys/dev/fb/fbd.c	Fri Nov 22 22:12:11 2013	(r258490)
+++ user/ed/newcons/sys/dev/fb/fbd.c	Fri Nov 22 23:36:41 2013	(r258491)
@@ -109,8 +109,39 @@ static int
 fb_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag,
     struct thread *td)
 {
+	struct fb_info *info;
+	int error;
 
-	return (0);
+	error = 0;
+	info = dev->si_drv1;
+
+	switch (cmd) {
+	case FBIOGTYPE:
+		bcopy(info, (struct fbtype *)data, sizeof(struct fbtype));
+		break;
+
+	case FBIO_GETWINORG:	/* get frame buffer window origin */
+		*(u_int *)data = 0;
+		break;
+
+	case FBIO_GETDISPSTART:	/* get display start address */
+		((video_display_start_t *)data)->x = 0;
+		((video_display_start_t *)data)->y = 0;
+		break;
+
+	case FBIO_GETLINEWIDTH:	/* get scan line width in bytes */
+		*(u_int *)data = info->fb_stride;
+		break;
+
+	case FBIO_BLANK:	/* blank display */
+		error = 0;	/* TODO */
+		break;
+
+	default:
+		error = ENOIOCTL;
+		break;
+	}
+	return (error);
 }
 
 static int



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311222336.rAMNagnU022416>