All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>,
	Petr Mladek <pmladek@suse.com>,
	linux-kernel@vger.kernel.org, rafael@kernel.org
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	linux-acpi@vger.kernel.org, devicetree@vger.kernel.org,
	Rob Herring <robh@kernel.org>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Subject: Re: [PATCH v6 11/12] lib/vsprintf: Add %pfw conversion specifier for printing fwnode names
Date: Tue, 10 Sep 2019 03:21:26 -0700	[thread overview]
Message-ID: <ef57a3fc72b548b7daf9257aacc596d57004199d.camel@perches.com> (raw)
In-Reply-To: <20190910084707.18380-12-sakari.ailus@linux.intel.com>

On Tue, 2019-09-10 at 11:47 +0300, Sakari Ailus wrote:
> Add support for %pfw conversion specifier (with "f" and "P" modifiers) to
> support printing full path of the node, including its name ("f") and only
> the node's name ("P") in the printk family of functions. The two flags
> have equivalent functionality to existing %pOF with the same two modifiers
> ("f" and "P") on OF based systems. The ability to do the same on ACPI
> based systems is added by this patch.

checkpatch comment below:
   A. 
> diff --git a/Documentation/core-api/printk-formats.rst b/Documentation/core-api/printk-formats.rst
[]
> @@ -418,6 +418,30 @@ Examples::
>  
>  Passed by reference.
>  
> +Fwnode handles
> +--------------
> +
> +::
> +
> +	%pfw[fP]
> +
> +For printing information on fwnode handles. The default is to print the full
> +node name, including the path. The modifiers are functionally equivalent to
> +%pOF above.
> +
> +	- f - full name of the node, including the path
> +	- P - the name of the node including an address (if there is one)
> +
> +Examples (ACPI)::
> +
> +	%pfwf	\_SB.PCI0.CIO2.port@1.endpoint@0	- Full node name
> +	%pfwP	endpoint@0				- Node name
> +
> +Examples (OF)::
> +
> +	%pfwf	/ocp@68000000/i2c@48072000/camera@10/port/endpoint - Full name
> +	%pfwP	endpoint				- Node name
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5988,14 +5988,17 @@ sub process {
>  		        for (my $count = $linenr; $count <= $lc; $count++) {
>  				my $specifier;
>  				my $extension;
> +				my $qualifier;
>  				my $bad_specifier = "";
>  				my $fmt = get_quoted_string($lines[$count - 1], raw_line($count, 0));
>  				$fmt =~ s/%%//g;
>  
> -				while ($fmt =~ /(\%[\*\d\.]*p(\w))/g) {
> +				while ($fmt =~ /(\%[\*\d\.]*p(\w)(\w?))/g) {

This is not generic enough to allow all possible qualifiers
to be captured.

This should be something like:

			while ($fmt =~ /(\%[\*\d\.]*p(\w)(\w*))/g) {
	
>  					$specifier = $1;
>  					$extension = $2;
> -					if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOxt]/) {
> +					$qualifier = $3;
> +					if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOxtf]/ ||
> +					    ($extension eq "f" && $qualifier ne "w")) {


And this should likely test
					    (defined $qualifier &&
					     $extension eq 'f' && $qualifier =~ /^w/))

>  						$bad_specifier = $specifier;
>  						last;
>  					}

And here the 'f' isn't really a bad $specifier,
it does not have the correct 'w' $extension.

The valid extensions may change in the future and
this code isn't particularly manageable, so I
think the $specifier/$extension pair should likely
have some additional testing after validating
the $specifier.




  reply	other threads:[~2019-09-10 10:21 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-10  8:46 [PATCH v6 00/12] Device property improvements, add %pfw format specifier Sakari Ailus
2019-09-10  8:46 ` [PATCH v6 01/12] tools lib traceevent: Convert remaining %p[fF] users to %p[sS] Sakari Ailus
2019-09-10  9:22   ` Andy Shevchenko
2019-09-10 11:18   ` Steven Rostedt
2019-09-10 17:18     ` Joe Perches
2019-09-10 18:26       ` Steven Rostedt
2019-09-10 18:42         ` Joe Perches
2019-09-10 19:03           ` Steven Rostedt
2019-09-10 19:44             ` Joe Perches
2019-09-16 11:41               ` Sakari Ailus
2019-09-16 14:37                 ` Steven Rostedt
2019-09-18 13:08                   ` Sakari Ailus
2019-09-10  8:46 ` [PATCH v6 02/12] software node: Get reference to parent swnode in get_parent op Sakari Ailus
2019-09-10  8:46 ` [PATCH v6 03/12] software node: Make argument to to_software_node const Sakari Ailus
2019-09-10  8:46 ` [PATCH v6 04/12] device property: Move fwnode_get_parent() up Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 05/12] device property: Add functions for accessing node's parents Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 06/12] device property: Add fwnode_get_name for returning the name of a node Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 07/12] device property: Add a function to obtain a node's prefix Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 08/12] lib/vsprintf: Remove support for %pF and %pf in favour of %pS and %ps Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 09/12] lib/vsprintf: Make use of fwnode API to obtain node names and separators Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 10/12] lib/vsprintf: OF nodes are first and foremost, struct device_nodes Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 11/12] lib/vsprintf: Add %pfw conversion specifier for printing fwnode names Sakari Ailus
2019-09-10 10:21   ` Joe Perches [this message]
2019-09-18 13:11     ` Sakari Ailus
2019-09-10  8:47 ` [PATCH v6 12/12] lib/test_printf: Add tests for %pfw printk modifier Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ef57a3fc72b548b7daf9257aacc596d57004199d.camel@perches.com \
    --to=joe@perches.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmladek@suse.com \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.