On Sun, Apr 23, 2017 at 03:39:22AM -0400, Ian Sutton wrote:
> 
> So through some combination of:
>       * CPP multi-string define with unclear hex escapes prepended
>       * printf() call with one too many parameters
>       * undocumented %b printf() token

you didn't look at the right printf man page. This is kernel code, so
you should look at printf(9) and not at printf(3).

$ man 9 printf
...
     The kernel functions support some additional formatting specifiers:

     %b     Bit field expansion.  This format specifier is useful for decoding
            bit fields in device registers.  It displays an integer using a
            specified radix (base) and an interpretation of the bits within
            that integer as though they were flags.  It requires two arguments
            from the argument vector, the first argument being the bit field
            to be decoded (of type int, unless a width modifier has been
            specified) and the second being a decoding directive string.
...         

Thanks.
-- 
Sebastien Marie

Reply via email to