[PATCH 00/50] more drm de-midlayering

Jakob Bornecrantz wallbraker at gmail.com
Thu Dec 12 10:08:20 PST 2013


The vmwgfx changes are:
Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>

On Wed, Dec 11, 2013 at 11:34 AM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> 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
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list