On Thu, Dec 10, 2020 at 03:55:27PM +0200, Sakari Ailus wrote:
On Thu, Dec 10, 2020 at 03:05:02PM +0200, Andy Shevchenko wrote:
On Thu, Dec 10, 2020 at 2:16 PM Petr Mladek pmladek@suse.com wrote:
On Fri 2020-11-13 12:54:41, Sakari Ailus wrote:
Add a printk modifier %p4cc (for pixel format) for printing V4L2 and DRM pixel formats denoted by fourccs. The fourcc encoding is the same for both so the same implementation can be used.
Suggested-by: Mauro Carvalho Chehab mchehab@kernel.org Signed-off-by: Sakari Ailus sakari.ailus@linux.intel.com
Andy, Rasmus,
the last version looks fine to me. I am going to push it. Please, speak up if you are against it.
My concerns are:
- not so standard format of representation (why not to use
string_escape_mem() helper?) or is it?
The format string may contain spaces that are not meant to be printed. Other unprintable chacaters should not be present (at least not in V4L2 pixelformats). The hexadecimal representation is there to convey the numerical value and that originally came from DRM, not V4L2.
Yes, but I mean that we usually anticipate the escaped characters in a form of '\xNN' (hex) or '\NNN' (octal). The format '(NN)' is quite unusual to me.
- no compatibility with generic 4cc (I would rather have an additional specifier here for v4l2 cases.
What do you mean by "generic 4cc"? There are two users of 4cc codes in the kernel that I know of: V4L2 and DRM. Something that does not refer to in-memory pixel formats?
Of course. Everything else. 4cc is a generic term to describe something which is of 4 characters long [1]. It's not limited by media file formats. And moreover some (chip) vendors are using it as well (Synopsys). Microsoft uses 4cc in CSRT ACPI table for vendor field and so on...
[1]: https://en.wikipedia.org/wiki/FourCC