Module Name: src Committed By: mlelstv Date: Sat Dec 25 13:51:32 UTC 2021
Modified Files: src/sys/dev/videomode: edid.c vesagtf.c Log Message: Make re-usuable to userland. The vesagtf standalone build is #if'd out for now. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/dev/videomode/edid.c cvs rdiff -u -r1.3 -r1.4 src/sys/dev/videomode/vesagtf.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/dev/videomode/edid.c diff -u src/sys/dev/videomode/edid.c:1.15 src/sys/dev/videomode/edid.c:1.16 --- src/sys/dev/videomode/edid.c:1.15 Sat Jan 25 15:59:11 2020 +++ src/sys/dev/videomode/edid.c Sat Dec 25 13:51:31 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: edid.c,v 1.15 2020/01/25 15:59:11 maxv Exp $ */ +/* $NetBSD: edid.c,v 1.16 2021/12/25 13:51:31 mlelstv Exp $ */ /*- * Copyright (c) 2006 Itronix Inc. @@ -32,13 +32,22 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: edid.c,v 1.15 2020/01/25 15:59:11 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: edid.c,v 1.16 2021/12/25 13:51:31 mlelstv Exp $"); +#ifdef _KERNEL #include <sys/param.h> #include <sys/systm.h> #include <sys/device.h> #include <sys/kernel.h> #include <sys/malloc.h> +#else +#include <stdlib.h> +#include <inttypes.h> +#include <string.h> +#include <errno.h> +#include <stdio.h> +#endif + #include <dev/videomode/videomode.h> #include <dev/videomode/ediddevs.h> #include <dev/videomode/edidreg.h> @@ -132,7 +141,7 @@ edid_is_valid(uint8_t *d) { int sum = 0, i; uint8_t sig[8] = EDID_SIGNATURE; - + if (memcmp(d, sig, 8) != 0) return EINVAL; @@ -430,7 +439,7 @@ static void bump_preferred_mode(struct e */ if (edid->edid_preferred_mode == NULL) { edid->edid_preferred_mode = m; - } else if ((strncmp(edid->edid_vendor, "IVM", 3) == 0) && + } else if ((strncmp((char*)edid->edid_vendor, "IVM", 3) == 0) && (edid->edid_product == 0x4800) && (edid->edid_preferred_mode->dot_clock < m->dot_clock)) edid->edid_preferred_mode = m; @@ -546,14 +555,14 @@ edid_parse(uint8_t *data, struct edid_in edid->edid_product = data[EDID_OFFSET_PRODUCT_ID] + (data[EDID_OFFSET_PRODUCT_ID + 1] << 8); - name = edid_findvendor(edid->edid_vendor); + name = edid_findvendor((char *)edid->edid_vendor); if (name != NULL) strlcpy(edid->edid_vendorname, name, sizeof(edid->edid_vendorname)); else edid->edid_vendorname[0] = '\0'; - name = edid_findproduct(edid->edid_vendor, edid->edid_product); + name = edid_findproduct((char *)edid->edid_vendor, edid->edid_product); if (name != NULL) strlcpy(edid->edid_productname, name, sizeof(edid->edid_productname)); @@ -647,8 +656,10 @@ edid_parse(uint8_t *data, struct edid_in if (edid->edid_modes[i].dot_clock > max_dotclock) max_dotclock = edid->edid_modes[i].dot_clock; +#ifdef _KERNEL aprint_debug("max_dotclock according to supported modes: %d\n", max_dotclock); +#endif mhz = (max_dotclock + 999) / 1000; Index: src/sys/dev/videomode/vesagtf.c diff -u src/sys/dev/videomode/vesagtf.c:1.3 src/sys/dev/videomode/vesagtf.c:1.4 --- src/sys/dev/videomode/vesagtf.c:1.3 Fri Mar 21 22:00:00 2014 +++ src/sys/dev/videomode/vesagtf.c Sat Dec 25 13:51:31 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: vesagtf.c,v 1.3 2014/03/21 22:00:00 dholland Exp $ */ +/* $NetBSD: vesagtf.c,v 1.4 2021/12/25 13:51:31 mlelstv Exp $ */ /*- * Copyright (c) 2006 Itronix Inc. @@ -153,21 +153,17 @@ #ifdef _KERNEL #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vesagtf.c,v 1.3 2014/03/21 22:00:00 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vesagtf.c,v 1.4 2021/12/25 13:51:31 mlelstv Exp $"); #include <sys/types.h> #include <sys/param.h> #include <sys/systm.h> -#include <dev/videomode/videomode.h> -#include <dev/videomode/vesagtf.h> #else #include <stdio.h> #include <stdlib.h> -#include <sys/types.h> -#include "videomode.h" -#include "vesagtf.h" - -void print_xf86_mode(struct videomode *m); +#include <inttypes.h> #endif +#include <dev/videomode/videomode.h> +#include <dev/videomode/vesagtf.h> #define CELL_GRAN 8 /* assumed character cell granularity */ @@ -660,6 +656,7 @@ vesagtf_mode(unsigned x, unsigned y, uns /* print_xf86_mode() - print the XFree86 modeline, given mode timings. */ +#if 0 #ifndef _KERNEL void print_xf86_mode (struct videomode *vmp) @@ -700,3 +697,4 @@ main (int argc, char *argv[]) } #endif +#endif