Messages in this thread | | | Subject | Re: Printing bitfields in the kernel (Re: [PATCH] drm: Parse Colorimetry data block from EDID) | From | Joe Perches <> | Date | Thu, 27 Aug 2020 21:58:22 -0700 |
| |
On Thu, 2020-08-27 at 10:34 +0300, Pekka Paalanen wrote: > On Wed, 26 Aug 2020 22:23:28 +0800 > Algea Cao <algea.cao@rock-chips.com> wrote: > > > CEA 861.3 spec adds colorimetry data block for HDMI. > > Parsing the block to get the colorimetry data from > > panel.
If flags are int, I could imagine another %p<foo> extension where %*p<foo> is used like:
printk("flags: %*p<foo>n", flags, bitstrings)
where flags is:
BIT(0) BIT(1) ... BIT(last)
and
char *bitstrings[] = { "bit 0 description", "bit 1 description", ... "last bit description" };
Or define YA struct with 2 entries as the struct members and use that.
struct foo { unsigned long flags, char ** descriptions, };
struct foo bar = {.flags = <flags> .descriptions = bitstrings};
printk("flags: %p<foo>\n, &bar);
| |