From: Daniel Vetter <daniel.vetter@ffwll.ch> To: DRI Development <dri-devel@lists.freedesktop.org> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, Intel Graphics Development <intel-gfx@lists.freedesktop.org> Subject: [PATCH 09/24] drm/dev: Remove drm_dev_init Date: Fri, 4 Sep 2020 16:39:26 +0200 [thread overview] Message-ID: <20200904143941.110665-10-daniel.vetter@ffwll.ch> (raw) In-Reply-To: <20200904143941.110665-1-daniel.vetter@ffwll.ch> We can now also delete drm_dev_init, now that vkms, vgem and i915 selftests are resolved. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/drm_drv.c | 41 +++------------------------------- drivers/gpu/drm/drm_internal.h | 1 + drivers/gpu/drm/drm_managed.c | 13 ----------- include/drm/drm_drv.h | 4 ---- 4 files changed, 4 insertions(+), 55 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 7c1689842ec0..457ac0f82be2 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -573,43 +573,9 @@ static void drm_dev_init_release(struct drm_device *dev, void *res) drm_legacy_destroy_members(dev); } -/** - * drm_dev_init - Initialise new DRM device - * @dev: DRM device - * @driver: DRM driver - * @parent: Parent device object - * - * Initialize a new DRM device. No device registration is done. - * Call drm_dev_register() to advertice the device to user space and register it - * with other core subsystems. This should be done last in the device - * initialization sequence to make sure userspace can't access an inconsistent - * state. - * - * The initial ref-count of the object is 1. Use drm_dev_get() and - * drm_dev_put() to take and drop further ref-counts. - * - * It is recommended that drivers embed &struct drm_device into their own device - * structure. - * - * Drivers that do not want to allocate their own device struct - * embedding &struct drm_device can call drm_dev_alloc() instead. For drivers - * that do embed &struct drm_device it must be placed first in the overall - * structure, and the overall structure must be allocated using kmalloc(): The - * drm core's release function unconditionally calls kfree() on the @dev pointer - * when the final reference is released. To override this behaviour, and so - * allow embedding of the drm_device inside the driver's device struct at an - * arbitrary offset, you must supply a &drm_driver.release callback and control - * the finalization explicitly. - * - * Note that drivers must call drmm_add_final_kfree() after this function has - * completed successfully. - * - * RETURNS: - * 0 on success, or error code on failure. - */ -int drm_dev_init(struct drm_device *dev, - struct drm_driver *driver, - struct device *parent) +static int drm_dev_init(struct drm_device *dev, + struct drm_driver *driver, + struct device *parent) { int ret; @@ -689,7 +655,6 @@ int drm_dev_init(struct drm_device *dev, return ret; } -EXPORT_SYMBOL(drm_dev_init); static void devm_drm_dev_init_release(void *data) { diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h index 8e01caaf95cc..b65865c630b0 100644 --- a/drivers/gpu/drm/drm_internal.h +++ b/drivers/gpu/drm/drm_internal.h @@ -95,6 +95,7 @@ void drm_minor_release(struct drm_minor *minor); /* drm_managed.c */ void drm_managed_release(struct drm_device *dev); +void drmm_add_final_kfree(struct drm_device *dev, void *container); /* drm_vblank.c */ static inline bool drm_vblank_passed(u64 seq, u64 ref) diff --git a/drivers/gpu/drm/drm_managed.c b/drivers/gpu/drm/drm_managed.c index c36e3d98fd71..37d7db6223be 100644 --- a/drivers/gpu/drm/drm_managed.c +++ b/drivers/gpu/drm/drm_managed.c @@ -125,18 +125,6 @@ static void add_dr(struct drm_device *dev, struct drmres *dr) dr, dr->node.name, (unsigned long) dr->node.size); } -/** - * drmm_add_final_kfree - add release action for the final kfree() - * @dev: DRM device - * @container: pointer to the kmalloc allocation containing @dev - * - * Since the allocation containing the struct &drm_device must be allocated - * before it can be initialized with drm_dev_init() there's no way to allocate - * that memory with drmm_kmalloc(). To side-step this chicken-egg problem the - * pointer for this final kfree() must be specified by calling this function. It - * will be released in the final drm_dev_put() for @dev, after all other release - * actions installed through drmm_add_action() have been processed. - */ void drmm_add_final_kfree(struct drm_device *dev, void *container) { WARN_ON(dev->managed.final_kfree); @@ -144,7 +132,6 @@ void drmm_add_final_kfree(struct drm_device *dev, void *container) WARN_ON(dev + 1 > (struct drm_device *) (container + ksize(container))); dev->managed.final_kfree = container; } -EXPORT_SYMBOL(drmm_add_final_kfree); int __drmm_add_action(struct drm_device *dev, drmres_release_t action, diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index 533c6e1a5a95..b8ce9147c9a6 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -591,10 +591,6 @@ struct drm_driver { int dev_priv_size; }; -int drm_dev_init(struct drm_device *dev, - struct drm_driver *driver, - struct device *parent); - void *__devm_drm_dev_alloc(struct device *parent, struct drm_driver *driver, size_t size, size_t offset); -- 2.28.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel.vetter@ffwll.ch> To: DRI Development <dri-devel@lists.freedesktop.org> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, Intel Graphics Development <intel-gfx@lists.freedesktop.org> Subject: [Intel-gfx] [PATCH 09/24] drm/dev: Remove drm_dev_init Date: Fri, 4 Sep 2020 16:39:26 +0200 [thread overview] Message-ID: <20200904143941.110665-10-daniel.vetter@ffwll.ch> (raw) In-Reply-To: <20200904143941.110665-1-daniel.vetter@ffwll.ch> We can now also delete drm_dev_init, now that vkms, vgem and i915 selftests are resolved. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/drm_drv.c | 41 +++------------------------------- drivers/gpu/drm/drm_internal.h | 1 + drivers/gpu/drm/drm_managed.c | 13 ----------- include/drm/drm_drv.h | 4 ---- 4 files changed, 4 insertions(+), 55 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 7c1689842ec0..457ac0f82be2 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -573,43 +573,9 @@ static void drm_dev_init_release(struct drm_device *dev, void *res) drm_legacy_destroy_members(dev); } -/** - * drm_dev_init - Initialise new DRM device - * @dev: DRM device - * @driver: DRM driver - * @parent: Parent device object - * - * Initialize a new DRM device. No device registration is done. - * Call drm_dev_register() to advertice the device to user space and register it - * with other core subsystems. This should be done last in the device - * initialization sequence to make sure userspace can't access an inconsistent - * state. - * - * The initial ref-count of the object is 1. Use drm_dev_get() and - * drm_dev_put() to take and drop further ref-counts. - * - * It is recommended that drivers embed &struct drm_device into their own device - * structure. - * - * Drivers that do not want to allocate their own device struct - * embedding &struct drm_device can call drm_dev_alloc() instead. For drivers - * that do embed &struct drm_device it must be placed first in the overall - * structure, and the overall structure must be allocated using kmalloc(): The - * drm core's release function unconditionally calls kfree() on the @dev pointer - * when the final reference is released. To override this behaviour, and so - * allow embedding of the drm_device inside the driver's device struct at an - * arbitrary offset, you must supply a &drm_driver.release callback and control - * the finalization explicitly. - * - * Note that drivers must call drmm_add_final_kfree() after this function has - * completed successfully. - * - * RETURNS: - * 0 on success, or error code on failure. - */ -int drm_dev_init(struct drm_device *dev, - struct drm_driver *driver, - struct device *parent) +static int drm_dev_init(struct drm_device *dev, + struct drm_driver *driver, + struct device *parent) { int ret; @@ -689,7 +655,6 @@ int drm_dev_init(struct drm_device *dev, return ret; } -EXPORT_SYMBOL(drm_dev_init); static void devm_drm_dev_init_release(void *data) { diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h index 8e01caaf95cc..b65865c630b0 100644 --- a/drivers/gpu/drm/drm_internal.h +++ b/drivers/gpu/drm/drm_internal.h @@ -95,6 +95,7 @@ void drm_minor_release(struct drm_minor *minor); /* drm_managed.c */ void drm_managed_release(struct drm_device *dev); +void drmm_add_final_kfree(struct drm_device *dev, void *container); /* drm_vblank.c */ static inline bool drm_vblank_passed(u64 seq, u64 ref) diff --git a/drivers/gpu/drm/drm_managed.c b/drivers/gpu/drm/drm_managed.c index c36e3d98fd71..37d7db6223be 100644 --- a/drivers/gpu/drm/drm_managed.c +++ b/drivers/gpu/drm/drm_managed.c @@ -125,18 +125,6 @@ static void add_dr(struct drm_device *dev, struct drmres *dr) dr, dr->node.name, (unsigned long) dr->node.size); } -/** - * drmm_add_final_kfree - add release action for the final kfree() - * @dev: DRM device - * @container: pointer to the kmalloc allocation containing @dev - * - * Since the allocation containing the struct &drm_device must be allocated - * before it can be initialized with drm_dev_init() there's no way to allocate - * that memory with drmm_kmalloc(). To side-step this chicken-egg problem the - * pointer for this final kfree() must be specified by calling this function. It - * will be released in the final drm_dev_put() for @dev, after all other release - * actions installed through drmm_add_action() have been processed. - */ void drmm_add_final_kfree(struct drm_device *dev, void *container) { WARN_ON(dev->managed.final_kfree); @@ -144,7 +132,6 @@ void drmm_add_final_kfree(struct drm_device *dev, void *container) WARN_ON(dev + 1 > (struct drm_device *) (container + ksize(container))); dev->managed.final_kfree = container; } -EXPORT_SYMBOL(drmm_add_final_kfree); int __drmm_add_action(struct drm_device *dev, drmres_release_t action, diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index 533c6e1a5a95..b8ce9147c9a6 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -591,10 +591,6 @@ struct drm_driver { int dev_priv_size; }; -int drm_dev_init(struct drm_device *dev, - struct drm_driver *driver, - struct device *parent); - void *__devm_drm_dev_alloc(struct device *parent, struct drm_driver *driver, size_t size, size_t offset); -- 2.28.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2020-09-04 14:40 UTC|newest] Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-04 14:39 [PATCH 00/24] drm_managed, leftovers Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 01/24] drm/armada: Use devm_drm_dev_alloc Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-10 1:20 ` Dave Airlie 2020-09-10 1:20 ` [Intel-gfx] " Dave Airlie 2020-09-04 14:39 ` [PATCH 02/24] drm/armada: Don't use drm_device->dev_private Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 03/24] drm/aspeed: Use managed drmm_mode_config_cleanup Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` Daniel Vetter 2020-09-04 14:39 ` [PATCH 04/24] drm/vgem: Use devm_drm_dev_alloc Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-09 11:01 ` Melissa Wen 2020-09-09 11:01 ` [Intel-gfx] " Melissa Wen 2020-09-09 11:20 ` Daniel Vetter 2020-09-09 11:20 ` [Intel-gfx] " Daniel Vetter 2020-09-09 16:29 ` Melissa Wen 2020-09-09 16:29 ` [Intel-gfx] " Melissa Wen 2020-09-09 12:07 ` [PATCH] " Daniel Vetter 2020-09-09 12:07 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 05/24] drm/vkms: " Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-08 23:42 ` Melissa Wen 2020-09-08 23:42 ` [Intel-gfx] " Melissa Wen 2020-09-09 9:18 ` [PATCH] " Daniel Vetter 2020-09-09 9:18 ` [Intel-gfx] " Daniel Vetter 2020-09-09 9:22 ` Melissa Wen 2020-09-09 9:22 ` [Intel-gfx] " Melissa Wen 2020-09-04 14:39 ` [PATCH 06/24] drm/xlnx: " Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` Daniel Vetter 2020-09-07 8:22 ` [PATCH] " Daniel Vetter 2020-09-07 8:22 ` [Intel-gfx] " Daniel Vetter 2020-09-07 8:22 ` Daniel Vetter 2020-09-08 19:16 ` Hyun Kwon 2020-09-08 19:16 ` [Intel-gfx] " Hyun Kwon 2020-09-08 19:16 ` Hyun Kwon 2020-09-11 8:47 ` Daniel Vetter 2020-09-11 8:47 ` [Intel-gfx] " Daniel Vetter 2020-09-11 8:47 ` Daniel Vetter 2020-09-04 14:39 ` [PATCH 07/24] drm/i915/selftest: Create mock_destroy_device Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 08/24] drm/i915/selftests: align more to real device lifetimes Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-11 8:59 ` Maarten Lankhorst 2020-09-11 8:59 ` Maarten Lankhorst 2020-09-11 9:08 ` Matthew Auld 2020-09-11 9:08 ` Matthew Auld 2020-09-04 14:39 ` Daniel Vetter [this message] 2020-09-04 14:39 ` [Intel-gfx] [PATCH 09/24] drm/dev: Remove drm_dev_init Daniel Vetter 2020-09-04 14:39 ` [PATCH 10/24] drm/arc: Switch to devm_drm_dev_alloc Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-10-23 12:31 ` Daniel Vetter 2020-10-23 12:31 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 11/24] drm/arc: Stop using drm_device->dev_private Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 15:09 ` Daniel Vetter 2020-09-04 15:09 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 12/24] drm/arc: Delete arcpgu_priv->fb Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 13/24] drm/arc: Embedded a drm_simple_display_pipe Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 14/24] drm/arc: Embedd a drm_connector for sim case Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 15/24] drm/arc: Drop surplus connector registration Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 16/24] drm/arc: Use drmm_mode_config_cleanup Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 17/24] drm/arc: Align with simple pipe helpers Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 18/24] drm/arc: Convert to drm_simple_kms_pipe_helper Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 19/24] drm/arc: Drop crtc check in arc_pgu_update Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 20/24] drm/arc: Inline arcpgu_crtc.c Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 21/24] drm/arc: Inline arcpgu_drm_hdmi_init Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 22/24] drm/arc: Inline remaining files Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 23/24] drm/arc: Initialize sim connector before display pipe Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-04 14:39 ` [PATCH 24/24] drm/arc: Move to drm/tiny Daniel Vetter 2020-09-04 14:39 ` [Intel-gfx] " Daniel Vetter 2020-09-09 7:54 ` Thomas Zimmermann 2020-09-09 7:54 ` [Intel-gfx] " Thomas Zimmermann 2020-09-04 15:08 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm_managed, leftovers Patchwork 2020-09-04 15:09 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2020-09-04 15:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2020-09-05 3:03 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2020-09-07 9:19 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm_managed, leftovers (rev2) Patchwork 2020-09-07 9:20 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2020-09-07 9:36 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2020-09-09 9:45 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm_managed, leftovers (rev3) Patchwork 2020-09-09 12:11 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm_managed, leftovers (rev4) Patchwork
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200904143941.110665-10-daniel.vetter@ffwll.ch \ --to=daniel.vetter@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.