[PATCH v9 0/8] drm: Remove usage of deprecated DRM_* macros

2023-06-07 Thread Siddh Raman Pant
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

2023-06-07 Thread Siddh Raman Pant
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

2023-06-07 Thread Siddh Raman Pant
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

2023-06-06 Thread Laurent Pinchart
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

2023-06-06 Thread Laurent Pinchart
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

2023-06-06 Thread Laurent Pinchart
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

2023-06-06 Thread Jani Nikula
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