Subject: Re: CVS commit: src/sys
To: None <jmmv@NetBSD.org>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: source-changes
Date: 04/12/2006 17:02:59
Okay, I have a concern this.  As far as I can tell, the cookie is passed
to the driver, but I cannot see how the driver can make sense of it. 
The cookie that wsdisplay passes seems to be a struct wsscreen, which is
a private structure to wsdisplay(4) -- it is not declared in any
external headers.

So how is a display driver (e.g. machfb, or more to the point, my
radeonfb driver) supposed to use this member argument?  It doesn't look
like you
are using this from within any of the modified drivers (or at least the ones
I looked at, p9100, amidisplaycc, machfb, vga.)

The changes to wsdisplay(4) shed no light on this either.

Pass an opaque cookie is useless to the driver unless there is some way
for the driver to do something meaningful with it.

    -- Garrett

Julio M. Merino Vidal wrote:
> Module Name:	src
> Committed By:	jmmv
> Date:		Wed Apr 12 19:38:24 UTC 2006
>
> Modified Files:
> 	src/sys/arch/acorn26/vidc: arcvideo.c
> 	src/sys/arch/amiga/dev: amidisplaycc.c
> 	src/sys/arch/arm/iomd: vidcvideo.c
> 	src/sys/arch/arm/xscale: pxa2x0_lcd.c pxa2x0_lcd.h
> 	src/sys/arch/bebox/pci: pfb.c
> 	src/sys/arch/dreamcast/dev: pvr.c
> 	src/sys/arch/evbarm/g42xxeb: g42xxeb_lcd.c
> 	src/sys/arch/evbarm/lubbock: lubbock_lcd.c
> 	src/sys/arch/ews4800mips/sbd: fb_sbdio.c
> 	src/sys/arch/i386/bios: vesafb.c
> 	src/sys/arch/luna68k/dev: lunafb.c
> 	src/sys/arch/mac68k/dev: macfb.c
> 	src/sys/arch/macppc/dev: ofb.c
> 	src/sys/arch/newsmips/apbus: xafb.c
> 	src/sys/arch/newsmips/dev: fb.c
> 	src/sys/arch/next68k/dev: nextdisplay.c
> 	src/sys/arch/playstation2/ee: gsfb.c
> 	src/sys/arch/pmax/ibus: pm.c
> 	src/sys/arch/prep/pci: gten.c
> 	src/sys/arch/sgimips/gio: grtwo.c newport.c
> 	src/sys/arch/sparc64/dev: ffb.c
> 	src/sys/arch/vax/vsa: lcspx.c smg.c
> 	src/sys/dev/hpc: hpcfb.c
> 	src/sys/dev/ic: hd44780_subr.c igsfb.c sti.c vga.c vga_raster.c
> 	src/sys/dev/isa: ega.c pcdisplay.c
> 	src/sys/dev/pci: machfb.c tga.c voodoofb.c
> 	src/sys/dev/sbus: p9100.c
> 	src/sys/dev/sun: cgsix.c
> 	src/sys/dev/tc: cfb.c mfb.c sfb.c sfbplus.c stic.c tfb.c xcfb.c
> 	src/sys/dev/wscons: wsdisplay.c wsdisplayvar.h
>
> Log Message:
> Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
> to the screen on which they are being called.  The driver cannot guess
> this by itself but it is needed to implement, at least, the getwschar and
> putwschar functions in the correct place.  There are no functional changes
> yet.
>
> Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
> Suggested and reviewed by macallan@.
>
>
> To generate a diff of this commit:
> cvs rdiff -r1.9 -r1.10 src/sys/arch/acorn26/vidc/arcvideo.c
> cvs rdiff -r1.18 -r1.19 src/sys/arch/amiga/dev/amidisplaycc.c
> cvs rdiff -r1.21 -r1.22 src/sys/arch/arm/iomd/vidcvideo.c
> cvs rdiff -r1.12 -r1.13 src/sys/arch/arm/xscale/pxa2x0_lcd.c
> cvs rdiff -r1.3 -r1.4 src/sys/arch/arm/xscale/pxa2x0_lcd.h
> cvs rdiff -r1.13 -r1.14 src/sys/arch/bebox/pci/pfb.c
> cvs rdiff -r1.21 -r1.22 src/sys/arch/dreamcast/dev/pvr.c
> cvs rdiff -r1.4 -r1.5 src/sys/arch/evbarm/g42xxeb/g42xxeb_lcd.c
> cvs rdiff -r1.3 -r1.4 src/sys/arch/evbarm/lubbock/lubbock_lcd.c
> cvs rdiff -r1.1 -r1.2 src/sys/arch/ews4800mips/sbd/fb_sbdio.c
> cvs rdiff -r1.12 -r1.13 src/sys/arch/i386/bios/vesafb.c
> cvs rdiff -r1.13 -r1.14 src/sys/arch/luna68k/dev/lunafb.c
> cvs rdiff -r1.13 -r1.14 src/sys/arch/mac68k/dev/macfb.c
> cvs rdiff -r1.47 -r1.48 src/sys/arch/macppc/dev/ofb.c
> cvs rdiff -r1.12 -r1.13 src/sys/arch/newsmips/apbus/xafb.c
> cvs rdiff -r1.21 -r1.22 src/sys/arch/newsmips/dev/fb.c
> cvs rdiff -r1.18 -r1.19 src/sys/arch/next68k/dev/nextdisplay.c
> cvs rdiff -r1.15 -r1.16 src/sys/arch/playstation2/ee/gsfb.c
> cvs rdiff -r1.3 -r1.4 src/sys/arch/pmax/ibus/pm.c
> cvs rdiff -r1.12 -r1.13 src/sys/arch/prep/pci/gten.c
> cvs rdiff -r1.6 -r1.7 src/sys/arch/sgimips/gio/grtwo.c \
>     src/sys/arch/sgimips/gio/newport.c
> cvs rdiff -r1.23 -r1.24 src/sys/arch/sparc64/dev/ffb.c
> cvs rdiff -r1.4 -r1.5 src/sys/arch/vax/vsa/lcspx.c
> cvs rdiff -r1.40 -r1.41 src/sys/arch/vax/vsa/smg.c
> cvs rdiff -r1.35 -r1.36 src/sys/dev/hpc/hpcfb.c
> cvs rdiff -r1.8 -r1.9 src/sys/dev/ic/hd44780_subr.c
> cvs rdiff -r1.37 -r1.38 src/sys/dev/ic/igsfb.c
> cvs rdiff -r1.5 -r1.6 src/sys/dev/ic/sti.c
> cvs rdiff -r1.85 -r1.86 src/sys/dev/ic/vga.c
> cvs rdiff -r1.20 -r1.21 src/sys/dev/ic/vga_raster.c
> cvs rdiff -r1.19 -r1.20 src/sys/dev/isa/ega.c
> cvs rdiff -r1.28 -r1.29 src/sys/dev/isa/pcdisplay.c
> cvs rdiff -r1.39 -r1.40 src/sys/dev/pci/machfb.c
> cvs rdiff -r1.61 -r1.62 src/sys/dev/pci/tga.c
> cvs rdiff -r1.1 -r1.2 src/sys/dev/pci/voodoofb.c
> cvs rdiff -r1.30 -r1.31 src/sys/dev/sbus/p9100.c
> cvs rdiff -r1.29 -r1.30 src/sys/dev/sun/cgsix.c
> cvs rdiff -r1.49 -r1.50 src/sys/dev/tc/cfb.c src/sys/dev/tc/tfb.c
> cvs rdiff -r1.46 -r1.47 src/sys/dev/tc/mfb.c
> cvs rdiff -r1.70 -r1.71 src/sys/dev/tc/sfb.c
> cvs rdiff -r1.25 -r1.26 src/sys/dev/tc/sfbplus.c
> cvs rdiff -r1.31 -r1.32 src/sys/dev/tc/stic.c
> cvs rdiff -r1.41 -r1.42 src/sys/dev/tc/xcfb.c
> cvs rdiff -r1.93 -r1.94 src/sys/dev/wscons/wsdisplay.c
> cvs rdiff -r1.37 -r1.38 src/sys/dev/wscons/wsdisplayvar.h
>
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
>   


-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191