From: Greg KH <gregkh@suse.de>
To: Alessandro Rubini <rubini@gnudd.com>
Cc: linux-kernel@vger.kernel.org, giancarlo.asnaghi@st.com
Subject: Re: [RFC PATCH] debugfs: add tools to printk 32-bit registers
Date: Tue, 15 Nov 2011 13:20:12 -0800 [thread overview]
Message-ID: <20111115212012.GA5467@suse.de> (raw)
In-Reply-To: <20111115130230.GA23584@mail.gnudd.com>
On Tue, Nov 15, 2011 at 02:02:30PM +0100, Alessandro Rubini wrote:
> Some debugfs file I deal with are mostly blocks of registers,
> i.e. lines of the form "<name> = 0x<value>". Some files are only
> registers, some include registers blocks among other material. This
> patch introduces data structures and functions to deal with both
> cases. I expect more users of this over time.
Nice, but a few minor questions:
> +/*
> + * The regset32 stuff is used to print 32-bit registers using the
> + * seq_file utilities. We offer printing a register set in an already-opened
> + * sequential file or create a debugfs file that only prints a regset32.
> + */
Can this be part of the kerneldoc below somehow so that people are more
aware of it?
> +
> +/**
> + * debugfs_print_regs32 - use seq_print to describe a set of registers
> + * @s: the seq_file structure being used to generate output
> + * @regs: an array if struct debugfs_reg32 structures
> + * @mregs: the length of the above array
> + * @base: the base address to be used in reading the registers
> + * @prefix: a string to be prefixed to every output line
> + *
> + * This function outputs a text block describing the current values of
> + * some 32-bit hardware registers. It is meant to be used within debugfs
> + * files based on seq_file that need to show registers, intermixed with other
> + * information. The prefix argument may be used to specify a leading string,
> + * because some peripherals have several blocks of identical registers,
> + * for example configuration of dma channels
> + */
> +int debugfs_print_regs32(struct seq_file *s, struct debugfs_reg32 *regs,
> + int nregs, void __iomem *base, char *prefix)
> +{
> + int i, ret = 0;
> +
> + for (i = 0; i < nregs; i++, regs++) {
> + if (prefix)
> + ret += seq_printf(s, "%s", prefix);
> + ret += seq_printf(s, "%s = 0x%08x\n", regs->name,
> + readl((void *)(base + regs->offset)));
> + }
> + return ret;
> +}
> +EXPORT_SYMBOL_GPL(debugfs_print_regs32);
This function also needs to be part of debugfs.h in the "debugfs is not
enabled" section of the file, right?
thanks,
greg k-h
next prev parent reply other threads:[~2011-11-15 21:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-15 13:02 [RFC PATCH] debugfs: add tools to printk 32-bit registers Alessandro Rubini
2011-11-15 21:20 ` Greg KH [this message]
2011-11-15 21:37 ` Alessandro Rubini
2011-11-15 22:04 ` Felipe Balbi
2011-11-15 22:21 ` Alessandro Rubini
2011-11-16 11:14 ` Felipe Balbi
2011-11-15 22:09 ` Greg KH
2011-11-16 11:31 ` Mark Brown
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=20111115212012.GA5467@suse.de \
--to=gregkh@suse.de \
--cc=giancarlo.asnaghi@st.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rubini@gnudd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox