On Fri, Jan 20, 2023 at 02:53:17AM +0200, Laurent Pinchart wrote: > On Thu, Jan 19, 2023 at 05:37:48PM +0300, Dan Carpenter wrote: > > On Thu, Jan 19, 2023 at 02:31:50PM +0000, Phil Elwell wrote: > > > On Thu, 19 Jan 2023 at 14:25, Dan Carpenter wrote: > > > > On Thu, Jan 19, 2023 at 01:47:44PM +0000, Phil Elwell wrote: > > > > > > > I understand the desire to remove the custom logging. I don't welcome > > > > > > > the loss of flexibility that comes with such a strategy > > > > > > > > > > > > What "loss of flexibility"? You now have access to the full dynamic > > > > > > debugging facilities that all of the rest of the kernel has. What is > > > > > > lacking? > > > > > > > > > > Perhaps I've missed something, either in this patch set or the kernel > > > > > as a whole, but how is one supposed to set different logging levels on > > > > > different facilities within a driver/module, or even for the module as > > > > > a whole? > > > > > > > > Yeah. You will be still able to do that and more besides after the > > > > transition. Cleaning this up makes the code better in every way. > > > > > > > > Documentation/admin-guide/dynamic-debug-howto.rst > > > > > > Are you saying this patch set gets us to that point? > > > > Yes. The patch has some issues, but yes. > > I think I'm missing something too then. Dynamic debug provides the > ability to easily switch dev_dbg() messages on and off at runtime, but > it doesn't provide, as far as I'm aware, log levels or log categories. > > Log levels are currently used by the vchiq code to suppress messages > below a certain level. Kernel log levels are not an exact replacement, > as the messages still end up in the kernel log (except for debug > messages). > > Log categories are used to group messages in categories and control > their log level per category. As far as I know, dynamic debug doesn't > provide any such feature. After a bit more research (which I should have done before replying, sorry), it looks like dynamic debug has support for classes, which are used by, for instance, the DRM logging infrastructure (see include/drm/drm_print.h). I don't see that being wired up to dev_*() print macros though, am I missing something, or would vchiq need to keep using custom logging macros (with dynamic debug used as a backend, replacing the current custom implementation) to make use of this feature ? -- Regards, Laurent Pinchart