[PATCH 00/44] devm_drm_dev_alloc, no more drmm_add_final_kfree
Daniel Vetter
daniel.vetter at ffwll.ch
Fri Apr 3 13:57:44 UTC 2020
Hi all,
Here's the promised follow-up to get rid of the drmm_add_final_kfree calls
from drivers. I've also sprinkled in a bunch of cleanups for the drivers
I've had to touch anyway. I think with devm_drm_dev_alloc we now have a
very neat and clean way to init the drm_device, and all the interim stage
with drm_dev_init and devm_drm_dev_init are unexported.
For reading, documenation changes are all concentrated in the last patch,
because the interim state would result in way too much shuffling and
readjusting.
The driver core patch is only required for vkms, vgem and i915/selftest
patches, everything else only needs the patch to add devm_drm_dev_alloc.
Once that's landed we can merge driver patches in any order, only the
final patch needs to wait until everything has landed.
As usual, review, testing and comments very much appreciated.
Cheers, Daniel
Daniel Vetter (44):
drivers/base: Always release devres on device_del
drm: Add devm_drm_dev_alloc macro
drm/device: Deprecate dev_private harder
drm/vgem: Use devm_drm_dev_alloc
drm/vkms: Use devm_drm_dev_alloc
drm/vboxvideo: drop DRM_MTRR_WC #define
drm/vboxvideo: Use devm_drm_dev_alloc
drm/vboxvideo: Stop using drm_device->dev_private
drm/vboxvidoe: use managed pci functions
drm/vboxvideo: Use devm_gen_pool_create
drm/v3d: Don't set drm_device->dev_private
drm/v3d: Use devm_drm_dev_alloc
drm/v3d: Delete v3d_dev->dev
drm/v3d: Delete v3d_dev->pdev
drm/udl: Use demv_drm_dev_alloc
drm/udl: don't set drm_device->dev_private
drm/st7735r: Use devm_drm_dev_alloc
drm/st7586: Use devm_drm_dev_alloc
drm/repaper: Use devm_drm_dev_alloc
drm/mi0283qt: Use devm_drm_dev_alloc
drm/ili9486: Use devm_drm_dev_alloc
drm/ili9341: Use devm_drm_dev_alloc
drm/ili9225: Use devm_drm_dev_alloc
drm/hx8357d: Use devm_drm_dev_alloc
drm/gm12u320: Use devm_drm_dev_alloc
drm/gm12u320: Don't use drm_device->dev_private
drm/tidss: Use devm_drm_dev_alloc
drm/tidss: Don't use drm_device->dev_private
drm/tidss: Delete tidss->saved_state
drm/qxl: Use devm_drm_dev_alloc
drm/qxl: Don't use drm_device->dev_private
drm/mcde: Use devm_drm_dev_alloc
drm/mcde: Don't use drm_device->dev_private
drm/ingenic: Use devm_drm_dev_alloc
drm/ingenic: Don't set drm_device->dev_private
drm/komeda: use devm_drm_dev_alloc
drm/armada: Use devm_drm_dev_alloc
drm/armada: Don't use drm_device->dev_private
drm/cirrus: Use devm_drm_dev_alloc
drm/cirrus: Don't use drm_device->dev_private
drm/i915: Use devm_drm_dev_alloc
drm/i915/selftest: Create mock_destroy_device
drm/i915/selftests: align more to real device lifetimes
drm/managed: Cleanup of unused functions and polishing docs
.../driver-api/driver-model/devres.rst | 2 +-
drivers/base/dd.c | 2 +
.../gpu/drm/arm/display/komeda/komeda_kms.c | 16 +-
drivers/gpu/drm/armada/armada_crtc.c | 4 +-
drivers/gpu/drm/armada/armada_debugfs.c | 2 +-
drivers/gpu/drm/armada/armada_drm.h | 2 +
drivers/gpu/drm/armada/armada_drv.c | 30 +---
drivers/gpu/drm/armada/armada_fbdev.c | 4 +-
drivers/gpu/drm/armada/armada_gem.c | 4 +-
drivers/gpu/drm/armada/armada_overlay.c | 8 +-
drivers/gpu/drm/cirrus/cirrus.c | 22 ++-
drivers/gpu/drm/drm_drv.c | 142 ++++++------------
drivers/gpu/drm/drm_internal.h | 1 +
drivers/gpu/drm/drm_managed.c | 15 +-
.../gpu/drm/i915/gem/selftests/huge_pages.c | 2 +-
.../drm/i915/gem/selftests/i915_gem_context.c | 2 +-
.../drm/i915/gem/selftests/i915_gem_dmabuf.c | 2 +-
.../drm/i915/gem/selftests/i915_gem_object.c | 2 +-
.../drm/i915/gem/selftests/i915_gem_phys.c | 2 +-
drivers/gpu/drm/i915/gt/selftest_timeline.c | 2 +-
drivers/gpu/drm/i915/i915_drv.c | 17 +--
drivers/gpu/drm/i915/i915_pci.c | 2 -
.../gpu/drm/i915/selftests/i915_gem_evict.c | 2 +-
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 2 +-
drivers/gpu/drm/i915/selftests/i915_request.c | 2 +-
drivers/gpu/drm/i915/selftests/i915_vma.c | 2 +-
.../drm/i915/selftests/intel_memory_region.c | 2 +-
.../gpu/drm/i915/selftests/mock_gem_device.c | 33 ++--
.../gpu/drm/i915/selftests/mock_gem_device.h | 5 +
drivers/gpu/drm/ingenic/ingenic-drm.c | 15 +-
drivers/gpu/drm/mcde/mcde_display.c | 10 +-
drivers/gpu/drm/mcde/mcde_drm.h | 2 +
drivers/gpu/drm/mcde/mcde_drv.c | 21 +--
drivers/gpu/drm/mcde/mcde_dsi.c | 2 +-
drivers/gpu/drm/qxl/qxl_debugfs.c | 7 +-
drivers/gpu/drm/qxl/qxl_display.c | 32 ++--
drivers/gpu/drm/qxl/qxl_drv.c | 23 +--
drivers/gpu/drm/qxl/qxl_drv.h | 7 +-
drivers/gpu/drm/qxl/qxl_dumb.c | 2 +-
drivers/gpu/drm/qxl/qxl_gem.c | 2 +-
drivers/gpu/drm/qxl/qxl_ioctl.c | 14 +-
drivers/gpu/drm/qxl/qxl_irq.c | 2 +-
drivers/gpu/drm/qxl/qxl_kms.c | 13 +-
drivers/gpu/drm/qxl/qxl_object.c | 2 +-
drivers/gpu/drm/qxl/qxl_release.c | 2 +-
drivers/gpu/drm/qxl/qxl_ttm.c | 2 +-
drivers/gpu/drm/tidss/tidss_crtc.c | 16 +-
drivers/gpu/drm/tidss/tidss_drv.c | 17 +--
drivers/gpu/drm/tidss/tidss_drv.h | 4 +-
drivers/gpu/drm/tidss/tidss_irq.c | 12 +-
drivers/gpu/drm/tidss/tidss_kms.c | 2 +-
drivers/gpu/drm/tidss/tidss_plane.c | 6 +-
drivers/gpu/drm/tiny/gm12u320.c | 24 ++-
drivers/gpu/drm/tiny/hx8357d.c | 13 +-
drivers/gpu/drm/tiny/ili9225.c | 13 +-
drivers/gpu/drm/tiny/ili9341.c | 13 +-
drivers/gpu/drm/tiny/ili9486.c | 13 +-
drivers/gpu/drm/tiny/mi0283qt.c | 13 +-
drivers/gpu/drm/tiny/repaper.c | 14 +-
drivers/gpu/drm/tiny/st7586.c | 13 +-
drivers/gpu/drm/tiny/st7735r.c | 13 +-
drivers/gpu/drm/udl/udl_connector.c | 4 +-
drivers/gpu/drm/udl/udl_drv.c | 37 ++---
drivers/gpu/drm/udl/udl_modeset.c | 6 +-
drivers/gpu/drm/v3d/v3d_debugfs.c | 12 +-
drivers/gpu/drm/v3d/v3d_drv.c | 47 +++---
drivers/gpu/drm/v3d/v3d_drv.h | 7 +-
drivers/gpu/drm/v3d/v3d_gem.c | 17 ++-
drivers/gpu/drm/v3d/v3d_irq.c | 16 +-
drivers/gpu/drm/v3d/v3d_mmu.c | 10 +-
drivers/gpu/drm/v3d/v3d_sched.c | 10 +-
drivers/gpu/drm/vboxvideo/vbox_drv.c | 26 +---
drivers/gpu/drm/vboxvideo/vbox_drv.h | 1 +
drivers/gpu/drm/vboxvideo/vbox_irq.c | 2 +-
drivers/gpu/drm/vboxvideo/vbox_main.c | 29 ++--
drivers/gpu/drm/vboxvideo/vbox_mode.c | 10 +-
drivers/gpu/drm/vboxvideo/vbox_ttm.c | 12 --
drivers/gpu/drm/vgem/vgem_drv.c | 51 ++-----
drivers/gpu/drm/vkms/vkms_drv.c | 48 ++----
include/drm/drm_device.h | 9 +-
include/drm/drm_drv.h | 51 +++++--
81 files changed, 422 insertions(+), 660 deletions(-)
--
2.25.1
More information about the dri-devel
mailing list