[PATCH 00/50] more drm de-midlayering
Daniel Vetter
daniel.vetter at ffwll.ch
Wed Dec 11 02:34:21 PST 2013
Hi all,
This series almost removes drm_bus, the last thing remaining is the ->setversion
callback. Unfortunately we can't kill that completely since we need the
backwards compat cruft for pci domain bonghits on alpha/ppc.
I've also shot at a few easy marks on the road while at it.
My plan is to tackle the setversion mess in 3.15 with a Gross Hack. And then
convert a few drivers to allocate struct drm_device themselves and so complete
the demidlayering in the driver load paths. For simplicity that'd probably be
udl or the arm drivers due to lack of legacy baggage. That should allow us to
ditch drm_usb.c and drm_platform.c from the tree.
My real long-term goal is to eventually use devres.c and similar cool stuff to
clean up the setup/teardown hell we have in i915.ko. Hence also why I've
deprecated the legacy agp/ums support in i915 in the hope that I'll get to deal
with less cruft. Also maybe we can sort out the lifetime issues around sysfs and
debugfs at driver/module unload time eventually ... just let me dream ;-)
Also a cleanup from Dan on top. All the little fixes for Wu Fengguang reported are
squashed in - he's now also doing some arm builds!
Dan Carpenter (1):
drm: use memdup_user() as a cleanup
Daniel Vetter (49):
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/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: remove agp_init() bus callback
drm: inline drm_agp_destroy
drm: kill the ->agp_destroy callback
drm: remove global_mutex locking around agp_init
drm: rip out DRM_AGP_MEM and DRM_AGP_KERN
drm: Kill DRM_HZ
drm: Kill DRM_IRQ_ARGS
drm: Kill DRM_WAKUP and DRM_INIT_WAITQUEUE
drm: Kill DRM_COPY_(TO|FROM)_USER
drm: Kill DRM_*MEMORYBARRIER
drm: Kill DRM_SUSER
drm/gma500: Remove dead code
drm/irq: Replace DRM_WAIT_ON with wait_event
drm: Remove DRM_WAIT_ON from all drivers
drm/irq: simplify irq checks in drm_wait_vblank
drm/pci: fold in irq_by_busid support
drm/irq: drm_control is a legacy ioctl, so pci devices only
drm/irq: remove cargo-culted locking from irq_install/unistall
drm: remove drm_dev_to_irq from drivers
drm: kill drm_bus->bus_type
drm: Rip out totally bogus vga_switcheroo->can_switch locking
drm: rename dev->count_lock to dev->buf_lock
drm/irq: track the irq installed in drm_irq_install in dev->irq
drm/irq: Look up the pci irq directly in the drm_control ioctl
drm: pass the irq explicitly to drm_irq_install
drm: remove bus->get_irq implementations
drm: inline drm_pci_set_unique
drm: rip out dev->devname
drm: remove drm_bus->get_name
drm: Remove dev->kdriver
drm/<drivers>: don't set driver->dev_priv_size to 0
drm: store the gem vma offset manager in a typed pointer
drm: rip out dev->ioctl_count tracking
drm: Kill file_priv->ioctl_count tracking
drm: remove dev->vma_count
Documentation/DocBook/drm.tmpl | 10 +--
drivers/gpu/drm/armada/armada_drv.c | 5 +-
drivers/gpu/drm/ast/ast_drv.c | 1 -
drivers/gpu/drm/cirrus/cirrus_drv.h | 2 +-
drivers/gpu/drm/drm_agpsupport.c | 28 ++-----
drivers/gpu/drm/drm_buffer.c | 2 +-
drivers/gpu/drm/drm_bufs.c | 42 +++++-----
drivers/gpu/drm/drm_drv.c | 4 -
drivers/gpu/drm/drm_fops.c | 11 +--
drivers/gpu/drm/drm_gem.c | 27 +++----
drivers/gpu/drm/drm_info.c | 22 +++---
drivers/gpu/drm/drm_ioctl.c | 13 +--
drivers/gpu/drm/drm_irq.c | 125 +++++++++++------------------
drivers/gpu/drm/drm_memory.c | 15 ++--
drivers/gpu/drm/drm_pci.c | 132 ++++++++++++++++---------------
drivers/gpu/drm/drm_platform.c | 37 ---------
drivers/gpu/drm/drm_stub.c | 25 +-----
drivers/gpu/drm/drm_usb.c | 15 ----
drivers/gpu/drm/drm_vm.c | 10 +--
drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 2 +-
drivers/gpu/drm/exynos/exynos_mixer.c | 6 +-
drivers/gpu/drm/gma500/accel_2d.c | 2 +-
drivers/gpu/drm/gma500/psb_drv.c | 2 +-
drivers/gpu/drm/gma500/psb_drv.h | 8 +-
drivers/gpu/drm/gma500/psb_intel_drv.h | 5 --
drivers/gpu/drm/gma500/psb_irq.c | 19 +----
drivers/gpu/drm/gma500/psb_irq.h | 2 +-
drivers/gpu/drm/i810/i810_dma.c | 4 +
drivers/gpu/drm/i810/i810_drv.c | 2 +-
drivers/gpu/drm/i915/i915_dma.c | 31 ++++++--
drivers/gpu/drm/i915/i915_drv.c | 14 ++--
drivers/gpu/drm/i915/i915_gem.c | 7 +-
drivers/gpu/drm/mga/mga_dma.c | 4 +-
drivers/gpu/drm/mga/mga_drv.h | 4 +-
drivers/gpu/drm/mga/mga_irq.c | 18 +++--
drivers/gpu/drm/mga/mga_state.c | 4 +-
drivers/gpu/drm/msm/msm_drv.c | 8 +-
drivers/gpu/drm/nouveau/nouveau_dma.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_dma.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_fence.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_vga.c | 7 +-
drivers/gpu/drm/omapdrm/omap_debugfs.c | 2 +-
drivers/gpu/drm/omapdrm/omap_drv.c | 4 +-
drivers/gpu/drm/omapdrm/omap_drv.h | 2 +-
drivers/gpu/drm/omapdrm/omap_irq.c | 4 +-
drivers/gpu/drm/qxl/qxl_drv.c | 1 -
drivers/gpu/drm/qxl/qxl_drv.h | 2 +-
drivers/gpu/drm/qxl/qxl_ioctl.c | 4 +-
drivers/gpu/drm/qxl/qxl_irq.c | 4 +-
drivers/gpu/drm/r128/r128_cce.c | 4 +-
drivers/gpu/drm/r128/r128_drv.h | 4 +-
drivers/gpu/drm/r128/r128_irq.c | 2 +-
drivers/gpu/drm/r128/r128_state.c | 68 ++++++----------
drivers/gpu/drm/radeon/r300_cmdbuf.c | 8 +-
drivers/gpu/drm/radeon/r600_cp.c | 4 +-
drivers/gpu/drm/radeon/r600_cs.c | 2 +-
drivers/gpu/drm/radeon/radeon_cp.c | 6 +-
drivers/gpu/drm/radeon/radeon_cs.c | 10 +--
drivers/gpu/drm/radeon/radeon_device.c | 7 +-
drivers/gpu/drm/radeon/radeon_drv.c | 3 +-
drivers/gpu/drm/radeon/radeon_drv.h | 2 +-
drivers/gpu/drm/radeon/radeon_irq.c | 19 +++--
drivers/gpu/drm/radeon/radeon_irq_kms.c | 6 +-
drivers/gpu/drm/radeon/radeon_kms.c | 10 +--
drivers/gpu/drm/radeon/radeon_mem.c | 2 +-
drivers/gpu/drm/radeon/radeon_ring.c | 2 +-
drivers/gpu/drm/radeon/radeon_state.c | 20 ++---
drivers/gpu/drm/radeon/radeon_ttm.c | 2 +-
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 4 +-
drivers/gpu/drm/savage/savage_bci.c | 10 +--
drivers/gpu/drm/savage/savage_state.c | 8 +-
drivers/gpu/drm/shmobile/shmob_drm_drv.c | 6 +-
drivers/gpu/drm/sis/sis_mm.c | 2 +-
drivers/gpu/drm/tegra/bus.c | 12 ---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 8 +-
drivers/gpu/drm/ttm/ttm_bo_util.c | 2 +-
drivers/gpu/drm/via/via_dma.c | 12 +--
drivers/gpu/drm/via/via_dmablit.c | 39 +++++----
drivers/gpu/drm/via/via_drv.h | 2 +-
drivers/gpu/drm/via/via_irq.c | 21 +++--
drivers/gpu/drm/via/via_video.c | 18 +++--
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 2 +-
drivers/staging/imx-drm/imx-drm-core.c | 4 +-
include/drm/drmP.h | 60 ++++----------
include/drm/drm_agpsupport.h | 33 ++------
include/drm/drm_os_linux.h | 61 --------------
include/uapi/drm/drm.h | 1 -
91 files changed, 485 insertions(+), 717 deletions(-)
--
1.8.4.3
More information about the dri-devel
mailing list