Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp297845ybb; Fri, 3 Apr 2020 02:58:33 -0700 (PDT) X-Google-Smtp-Source: APiQypL+/QDFUsqGlBcjAHaXGeoMVjId7dDdbyKiWpd8sEjCvU6bX9FGGHPP3EEesaoowPK+9LYA X-Received: by 2002:aca:1303:: with SMTP id e3mr2332957oii.36.1585907912931; Fri, 03 Apr 2020 02:58:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585907912; cv=none; d=google.com; s=arc-20160816; b=R5GPtsx+iJ0uB2V6Q5EBGbqY4+YuefObTK1umAgdEDvry6FNUx0U94jdMrwaQrBLcP rNaPajATMiz1plbJnycqnhhEEA32AJWe52S2w9Rccs4PCcFXYg8YterTVbyZH3lJLwDD zjJT/vwluHpHKDN3G+3oz7v6REL5F28+aEUdTaiXI4h2EQ0abkIqZFlvRKIb4ALK5iFH 6lZPhQ16r4DY15hoR0cA5kzx1n0H0Z3zKEsRxqBWE+b3ZkROOHGCN2ZUXyyFOZJDJbog +nACyja2F1aw9VvpMC0E9QVBMdyacisDe4xCY+lkCN+RTTGc/T2mlOcNVZ6gKf2TF4iu xMhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:organization:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:ironport-sdr:ironport-sdr; bh=ChKz8PxKkWivmpVuUz75F91slqRrGVK6SWSeSpVy1IM=; b=FceYkt8Hvu4z4WbS4+hiP+bkdy7nbxU1YD9w/ClgaSkq4TBlYz7Nkv60lLBrAvFGG1 OvNRClXFOziqeokxf3Xd9T/E2fLGr+o8Li5SZ0toIvsl5y6bUfcey1B+gqv38VV5W1yy u60gDHnRMX+Juj6auAvcCjb6RUSFW4fvchys+dfdSwgdzthK9lV6XyoRkdT6VsryIsd5 FzROGuYcuVJ3+SLgVRl0yg6vuLH6nB4t6gW+b5mubur9MU9sy6FjchZdM7a/CRvIya76 0rugP2bDBn/TGVVlmv1uIdaoPhXanrSW+03zpgNTCsCroxR6XXMzd7FAVbMYC77b0ghd 9raQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id w14si2940007otl.175.2020.04.03.02.58.19; Fri, 03 Apr 2020 02:58:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S2390614AbgDCJbF (ORCPT + 99 others); Fri, 3 Apr 2020 05:31:05 -0400 Received: from mga05.intel.com ([192.55.52.43]:12998 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388472AbgDCJbE (ORCPT ); Fri, 3 Apr 2020 05:31:04 -0400 IronPort-SDR: hMx56VxgWOkMxvSiPtEF3fZyS4vzACpji9paDAj9A7fYYsTNKiS85cFTuD9zBoXtEv/YtpA6h7 i8dgcCMwU4zQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Apr 2020 02:31:04 -0700 IronPort-SDR: Ff+uh1GlRsAzAACn6hWcKwB6L/7wQ6bTYA7eA69rBEVqU7gH6ev/OBSCkNoeT2Ric3r7jt7Mg5 r7eRvnv3tT1Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,339,1580803200"; d="scan'208";a="449968404" Received: from smile.fi.intel.com (HELO smile) ([10.237.68.40]) by fmsmga005.fm.intel.com with ESMTP; 03 Apr 2020 02:31:01 -0700 Received: from andy by smile with local (Exim 4.93) (envelope-from ) id 1jKIfH-00FOWT-O4; Fri, 03 Apr 2020 12:31:03 +0300 Date: Fri, 3 Apr 2020 12:31:03 +0300 From: Andy Shevchenko To: Sakari Ailus Cc: Petr Mladek , linux-media@vger.kernel.org, Dave Stevenson , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com, mchehab@kernel.org, Sergey Senozhatsky , Steven Rostedt , Joe Perches , Jani Nikula Subject: Re: [PATCH v2 1/1] lib/vsprintf: Add support for printing V4L2 and DRM fourccs Message-ID: <20200403093103.GI1922688@smile.fi.intel.com> References: <20200403091156.7814-1-sakari.ailus@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200403091156.7814-1-sakari.ailus@linux.intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 03, 2020 at 12:11:56PM +0300, Sakari Ailus wrote: > Add a printk modifier %ppf (for pixel format) for printing V4L2 and DRM > pixel formats denoted by 4ccs. The 4cc encoding is the same for both so > the same implementation can be used. ... > +static noinline_for_stack > +char *fourcc_string(char *buf, char *end, const u32 *fourcc, > + struct printf_spec spec, const char *fmt) > +{ > +#define FOURCC_STRING_BE "-BE" > + char s[sizeof(*fourcc) + sizeof(FOURCC_STRING_BE)] = { 0 }; I guess it makes it too complicated. char s[8]; > + if (check_pointer(&buf, end, fourcc, spec)) > + return buf; > + > + if (fmt[1] != 'c' || fmt[2] != 'c') > + return error_string(buf, end, "(%p4?)", spec); > + > + put_unaligned_le32(*fourcc & ~BIT(31), s); Can you elaborate what the difference in output with this bit set over cleared? I.o.w. why don't we need to put it as BE and for LE case addd "-LE"? > + if (*fourcc & BIT(31)) > + strscpy(s + sizeof(*fourcc), FOURCC_STRING_BE, > + sizeof(FOURCC_STRING_BE)); We know the size, and we may put '\0' as well if (*fourcc & BIT(31)) strscpy(&s[4], "-BE", sizeof("-BE")); else strscpy(&s[4], "", sizeof("")); > + return string(buf, end, s, spec); > +} -- With Best Regards, Andy Shevchenko