[PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros
This patchset aims to remove usages of deprecated DRM_* macros from the files residing in drivers/gpu/drm root. In process, I found out that NULL as first argument of drm_dbg_* wasn't working, but it was listed as the alternative in deprecation comment, so I fixed that before removing usages of DRM_DEBUG_* macros. Courtesy discussion on v1, I added support for NULL in drm_()* macros too. Courtesy discussion on v7, I removed generic macro stuff meant to accomodate stuff like mipi_dsi_host, and instead reverted a commit which used the drm_err() macro incorrectly by passing mipi_dsi_host. This patchset should be applied in order as changes might be dependent. Please review and let me know if any errors are there, and hopefully this gets accepted. --- v8 -> v9 (today): - Rebased to drm-misc-next. v7 -> v8 (28 Feb 2023): - Reverted 1040e424353f ("drm: mipi-dsi: Convert logging to drm_* functions.") which used drm_err macro incorrectly by passing mipi_dsi_host. - Thus, removed _Generic and allow only drm_device. v6 -> v7 (26 Feb 2023): - Rebased to drm-misc-next, accounting for the merger of last 3 patches in the previous series (4665280990fa, fc2602b553c8, 7bd224b6625a), and 7428ff70a18 ("drm: initialize accel framework"). v5 -> v6 (09 Jan 2023): - Move drm_device to default case in _Generic as it is the default behaviour. - Fix incorrect const drm_device handling in _Generic. - Minor positioning / comment changes. v4 -> v5 (07 Jan 2023): - Make separate function instead of using boolean in _Generic (sravn on IRC). - Also, simplified the Generic macro, and renamed the function and macro. v3 -> v4 (05 Jan 2023): - Fix commit message for DRM_NOTE erroneously mentioning DRM_INFO. - Rebased to drm-misc-next, as 723dad977acd added drm_dbg_core() to some files. - Move Generic out to a separate macro __drm_get_dev_ptr, so that interface of drm_dbg_*() is also same as other drm_*() macros. - Fix comment in __drm_get_dev_ptr (now ___drm_get_dev_ptr) to use correct name. v2 -> v3 (26 Dec 2022): - Added support for NULL in __drm_printk and thus by extension to drm_()*. - Thus, converted dropped pr_()* changes to drm_*(NULL, ...). - Rebased to drm-misc-next and resulting appropriate changes. v1 (20 Dec 2022) -> v2 (22 Dec 2022): - Removed conversions to pr_*() in DRM_INFO, DRM_NOTE, and DRM_ERROR changes. - Due to above, DRM_NOTE usage cannot be removed and the patch is dropped. - DRY: NULL support is now achieved by way of a separate function. Siddh Raman Pant (8): Revert "drm: mipi-dsi: Convert logging to drm_* functions." drm/print: Fix and add support for NULL as first argument in drm_* macros drm: Remove usage of deprecated DRM_INFO drm: Remove usage of deprecated DRM_NOTE drm: Remove usage of deprecated DRM_ERROR drm: Remove usage of deprecated DRM_DEBUG drm: Remove usage of deprecated DRM_DEBUG_DRIVER drm: Remove usage of deprecated DRM_DEBUG_KMS drivers/gpu/drm/drm_agpsupport.c| 4 +- drivers/gpu/drm/drm_bridge.c| 8 +- drivers/gpu/drm/drm_bufs.c | 122 drivers/gpu/drm/drm_client_modeset.c| 118 +-- drivers/gpu/drm/drm_color_mgmt.c| 4 +- drivers/gpu/drm/drm_connector.c | 28 +++--- drivers/gpu/drm/drm_context.c | 18 ++-- drivers/gpu/drm/drm_crtc.c | 36 --- drivers/gpu/drm/drm_crtc_helper.c | 62 ++-- drivers/gpu/drm/drm_debugfs_crc.c | 8 +- drivers/gpu/drm/drm_displayid.c | 6 +- drivers/gpu/drm/drm_dma.c | 10 +- drivers/gpu/drm/drm_drv.c | 28 +++--- drivers/gpu/drm/drm_edid.c | 17 ++-- drivers/gpu/drm/drm_flip_work.c | 2 +- drivers/gpu/drm/drm_framebuffer.c | 3 +- drivers/gpu/drm/drm_gem.c | 7 +- drivers/gpu/drm/drm_gem_dma_helper.c| 2 +- drivers/gpu/drm/drm_hashtab.c | 10 +- drivers/gpu/drm/drm_irq.c | 4 +- drivers/gpu/drm/drm_kms_helper_common.c | 2 +- drivers/gpu/drm/drm_lease.c | 4 +- drivers/gpu/drm/drm_legacy_misc.c | 4 +- drivers/gpu/drm/drm_lock.c | 36 +++ drivers/gpu/drm/drm_mipi_dbi.c | 19 ++-- drivers/gpu/drm/drm_mipi_dsi.c | 15 +-- drivers/gpu/drm/drm_mm.c| 8 +- drivers/gpu/drm/drm_mode_config.c | 2 +- drivers/gpu/drm/drm_mode_object.c | 6 +- drivers/gpu/drm/drm_modes.c | 36 +++ drivers/gpu/drm/drm_modeset_helper.c| 2 +- drivers/gpu/drm/drm_pci.c | 14 +-- drivers/gpu/drm/drm_plane.c | 46 - drivers/gpu/drm/drm_probe_helper.c | 39 drivers/gpu/drm/drm_rect.c | 4 +- drivers/gpu/drm/drm_scatter.c | 19 ++-- drivers/gpu/drm/drm_syncobj.c | 2 +- drivers/gpu/drm/drm_sysfs.c | 22 ++--- drivers/gpu/drm/drm_vm.c| 45 +
Re: [PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros
On Tue, 06 Jun 2023 20:35:45 +0530, Laurent Pinchart wrote: > This is a nice series, thank you for working on that. > > Now that the deprecated macros are used in drivers only, would it make > sense to move them to a drm_print_deprecated.h header, to make sure no > new driver uses them ? Sure, but then should that header be included wherever drm_print.h is included with a find and replace, to avoid breakage? Not every file can be seen at a case-by-case basis or by coccinelle as far as I understand its usage. Consider the following: DRM_INFO is used on line 210 of amd/amdgpu/amdgpu_acpi.c, but the file does not even include drm_print.h directly. It includes the amdgpu.h header, which includes the amdgpu_ring.h header, which finally has the "#include " line. If a simple find and replace has to be done, then that can be added at the end of the series. Thanks, Siddh
Re: [PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros
On Tue, 06 Jun 2023 23:19:28 +0530, Laurent Pinchart wrote: > The idea would be to include the drm_print_deprecated.h header in > drivers that still use the deprecated macros. Yeah, what I meant was in a "first pass" kind of sense. > > Not every file can be seen at a case-by-case basis or by coccinelle > > as far as I understand its usage. Consider the following: > > > > DRM_INFO is used on line 210 of amd/amdgpu/amdgpu_acpi.c, but the > > file does not even include drm_print.h directly. It includes the > > amdgpu.h header, which includes the amdgpu_ring.h header, which > > finally has the "#include " line. > > > > If a simple find and replace has to be done, then that can be added > > at the end of the series. > > Maybe a simple grep for the deprecated macros would be enough to > identify all the files that still use them ? Hmm, so the drm_print_deprecated.h should be included individually on all the files, regardless of whether they include drm_print.h directly or not? Actually that makes sense, so further inclusion of top-level header would not automatically include the deprecated macros. Since this needs some thought, I will be sending v10 without this. This change can be sent later separately, as it will anyways be a huge patch, and 10 is already a big enough revision number. Thanks, Siddh
Re: [PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros
On Tue, Jun 06, 2023 at 11:47:50PM +0530, Siddh Raman Pant wrote: > On Tue, 06 Jun 2023 23:19:28 +0530, Laurent Pinchart wrote: > > The idea would be to include the drm_print_deprecated.h header in > > drivers that still use the deprecated macros. > > Yeah, what I meant was in a "first pass" kind of sense. > > > > Not every file can be seen at a case-by-case basis or by coccinelle > > > as far as I understand its usage. Consider the following: > > > > > > DRM_INFO is used on line 210 of amd/amdgpu/amdgpu_acpi.c, but the > > > file does not even include drm_print.h directly. It includes the > > > amdgpu.h header, which includes the amdgpu_ring.h header, which > > > finally has the "#include " line. > > > > > > If a simple find and replace has to be done, then that can be added > > > at the end of the series. > > > > Maybe a simple grep for the deprecated macros would be enough to > > identify all the files that still use them ? > > Hmm, so the drm_print_deprecated.h should be included individually on > all the files, regardless of whether they include drm_print.h directly > or not? > > Actually that makes sense, so further inclusion of top-level header > would not automatically include the deprecated macros. That's the idea, yes. It would also clearly flag drivers that need to be converted to the new macros. > Since this needs some thought, I will be sending v10 without this. > This change can be sent later separately, as it will anyways be a > huge patch, and 10 is already a big enough revision number. Sounds good to me. -- Regards, Laurent Pinchart
Re: [PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros
On Tue, Jun 06, 2023 at 10:59:14PM +0530, Siddh Raman Pant wrote: > On Tue, 06 Jun 2023 20:35:45 +0530, Laurent Pinchart wrote: > > This is a nice series, thank you for working on that. > > > > Now that the deprecated macros are used in drivers only, would it make > > sense to move them to a drm_print_deprecated.h header, to make sure no > > new driver uses them ? > > Sure, but then should that header be included wherever drm_print.h is > included with a find and replace, to avoid breakage? The idea would be to include the drm_print_deprecated.h header in drivers that still use the deprecated macros. > Not every file can be seen at a case-by-case basis or by coccinelle > as far as I understand its usage. Consider the following: > > DRM_INFO is used on line 210 of amd/amdgpu/amdgpu_acpi.c, but the > file does not even include drm_print.h directly. It includes the > amdgpu.h header, which includes the amdgpu_ring.h header, which > finally has the "#include " line. > > If a simple find and replace has to be done, then that can be added > at the end of the series. Maybe a simple grep for the deprecated macros would be enough to identify all the files that still use them ? -- Regards, Laurent Pinchart
Re: [PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros
Hi Siddh, On Tue, Jun 06, 2023 at 04:15:14PM +0530, Siddh Raman Pant wrote: > This patchset aims to remove usages of deprecated DRM_* macros from the > files residing in drivers/gpu/drm root. > > In process, I found out that NULL as first argument of drm_dbg_* wasn't > working, but it was listed as the alternative in deprecation comment, > so I fixed that before removing usages of DRM_DEBUG_* macros. > > Courtesy discussion on v1, I added support for NULL in drm_()* macros too. > > Courtesy discussion on v7, I removed generic macro stuff meant to accomodate > stuff like mipi_dsi_host, and instead reverted a commit which used the > drm_err() macro incorrectly by passing mipi_dsi_host. > > This patchset should be applied in order as changes might be dependent. > > Please review and let me know if any errors are there, and hopefully > this gets accepted. This is a nice series, thank you for working on that. Now that the deprecated macros are used in drivers only, would it make sense to move them to a drm_print_deprecated.h header, to make sure no new driver uses them ? > --- > > v8 -> v9 (today): > - Rebased to drm-misc-next. > > v7 -> v8 (28 Feb 2023): > - Reverted 1040e424353f ("drm: mipi-dsi: Convert logging to drm_* functions.") > which used drm_err macro incorrectly by passing mipi_dsi_host. > - Thus, removed _Generic and allow only drm_device. > > v6 -> v7 (26 Feb 2023): > - Rebased to drm-misc-next, accounting for the merger of last 3 patches > in the previous series (4665280990fa, fc2602b553c8, 7bd224b6625a), > and 7428ff70a18 ("drm: initialize accel framework"). > > v5 -> v6 (09 Jan 2023): > - Move drm_device to default case in _Generic as it is the default behaviour. > - Fix incorrect const drm_device handling in _Generic. > - Minor positioning / comment changes. > > v4 -> v5 (07 Jan 2023): > - Make separate function instead of using boolean in _Generic (sravn on IRC). > - Also, simplified the Generic macro, and renamed the function and macro. > > v3 -> v4 (05 Jan 2023): > - Fix commit message for DRM_NOTE erroneously mentioning DRM_INFO. > - Rebased to drm-misc-next, as 723dad977acd added drm_dbg_core() to some > files. > - Move Generic out to a separate macro __drm_get_dev_ptr, so that interface > of drm_dbg_*() is also same as other drm_*() macros. > - Fix comment in __drm_get_dev_ptr (now ___drm_get_dev_ptr) to use correct > name. > > v2 -> v3 (26 Dec 2022): > - Added support for NULL in __drm_printk and thus by extension to drm_()*. > - Thus, converted dropped pr_()* changes to drm_*(NULL, ...). > - Rebased to drm-misc-next and resulting appropriate changes. > > v1 (20 Dec 2022) -> v2 (22 Dec 2022): > - Removed conversions to pr_*() in DRM_INFO, DRM_NOTE, and DRM_ERROR changes. > - Due to above, DRM_NOTE usage cannot be removed and the patch is dropped. > - DRY: NULL support is now achieved by way of a separate function. > > Siddh Raman Pant (8): > Revert "drm: mipi-dsi: Convert logging to drm_* functions." > drm/print: Fix and add support for NULL as first argument in drm_* > macros > drm: Remove usage of deprecated DRM_INFO > drm: Remove usage of deprecated DRM_NOTE > drm: Remove usage of deprecated DRM_ERROR > drm: Remove usage of deprecated DRM_DEBUG > drm: Remove usage of deprecated DRM_DEBUG_DRIVER > drm: Remove usage of deprecated DRM_DEBUG_KMS > > drivers/gpu/drm/drm_agpsupport.c| 4 +- > drivers/gpu/drm/drm_bridge.c| 8 +- > drivers/gpu/drm/drm_bufs.c | 122 > drivers/gpu/drm/drm_client_modeset.c| 118 +-- > drivers/gpu/drm/drm_color_mgmt.c| 4 +- > drivers/gpu/drm/drm_connector.c | 28 +++--- > drivers/gpu/drm/drm_context.c | 18 ++-- > drivers/gpu/drm/drm_crtc.c | 36 --- > drivers/gpu/drm/drm_crtc_helper.c | 62 ++-- > drivers/gpu/drm/drm_debugfs_crc.c | 8 +- > drivers/gpu/drm/drm_displayid.c | 6 +- > drivers/gpu/drm/drm_dma.c | 10 +- > drivers/gpu/drm/drm_drv.c | 28 +++--- > drivers/gpu/drm/drm_edid.c | 17 ++-- > drivers/gpu/drm/drm_flip_work.c | 2 +- > drivers/gpu/drm/drm_framebuffer.c | 3 +- > drivers/gpu/drm/drm_gem.c | 7 +- > drivers/gpu/drm/drm_gem_dma_helper.c| 2 +- > drivers/gpu/drm/drm_hashtab.c | 10 +- > drivers/gpu/drm/drm_irq.c | 4 +- > drivers/gpu/drm/drm_kms_helper_common.c | 2 +- > drivers/gpu/drm/drm_lease.c | 4 +- > drivers/gpu/drm/drm_legacy_misc.c | 4 +- > drivers/gpu/drm/drm_lock.c | 36 +++ > drivers/gpu/drm/drm_mipi_dbi.c | 19 ++-- > drivers/gpu/drm/drm_mipi_dsi.c | 15 +-- > drivers/gpu/drm/drm_mm.c| 8 +- > drivers/gpu/drm/drm_mode_config.c | 2 +- > drivers/gpu/drm/drm_mode_object.c | 6 +- > drivers/gpu/drm/drm_modes.c
Re: [PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros
On Tue, 06 Jun 2023, Siddh Raman Pant wrote: > This patchset aims to remove usages of deprecated DRM_* macros from the > files residing in drivers/gpu/drm root. > > In process, I found out that NULL as first argument of drm_dbg_* wasn't > working, but it was listed as the alternative in deprecation comment, > so I fixed that before removing usages of DRM_DEBUG_* macros. > > Courtesy discussion on v1, I added support for NULL in drm_()* macros too. > > Courtesy discussion on v7, I removed generic macro stuff meant to accomodate > stuff like mipi_dsi_host, and instead reverted a commit which used the > drm_err() macro incorrectly by passing mipi_dsi_host. > > This patchset should be applied in order as changes might be dependent. > > Please review and let me know if any errors are there, and hopefully > this gets accepted. FWIW, Acked-by: Jani Nikula > > --- > > v8 -> v9 (today): > - Rebased to drm-misc-next. > > v7 -> v8 (28 Feb 2023): > - Reverted 1040e424353f ("drm: mipi-dsi: Convert logging to drm_* functions.") > which used drm_err macro incorrectly by passing mipi_dsi_host. > - Thus, removed _Generic and allow only drm_device. > > v6 -> v7 (26 Feb 2023): > - Rebased to drm-misc-next, accounting for the merger of last 3 patches > in the previous series (4665280990fa, fc2602b553c8, 7bd224b6625a), > and 7428ff70a18 ("drm: initialize accel framework"). > > v5 -> v6 (09 Jan 2023): > - Move drm_device to default case in _Generic as it is the default behaviour. > - Fix incorrect const drm_device handling in _Generic. > - Minor positioning / comment changes. > > v4 -> v5 (07 Jan 2023): > - Make separate function instead of using boolean in _Generic (sravn on IRC). > - Also, simplified the Generic macro, and renamed the function and macro. > > v3 -> v4 (05 Jan 2023): > - Fix commit message for DRM_NOTE erroneously mentioning DRM_INFO. > - Rebased to drm-misc-next, as 723dad977acd added drm_dbg_core() to some > files. > - Move Generic out to a separate macro __drm_get_dev_ptr, so that interface > of drm_dbg_*() is also same as other drm_*() macros. > - Fix comment in __drm_get_dev_ptr (now ___drm_get_dev_ptr) to use correct > name. > > v2 -> v3 (26 Dec 2022): > - Added support for NULL in __drm_printk and thus by extension to drm_()*. > - Thus, converted dropped pr_()* changes to drm_*(NULL, ...). > - Rebased to drm-misc-next and resulting appropriate changes. > > v1 (20 Dec 2022) -> v2 (22 Dec 2022): > - Removed conversions to pr_*() in DRM_INFO, DRM_NOTE, and DRM_ERROR changes. > - Due to above, DRM_NOTE usage cannot be removed and the patch is dropped. > - DRY: NULL support is now achieved by way of a separate function. > > Siddh Raman Pant (8): > Revert "drm: mipi-dsi: Convert logging to drm_* functions." > drm/print: Fix and add support for NULL as first argument in drm_* > macros > drm: Remove usage of deprecated DRM_INFO > drm: Remove usage of deprecated DRM_NOTE > drm: Remove usage of deprecated DRM_ERROR > drm: Remove usage of deprecated DRM_DEBUG > drm: Remove usage of deprecated DRM_DEBUG_DRIVER > drm: Remove usage of deprecated DRM_DEBUG_KMS > > drivers/gpu/drm/drm_agpsupport.c| 4 +- > drivers/gpu/drm/drm_bridge.c| 8 +- > drivers/gpu/drm/drm_bufs.c | 122 > drivers/gpu/drm/drm_client_modeset.c| 118 +-- > drivers/gpu/drm/drm_color_mgmt.c| 4 +- > drivers/gpu/drm/drm_connector.c | 28 +++--- > drivers/gpu/drm/drm_context.c | 18 ++-- > drivers/gpu/drm/drm_crtc.c | 36 --- > drivers/gpu/drm/drm_crtc_helper.c | 62 ++-- > drivers/gpu/drm/drm_debugfs_crc.c | 8 +- > drivers/gpu/drm/drm_displayid.c | 6 +- > drivers/gpu/drm/drm_dma.c | 10 +- > drivers/gpu/drm/drm_drv.c | 28 +++--- > drivers/gpu/drm/drm_edid.c | 17 ++-- > drivers/gpu/drm/drm_flip_work.c | 2 +- > drivers/gpu/drm/drm_framebuffer.c | 3 +- > drivers/gpu/drm/drm_gem.c | 7 +- > drivers/gpu/drm/drm_gem_dma_helper.c| 2 +- > drivers/gpu/drm/drm_hashtab.c | 10 +- > drivers/gpu/drm/drm_irq.c | 4 +- > drivers/gpu/drm/drm_kms_helper_common.c | 2 +- > drivers/gpu/drm/drm_lease.c | 4 +- > drivers/gpu/drm/drm_legacy_misc.c | 4 +- > drivers/gpu/drm/drm_lock.c | 36 +++ > drivers/gpu/drm/drm_mipi_dbi.c | 19 ++-- > drivers/gpu/drm/drm_mipi_dsi.c | 15 +-- > drivers/gpu/drm/drm_mm.c| 8 +- > drivers/gpu/drm/drm_mode_config.c | 2 +- > drivers/gpu/drm/drm_mode_object.c | 6 +- > drivers/gpu/drm/drm_modes.c | 36 +++ > drivers/gpu/drm/drm_modeset_helper.c| 2 +- > drivers/gpu/drm/drm_pci.c | 14 +-- > drivers/gpu/drm/drm_plane.c | 46 - > drivers/gpu/drm/drm_probe_helper.c | 39