[PATCH 00/19] drm de-midlayer, part 1: device list and agp bus stuff

Daniel Vetter daniel.vetter at ffwll.ch
Sun Nov 3 05:31:06 PST 2013


Hi all,

So at ks there was a lot of talk about fixing up the drm device model to stop
insanity like imx. And I kinda promised Dave to resurrect my latest branch at
drm demidlayering - motivation kinda dissipated when I've started this a few
moons back.

So this is the first part. Patches 1-11 rework the device list. The ugly part is
that drm_platform_exit survived from the horrible days of shadow attache despite
that no platform drm driver with shadow attach was ever merged. And everyone
dutifully copypasted the crap out of this. Compiletested for all drm drivers
that work with arm multiplatforms. Luckily that now includes exynons (yay), but
the new kid msm on the block fails this (shame on Rob).

The remaining stuff flattens some of the agp indirection madness away. Plus a
tiny patch in between as a follow-up cleanup for David's vma offset manager
work. Also includes one patch from David, rebased into my series.

Next up on my plan is to get rid of drm_bus completely. I already have a plan
for the irq stuff and a few patches, which leaves the setversion/busid/...
bonghits madness. But that's luckily constraint to the drm core.

Once that's settled I think we can start to untangle the driver load/setup vs.
interface registration mess. David&Dave already have patches to play around with
that. Then we need to untangle all the drm lifetime rules around open files,
mmaps, sysfs and debugfs files so that finally we can try to fix the driver
unload madness. Or at least that's my overtly optimistic plan.

Flames, comments and more good&dry wood for the pyre highly welcome.

Cheers, Daniel

Daniel Vetter (18):
  drm/rcar: call drm_put_dev directly in the ->remove hook
  drm/exynos: call drm_put_dev directly from ->remove
  drm/imx: directly call drm_put_dev in ->remove
  drm/tilcdc: call drm_put_dev directly from ->remove
  drm/omap: call drm_put_dev directly in ->remove
  drm/shmob: call drm_put_dev directly from ->remove hook
  drm/host1x: Call drm_put_dev directly instead of drm_platform_exit
  drm/armada: directly call drm_put_dev in ->remove
  drm/msm: call drm_put_dev directly in ->remove
  drm: rip out drm_platform_exit
  drm: restrict the device list for shadow attached drivers
  drm/bufs: remove handling of _DRM_GEM mappings
  drm: kill DRIVER_REQUIRE_AGP
  drm: ->agp_init can't fail
  drm: rip out drm_core_has_AGP
  drm: inline drm_agp_destroy
  drm: kill the ->agp_destroy callback
  drm: remove global_mutex locking around agp_init

David Herrmann (1):
  drm: remove agp_init() bus callback

 drivers/gpu/drm/armada/armada_drv.c      |  3 ++-
 drivers/gpu/drm/drm_agpsupport.c         | 17 +-------------
 drivers/gpu/drm/drm_bufs.c               | 10 ++-------
 drivers/gpu/drm/drm_memory.c             |  9 +++-----
 drivers/gpu/drm/drm_pci.c                | 38 +++++++++++++++++---------------
 drivers/gpu/drm/drm_platform.c           | 12 ----------
 drivers/gpu/drm/drm_stub.c               | 19 +++-------------
 drivers/gpu/drm/drm_usb.c                |  1 -
 drivers/gpu/drm/drm_vm.c                 |  7 ++----
 drivers/gpu/drm/exynos/exynos_drm_drv.c  |  4 +++-
 drivers/gpu/drm/i810/i810_dma.c          |  4 ++++
 drivers/gpu/drm/i810/i810_drv.c          |  2 +-
 drivers/gpu/drm/i915/i915_dma.c          |  5 +++++
 drivers/gpu/drm/i915/i915_drv.c          |  5 ++---
 drivers/gpu/drm/msm/msm_drv.c            |  2 +-
 drivers/gpu/drm/omapdrm/omap_drv.c       |  4 ++--
 drivers/gpu/drm/radeon/radeon_ttm.c      |  2 +-
 drivers/gpu/drm/rcar-du/rcar_du_drv.c    |  4 +++-
 drivers/gpu/drm/shmobile/shmob_drm_drv.c |  4 +++-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c      |  2 +-
 drivers/gpu/host1x/drm/drm.c             |  3 +--
 drivers/staging/imx-drm/imx-drm-core.c   |  4 +++-
 include/drm/drmP.h                       | 13 ++++-------
 include/drm/drm_agpsupport.h             | 17 --------------
 include/uapi/drm/drm.h                   |  1 -
 25 files changed, 67 insertions(+), 125 deletions(-)

-- 
1.8.4.rc3



More information about the dri-devel mailing list