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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel