> On 12 Mar 2025, at 9:05 PM, Sven Peter <sven@xxxxxxxxxxxxx> wrote: > > Hi, > > > On Wed, Mar 12, 2025, at 13:03, Aditya Garg wrote: >>>> On 12 Mar 2025, at 5:29 PM, Thomas Zimmermann <tzimmermann@xxxxxxx> wrote: >>> >>> Hi >>> >>>> Am 12.03.25 um 12:49 schrieb Aditya Garg: >>>> >>>>>> On 12 Mar 2025, at 5:16 PM, Thomas Zimmermann <tzimmermann@xxxxxxx> wrote: >>>>> >>>>> Hi >>>>> >>>>>> Am 12.03.25 um 10:05 schrieb Aditya Garg: >>>>>> From: Hector Martin <marcan@xxxxxxxxx> >>>>>> >>>>>> %p4cc is designed for DRM/V4L2 FourCCs with their specific quirks, but >>>>>> it's useful to be able to print generic 4-character codes formatted as >>>>>> an integer. Extend it to add format specifiers for printing generic >>>>>> 32-bit FourCCs with various endian semantics: >>>>>> >>>>>> %p4ch Host byte order >>>>>> %p4cn Network byte order >>>>>> %p4cl Little-endian >>>>>> %p4cb Big-endian >>>>> That looks like someone trying to be too clever for their own good. Just my 2 cts. >>>> I don't understand what you are trying to say. Anyways, I thought it's obvious, but Petr's Ack is still left and thus cannot be merged into DRM for now unless he says so in this thread. >>> >>> I'm trying to say that the author of this patch found the %p4cc functionality and over-generalized the feature. Source code should express the idea of what it's doing in clear terms. %p4ch somehow doesn't do that for me. Printing 4 bytes in various orders without context seems arbitrary and confusing. >>> >>> (I don't really have a say here. I'm just asking to reconsider this change.) >> >> Ah I see. I'll checkout the macros you sent. The Asahi Linux SMC >> drivers would need these as well, so I'll probably first wait for the >> vsprintf maintainers and also Asahi Linux maintainers for their views. > > I don't have a strong opinion either way: for SMC I just need to print > FourCC keys for debugging / information in a few places. > > I'm preparing the SMC driver for upstreaming again (after a two year delay :-() > and was just going to use macros to print the SMC FourCC keys similar to > DRM_MODE_FMT/DRM_MODE_ARG for now to keep the series smaller and revisit > the topic later. > > Right now I have these in my local tree (only compile tested so far): > > #define SMC_KEY_FMT "%c%c%c%c (0x%08x)" > #define SMC_KEY_ARG(k) (k)>>24, (k)>>16, (k)>>8, (k), (k) That seems to be a nice alternative, which I guess Thomas was also suggesting. > which are then used like this: > > dev_info(dev, > "Initialized (%d keys " SMC_KEY_FMT " .. " SMC_KEY_FMT ")\n", > smc->key_count, SMC_KEY_ARG(smc->first_key), > SMC_KEY_ARG(smc->last_key)); > > Best, > > Sven