On Wed, Feb 27, 2019 at 8:43 PM Nick Desaulniers
<[email protected]> wrote:
>
> On Wed, Feb 27, 2019 at 3:08 AM Louis Taylor <[email protected]> wrote:
> >
> > When building with -Wformat, clang warns:
> >
> > drivers/hid/hid-quirks.c:1075:27: warning: format specifies type
> > 'unsigned short' but the argument has type '__u32' (aka 'unsigned int')
> > [-Wformat]
> >                   bl_entry->driver_data, bl_entry->vendor,
> >                                          ^~~~~~~~~~~~~~~~
> > ./include/linux/hid.h:1170:48: note: expanded from macro 'dbg_hid'
> >           printk(KERN_DEBUG "%s: " format, __FILE__, ##arg);      \
> >                                    ~~~~~~              ^~~
> > drivers/hid/hid-quirks.c:1076:4: warning: format specifies type
> > 'unsigned short' but the argument has type '__u32' (aka 'unsigned int')
> > [-Wformat]
> >                   bl_entry->product);
> >                   ^~~~~~~~~~~~~~~~~
> > ./include/linux/hid.h:1170:48: note: expanded from macro 'dbg_hid'
> >           printk(KERN_DEBUG "%s: " format, __FILE__, ##arg);      \
> >                                    ~~~~~~              ^~~
> > drivers/hid/hid-quirks.c:1242:12: warning: format specifies type
> > 'unsigned short' but the argument has type '__u32' (aka 'unsigned int')
> > [-Wformat]
> >                   quirks, hdev->vendor, hdev->product);
> >                           ^~~~~~~~~~~~
> > ./include/linux/hid.h:1170:48: note: expanded from macro 'dbg_hid'
> >           printk(KERN_DEBUG "%s: " format, __FILE__, ##arg);      \
> >                                    ~~~~~~              ^~~
> > drivers/hid/hid-quirks.c:1242:26: warning: format specifies type
> > 'unsigned short' but the argument has type '__u32' (aka 'unsigned int')
> > [-Wformat]
> >                   quirks, hdev->vendor, hdev->product);
> >                                         ^~~~~~~~~~~~~
> > ./include/linux/hid.h:1170:48: note: expanded from macro 'dbg_hid'
> >           printk(KERN_DEBUG "%s: " format, __FILE__, ##arg);      \
> >                                    ~~~~~~              ^~~
> > 4 warnings generated.
> >
> > This patch fixes the format strings to use the correct format type for 
> > unsigned
> > ints.
> >
> > Link: https://github.com/ClangBuiltLinux/linux/issues/378
> > Signed-off-by: Louis Taylor <[email protected]>
>
> Thanks for following up on the feedback.
> Reviewed-by: Nick Desaulniers <[email protected]>

Applied to for-5.1/upstream-fixes

Cheers,
Benjamin

>
> > ---
> >
> > v2: change format string to use %04x instead of %x
> >
> >  drivers/hid/hid-quirks.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
> > index 94088c0ed68a..b608a57b7908 100644
> > --- a/drivers/hid/hid-quirks.c
> > +++ b/drivers/hid/hid-quirks.c
> > @@ -1071,7 +1071,7 @@ static struct hid_device_id *hid_exists_dquirk(const 
> > struct hid_device *hdev)
> >         }
> >
> >         if (bl_entry != NULL)
> > -               dbg_hid("Found dynamic quirk 0x%lx for HID device 
> > 0x%hx:0x%hx\n",
> > +               dbg_hid("Found dynamic quirk 0x%lx for HID device 
> > 0x%04x:0x%04x\n",
> >                         bl_entry->driver_data, bl_entry->vendor,
> >                         bl_entry->product);
> >
> > @@ -1238,7 +1238,7 @@ static unsigned long hid_gets_squirk(const struct 
> > hid_device *hdev)
> >                 quirks |= bl_entry->driver_data;
> >
> >         if (quirks)
> > -               dbg_hid("Found squirk 0x%lx for HID device 0x%hx:0x%hx\n",
> > +               dbg_hid("Found squirk 0x%lx for HID device 0x%04x:0x%04x\n",
> >                         quirks, hdev->vendor, hdev->product);
> >         return quirks;
> >  }
> > --
> > 2.20.1
> >
>
>
> --
> Thanks,
> ~Nick Desaulniers

Reply via email to