[PATCH v2 2/2] drm/print: document DRM_ logging functions
Joe Perches
joe at perches.com
Wed Jan 8 20:50:16 UTC 2020
On Wed, 2020-01-08 at 21:04 +0100, Sam Ravnborg wrote:
> Hi Daniel.
> > > > I'd replace the entire block with a "This stuff is deprecated" warning. We
> > > > have at least a corresponding todo.rst entry.
> > >
> > > We have many situations where no drm_device is available.
> > > At least when you a buried in drm_panel patches.
> > >
> > > So it is either DRM_DEV_ERROR() or drv_err().
> > > Which is why I have pushed for nicer drm_ variants of these...
> >
> > Huh, drm_panel indeed has no drm_device. And I guess we don't have a
> > convenient excuse to add it ...
> >
> > > The todo entry only covers the nice new macros that Jani added
> > > where we have a drm_device.
> >
> > I wonder whether for those cases we shouldn't just directly use the
> > various dev_* macros?
>
> We would miss the nice [drm] marker in the logging.
> So [drm] will be added by the drivers and the core - but not the panels.
> That is the only drawback I see right now.
>
> Which was enough justification for me to add the drm_dev_ variants.
> Feel free to convince me that this is not justification to add these
> variants.
>
> In drm/panel/* there is no use of DRM_DEBUG* - and there is no
> reason to introduce the variants we can filer with drm.debug.
>
> There is a single DRM_DEBUG() user, which does not count here.
>
>
> We could introduce only:
>
> drm_dev_(err|warn|info|debug) - and not the more specialized variants.
>
> Then we avoid that people make shortcuts and use drm_dev_dbg_kms() when
> they are supposed to use drm_dbg_kms().
> This was one of the very valid argumest against the patch that
> introduced all the drm_dev_* variants.
A few of these defines aren't used at all.
$ git grep -P -oh "DRM_DEV_DEBUG[A-Z_]*" | sort | uniq -c | sort -rn
98 DRM_DEV_DEBUG_KMS
38 DRM_DEV_DEBUG_DRIVER
26 DRM_DEV_DEBUG
2 DRM_DEV_DEBUG_RATELIMITED
2 DRM_DEV_DEBUG_PRIME_RATELIMITED
2 DRM_DEV_DEBUG_KMS_RATELIMITED
2 DRM_DEV_DEBUG_DRIVER_RATELIMITED
1 DRM_DEV_DEBUG_VBL
1 DRM_DEV_DEBUG_PRIME
1 DRM_DEV_DEBUG_DP
1 DRM_DEV_DEBUG_ATOMIC
It might be sensible to consolidate these into just 2 calls
and add an appropriate <type> argument.
DRM_DEV_DEBUG(dev, type, fmt, ...)
DRM_DEV_DEBUG_RATELIMITED(dev, type, fmt, ...)
or
drm_dev_dbg(dev, type, fmt, ...)
drm_dev_dbg_ratelimited(dev, type, fmt, ...)
A treewide sed is trivial.
More information about the dri-devel
mailing list