Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp4875535pxb; Mon, 15 Feb 2021 03:44:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJy+zHTEmg4IukX5WaMGCwIzwAXf5W9ZUKFfYqzxb+p4RREa+qJb8JZlwuAql3VyyvPjOVyR X-Received: by 2002:a50:9f4e:: with SMTP id b72mr15478590edf.4.1613389481973; Mon, 15 Feb 2021 03:44:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613389481; cv=none; d=google.com; s=arc-20160816; b=qKi31Q4IIQX8ZI9yloK/yuy327SPL4EfoO3XeKGhz69F1oYFESo6q6RIuEYSH5TEra 4A4PPP5tSQogv3bdFWIu5UD6URx0O42iJzaqKuf4aB+M9aGs2Ha8eO1WkwyNJu5xM7l8 3uITicgZQ2CDEBahpXtRTs2H3LCj6I67rL6+zXqOvdKoSOZuqdImPiE/hOHUwHTcZbro KdB9OaCtE8lPK6cB8JL4AjtL3NUembzVtGFEM7HwHSZSOYbk/Qm5VOCbAXF8FvbzPbTW JcFRMHtd9oaF+BmdNFW6uVFx2PyQwCa8fJT4gN9EYSBW8zEBtBvxvHYaiOcO/LKNVPBE 5a7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=7mal3MP+ZVtmxcPX38Li9mb9ijAGtwy/DMyAI+zwC30=; b=hn5D0MpGjbWbixWeqlYP463LGuiGwbmi7X2RmibPf90Wen8CAogEb20f5IVXSUMGey uL/I9o1Iohplwl70tLLewcOU5pKQspiJ/MH9TQgQd/xeIMX4tDqSPt6IoNvshBLXRYs5 6eJ2RYYc2HbJu9dMjq1GV9MWQYUAtbP3mD0vHWfeTvObl1bhaeIbRZd2y29rbDT+w4x/ N9AZUU+uOEzrIX1Wcifb0yZmaxDkR3Be0b+1plwnrvAhtOv1kN6nYTHtlM5Cpxsx5W1R 2170nOHzgsn/gEwhDJZ3CPKpACeeMqEZI0ZZU1MRG17jBA5+VDfy/HSgEa+zHjBLP4yL 09mA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c10si11958701edk.143.2021.02.15.03.44.19; Mon, 15 Feb 2021 03:44:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230042AbhBOLmc (ORCPT + 99 others); Mon, 15 Feb 2021 06:42:32 -0500 Received: from retiisi.eu ([95.216.213.190]:48260 "EHLO hillosipuli.retiisi.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229805AbhBOLmT (ORCPT ); Mon, 15 Feb 2021 06:42:19 -0500 Received: from lanttu.localdomain (lanttu-e.localdomain [192.168.1.64]) by hillosipuli.retiisi.eu (Postfix) with ESMTP id 270F5634C98; Mon, 15 Feb 2021 13:39:32 +0200 (EET) From: Sakari Ailus To: linux-kernel@vger.kernel.org Cc: linux-media@vger.kernel.org, Andy Shevchenko , Petr Mladek , Dave Stevenson , dri-devel@lists.freedesktop.org, hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com, mchehab@kernel.org, Sergey Senozhatsky , Steven Rostedt , Joe Perches , Jani Nikula , Rasmus Villemoes Subject: [PATCH v7 0/3] Add %p4cc printk modifier for V4L2 and DRM fourcc codes Date: Mon, 15 Feb 2021 13:40:27 +0200 Message-Id: <20210215114030.11862-1-sakari.ailus@linux.intel.com> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, This set adds support for %p4cc printk modifier for printing V4L2 and DRM fourcc codes. The codes are cumbersome to print manually and by adding the modifier, this task is saved from the V4L2 and DRM frameworks as well as related drivers. DRM actually had it handled in a way (see 3rd patch) but the printk modifier makes printing the format easier even there. On V4L2 side it saves quite a few lines of repeating different implementations of printing the 4cc codes. Further work will include converting the V4L2 drivers doing the same, as well as converting DRM drivers from drm_get_format_name() to plain %p4cc. I left these out from this version since individual drivers are easier changed without dealing with multiple trees. If DRM folks would prefer to convert drivers to %p4cc directly instead I have no problem dropping the 3rd patch. Nearly all uses in DRM are in printk family of functions that can readily use %p4cc instead of the current arrangement that relies on caller-allocated temporary buffer. Since v6: - Don't drop spaces in fourcc codes. - Print unprintable characters as dot ('.') instead of hexadecimal number in parentheses. - Convert DRM from drm_get_format_name() to %p4cc. I wonder if this should be merged through the DRM tree, albeit it's probably unlikely to conflict with other changes. Further use of the function could be a problem. - Make tests more realistic. Since v5: - Added V4L2 core conversion to %p4cc, as well as change the DRM fourcc printing function to use %p4cc. - Add missing checkpatch.pl checks for %p4cc modifier. Sakari Ailus (3): lib/vsprintf: Add support for printing V4L2 and DRM fourccs v4l: ioctl: Use %p4cc printk modifier to print FourCC codes drm: Switch to %p4cc format modifier Documentation/core-api/printk-formats.rst | 16 ++++ drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 5 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 +- .../arm/display/komeda/komeda_format_caps.h | 11 --- .../arm/display/komeda/komeda_framebuffer.c | 4 +- .../gpu/drm/arm/display/komeda/komeda_plane.c | 6 +- drivers/gpu/drm/arm/malidp_mw.c | 7 +- drivers/gpu/drm/drm_atomic.c | 8 +- drivers/gpu/drm/drm_crtc.c | 7 +- drivers/gpu/drm/drm_fourcc.c | 25 ------ drivers/gpu/drm/drm_framebuffer.c | 11 +-- drivers/gpu/drm/drm_mipi_dbi.c | 5 +- drivers/gpu/drm/drm_plane.c | 8 +- .../gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 5 +- drivers/gpu/drm/i915/display/intel_display.c | 14 +-- .../drm/i915/display/intel_display_debugfs.c | 19 ++--- drivers/gpu/drm/i915/display/intel_sprite.c | 6 +- drivers/gpu/drm/mcde/mcde_display.c | 6 +- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 6 +- drivers/gpu/drm/nouveau/nouveau_display.c | 9 +- drivers/gpu/drm/radeon/atombios_crtc.c | 10 +-- drivers/gpu/drm/sun4i/sun4i_backend.c | 6 +- drivers/gpu/drm/vkms/vkms_writeback.c | 7 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 15 ++-- drivers/media/v4l2-core/v4l2-ioctl.c | 85 +++++-------------- include/drm/drm_fourcc.h | 1 - lib/test_printf.c | 17 ++++ lib/vsprintf.c | 39 +++++++++ scripts/checkpatch.pl | 6 +- 32 files changed, 161 insertions(+), 223 deletions(-) -- 2.29.2