Eric Anholt wrote:

>>Log message:
>>  Include protection against ioctl() definition only in the __FreeBSD__ and
>>  XFree86Server case.  These two drm.h's probably should be shared.
>>
> 
> With this commit radeon, r128, and mga are all working on FreeBSD and
> Linux.  Haven't tested tdfx, but I have no reason to not expect it to
> work.
> 
> At this point, who should review this for a merge?

Damn, this is looking sweet!  You have almost hit gold with this work, 
and here's what I would consider perfection:

The source repository and plain source trees that haven't been built, 
yet would contain an os-support/linux/drm/kernel that contained the drm* 
files for Linux:

drm_agpsupport.h  drm_drawable.h  drm_ioctl.h   drm_os_freebsd.h
drm_auth.h        drm_drv.h       drm_linux.h   drm_os_netbsd.h
drm_bufs.h        drm_fops.h      drm_lists.h   drmP.h
drm_context.h     drm.h           drm_lock.h    drm_scatter.h
drm_dma.h         drm_init.h      drm_memory.h  drm_sysctl.h
                                                 drm_vm.h

Not these are all Linux specific, but Hardware independent, and of 
course an os-support/bsd/drm/kernel and other os specific directories, 
too.  None of which contained HW specific files.

The os-support/shared/drm/kernel directory would then contain the HW 
specifics:

gamma_dma.c  i810_drv.h  mga_drm.h   r128_drm.h   radeon_drv.h
gamma_drm.h  i810.h      mga_drv.c   r128_drv.c   radeon_state.c
gamma_drv.c  i830_dma.c  mga_drv.h   r128_drv.h   radeon.h
gamma_drv.h  i830_drm.h  mga_state.c r128_state.c tdfx_drv.c
gamma.h      i830_drv.c  mga_ucode.h r128.h       tdfx.h
i810_dma.c   i830_drv.h  mga_warp.c  radeon_cp.c
i810_drm.h   i830.h      mga.h       radeon_drm.h
i810_drv.c   mga_dma.c   r128_cce.c  radeon_drv.c

For the drivers you've ported to your OS independent templates (radeon, 
r128 and mga), it looks like the *_drv.c and Makefile support are all 
that's left in the OS directories.  If you can get these out of there, 
even by adding a few OS ifdefs in the shared directory, you will get big 
leverage when a new driver is written.  Generally, a driver writer 
copies another driver as a starting point, and they won't discard non 
development OS's simply because it's easier to ignore the directories.

In other words, let's make new drivers work on all supported OS's by 
default instead of having to enable each OS/driver combo by hand.  I can 
see the need for disabling a OS/driver combo by hand after we know it 
can't be easily supported.

I'm definitely interested in hearing your opinion on squeeking out the 
last bigs of OS specifics in these drivers.  I realize the last parts 
are usually the most difficult.

Regards,
Jens

-- 
                                /\
          Jens Owen            /  \/\ _
   [EMAIL PROTECTED]  /    \ \ \   Steamboat Springs, Colorado



-------------------------------------------------------
Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to