Re: [PATCH] HID: use standard debug APIs

From: Bastien Nocera
Date: Thu Feb 02 2023 - 05:15:27 EST


On Sun, 2023-01-29 at 21:53 +0000, Thomas Weißschuh wrote:
> Hi Jiri, hi Benjamin,
>
> On Fri, Dec 23, 2022 at 09:30:19PM +0000, Thomas Weißschuh wrote:
> > The custom "debug" module parameter is fairly inflexible.
> > It can only manage debugging for all calls dbg_hid() at the same
> > time.
> >
> > Furthermore it creates a mismatch between calls to hid_dbg() which
> > can
> > be managed by CONFIG_DYNAMIC_DEBUG and dbg_hid() which is managed
> > by the
> > module parameter.
> >
> > Furthermore the change to pr_debug() allows the debugging
> > statements to
> > be completely compiled-out if desired.
> >
> > Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
> > ---
> >
> > Note: This removes the possibility to enable debugging for the HID
> > core
> > and all drivers at the same time.
> > If this is still desirable it could probably be implemented with
> > the new
> > DYNAMIC_DEBUG class feature.
> > ---
> >  drivers/hid/hid-core.c | 9 ---------
> >  include/linux/hid.h    | 8 +-------
> >  2 files changed, 1 insertion(+), 16 deletions(-)
> >
> > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> > index bd47628da6be..4facfb446986 100644
> > --- a/drivers/hid/hid-core.c
> > +++ b/drivers/hid/hid-core.c
> > @@ -41,11 +41,6 @@
> >  
> >  #define DRIVER_DESC "HID core driver"
> >  
> > -int hid_debug = 0;
> > -module_param_named(debug, hid_debug, int, 0600);
> > -MODULE_PARM_DESC(debug, "toggle HID debugging messages");
> > -EXPORT_SYMBOL_GPL(hid_debug);
> > -
> >  static int hid_ignore_special_drivers = 0;
> >  module_param_named(ignore_special_drivers,
> > hid_ignore_special_drivers, int, 0600);
> >  MODULE_PARM_DESC(ignore_special_drivers, "Ignore any special
> > drivers and handle all devices by generic driver");
> > @@ -2909,10 +2904,6 @@ static int __init hid_init(void)
> >  {
> >         int ret;
> >  
> > -       if (hid_debug)
> > -               pr_warn("hid_debug is now used solely for parser
> > and driver debugging.\n"
> > -                       "debugfs is now used for inspecting the
> > device (report descriptor, reports)\n");
> > -
> >         ret = bus_register(&hid_bus_type);
> >         if (ret) {
> >                 pr_err("can't register hid bus\n");
> > diff --git a/include/linux/hid.h b/include/linux/hid.h
> > index 8677ae38599e..676f501507aa 100644
> > --- a/include/linux/hid.h
> > +++ b/include/linux/hid.h
> > @@ -882,8 +882,6 @@ static inline bool hid_is_usb(struct hid_device
> > *hdev)
> >  
> >  /* HID core API */
> >  
> > -extern int hid_debug;
> > -
> >  extern bool hid_ignore(struct hid_device *);
> >  extern int hid_add_device(struct hid_device *);
> >  extern void hid_destroy_device(struct hid_device *);
> > @@ -1191,11 +1189,7 @@ int hid_pidff_init(struct hid_device *hid);
> >  #define hid_pidff_init NULL
> >  #endif
> >  
> > -#define dbg_hid(fmt,
> > ...)                                              \
> > -do
> > {                                                                  
> >  \
> > -       if
> > (hid_debug)                                                  \
> > -               printk(KERN_DEBUG "%s: " fmt, __FILE__,
> > ##__VA_ARGS__); \
> > -} while (0)
> > +#define dbg_hid(fmt, ...) pr_debug("%s: " fmt, __FILE__,
> > ##__VA_ARGS__)
> >  
> >  #define hid_err(hid, fmt, ...)                         \
> >         dev_err(&(hid)->dev, fmt, ##__VA_ARGS__)
>
> any feedback on this patch?
>
> Please note that this is *not* the same as the already merged
> 34ba3657a503 ("HID: i2c-hid: switch to standard debugging APIs")

You can add:
Tested-by: Bastien Nocera <hadess@xxxxxxxxxx>
to this one

I tested it as a way to debug the Logitech G903 regression.

I should note that it's pretty weird to have a dbg_hid() and a
hid_dbg() that do pretty much the same thing, but that was a pre-
existing problem.

>
> > ---
> > base-commit: 51094a24b85e29138b7fa82ef1e1b4fe19c90046
> > change-id: 20221223-hid-dbg-2f3eeddddd53
> >
> > Best regards,
> > --
> > Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
>
> Thanks,
> Thomas