From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 00/50] more drm de-midlayering Date: Wed, 11 Dec 2013 11:34:21 +0100 Message-ID: <1386758111-3446-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ea0-f172.google.com (mail-ea0-f172.google.com [209.85.215.172]) by gabe.freedesktop.org (Postfix) with ESMTP id 0CBBDFA742 for ; Wed, 11 Dec 2013 02:34:30 -0800 (PST) Received: by mail-ea0-f172.google.com with SMTP id q10so2653949ead.31 for ; Wed, 11 Dec 2013 02:34:30 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org To: DRI Development Cc: Daniel Vetter List-Id: dri-devel@lists.freedesktop.org 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/: 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