All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Oltean <olteanv@gmail.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	bgolaszewski@baylibre.com, mika.westerberg@linux.intel.com,
	efremov@linux.com, ztuowen@gmail.com,
	lkml <linux-kernel@vger.kernel.org>,
	netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH v3] devres: keep both device name and resource name in pretty name
Date: Mon, 1 Jun 2020 23:03:27 +0300	[thread overview]
Message-ID: <CA+h21hotyQhJeMLJz5SaNc+McRF=w2m4m_qAAQV2D6phE6apkA@mail.gmail.com> (raw)
In-Reply-To: <7d88d376-dde7-828e-ad0a-12c0cb596ac1@cogentembedded.com>

Hi Sergei,

On Mon, 1 Jun 2020 at 21:48, Sergei Shtylyov
<sergei.shtylyov@cogentembedded.com> wrote:
>
> On 06/01/2020 12:58 PM, Vladimir Oltean wrote:
>
> > From: Vladimir Oltean <vladimir.oltean@nxp.com>
> >
> > Sometimes debugging a device is easiest using devmem on its register
> > map, and that can be seen with /proc/iomem. But some device drivers have
> > many memory regions. Take for example a networking switch. Its memory
> > map used to look like this in /proc/iomem:
> >
> > 1fc000000-1fc3fffff : pcie@1f0000000
> >   1fc000000-1fc3fffff : 0000:00:00.5
> >     1fc010000-1fc01ffff : sys
> >     1fc030000-1fc03ffff : rew
> >     1fc060000-1fc0603ff : s2
> >     1fc070000-1fc0701ff : devcpu_gcb
> >     1fc080000-1fc0800ff : qs
> >     1fc090000-1fc0900cb : ptp
> >     1fc100000-1fc10ffff : port0
> >     1fc110000-1fc11ffff : port1
> >     1fc120000-1fc12ffff : port2
> >     1fc130000-1fc13ffff : port3
> >     1fc140000-1fc14ffff : port4
> >     1fc150000-1fc15ffff : port5
> >     1fc200000-1fc21ffff : qsys
> >     1fc280000-1fc28ffff : ana
> >
> > But after the patch in Fixes: was applied, the information is now
> > presented in a much more opaque way:
> >
> > 1fc000000-1fc3fffff : pcie@1f0000000
> >   1fc000000-1fc3fffff : 0000:00:00.5
> >     1fc010000-1fc01ffff : 0000:00:00.5
> >     1fc030000-1fc03ffff : 0000:00:00.5
> >     1fc060000-1fc0603ff : 0000:00:00.5
> >     1fc070000-1fc0701ff : 0000:00:00.5
> >     1fc080000-1fc0800ff : 0000:00:00.5
> >     1fc090000-1fc0900cb : 0000:00:00.5
> >     1fc100000-1fc10ffff : 0000:00:00.5
> >     1fc110000-1fc11ffff : 0000:00:00.5
> >     1fc120000-1fc12ffff : 0000:00:00.5
> >     1fc130000-1fc13ffff : 0000:00:00.5
> >     1fc140000-1fc14ffff : 0000:00:00.5
> >     1fc150000-1fc15ffff : 0000:00:00.5
> >     1fc200000-1fc21ffff : 0000:00:00.5
> >     1fc280000-1fc28ffff : 0000:00:00.5
> >
> > That patch made a fair comment that /proc/iomem might be confusing when
> > it shows resources without an associated device, but we can do better
> > than just hide the resource name altogether. Namely, we can print the
> > device name _and_ the resource name. Like this:
> >
> > 1fc000000-1fc3fffff : pcie@1f0000000
> >   1fc000000-1fc3fffff : 0000:00:00.5
> >     1fc010000-1fc01ffff : 0000:00:00.5 sys
> >     1fc030000-1fc03ffff : 0000:00:00.5 rew
> >     1fc060000-1fc0603ff : 0000:00:00.5 s2
> >     1fc070000-1fc0701ff : 0000:00:00.5 devcpu_gcb
> >     1fc080000-1fc0800ff : 0000:00:00.5 qs
> >     1fc090000-1fc0900cb : 0000:00:00.5 ptp
> >     1fc100000-1fc10ffff : 0000:00:00.5 port0
> >     1fc110000-1fc11ffff : 0000:00:00.5 port1
> >     1fc120000-1fc12ffff : 0000:00:00.5 port2
> >     1fc130000-1fc13ffff : 0000:00:00.5 port3
> >     1fc140000-1fc14ffff : 0000:00:00.5 port4
> >     1fc150000-1fc15ffff : 0000:00:00.5 port5
> >     1fc200000-1fc21ffff : 0000:00:00.5 qsys
> >     1fc280000-1fc28ffff : 0000:00:00.5 ana
> >
> > Fixes: 8d84b18f5678 ("devres: always use dev_name() in devm_ioremap_resource()")
> > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> > ---
> > Changes in v2:
> > Checking for memory allocation errors and returning -ENOMEM.
> >
> > Changes in v3:
> > Using devm_kasprintf instead of open-coding it.
> >
> >  lib/devres.c | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/devres.c b/lib/devres.c
> > index 6ef51f159c54..ca0d28727cce 100644
> > --- a/lib/devres.c
> > +++ b/lib/devres.c
> > @@ -119,6 +119,7 @@ __devm_ioremap_resource(struct device *dev, const struct resource *res,
> >  {
> >       resource_size_t size;
> >       void __iomem *dest_ptr;
> > +     char *pretty_name;
> >
> >       BUG_ON(!dev);
> >
> > @@ -129,7 +130,15 @@ __devm_ioremap_resource(struct device *dev, const struct resource *res,
> >
> >       size = resource_size(res);
> >
> > -     if (!devm_request_mem_region(dev, res->start, size, dev_name(dev))) {
> > +     if (res->name)
> > +             pretty_name = devm_kasprintf(dev, GFP_KERNEL, "%s %s",
>
>    What about "%s:%s"? I suspect it'd be better on the ABI side of things?
>
> [...]
>
> MBR, Sergei

I don't have a particular preference, but out of curiosity, why would
it be better?

Thanks,
-Vladimir

  reply	other threads:[~2020-06-01 20:03 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-01  9:58 [PATCH v3] devres: keep both device name and resource name in pretty name Vladimir Oltean
2020-06-01 10:04 ` Greg KH
2020-06-01 10:13   ` Vladimir Oltean
2020-06-01 10:21     ` Greg KH
2020-06-01 18:48 ` Sergei Shtylyov
2020-06-01 20:03   ` Vladimir Oltean [this message]
2020-06-01 20:11     ` Sergei Shtylyov

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='CA+h21hotyQhJeMLJz5SaNc+McRF=w2m4m_qAAQV2D6phE6apkA@mail.gmail.com' \
    --to=olteanv@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=bgolaszewski@baylibre.com \
    --cc=efremov@linux.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=ztuowen@gmail.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.