public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: richard kennedy <richard@rsk.demon.co.uk>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: bryan.wu@analog.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Bryan Wu <cooloney.lkml@gmail.com>
Subject: Re: [rfc] exposing MMR's of on-chip peripherals for debugging purposes
Date: Mon, 28 Jan 2008 13:04:51 +0000	[thread overview]
Message-ID: <479DD2F3.6020209@rsk.demon.co.uk> (raw)
In-Reply-To: <8bd0f97a0801280306k5dc4410eu208bc55f1975ceb8@mail.gmail.com>

Mike Frysinger wrote:
> On Jan 28, 2008 5:40 AM, Bryan Wu <bryan.wu@analog.com> wrote:
>> On Mon, 2008-01-28 at 05:16 -0500, Mike Frysinger wrote:
>>> the trouble is that this file currently weighs in at ~1.8 megs.  this
>>> is because it contains all the information for all Blackfin processors
>>> we support (which currently, is about ~23 variants).  it's only going
>>> to get bigger as we support more.  Bryan cringes at the thought of
>>> submitting it to LKML :).  so i'm fishing around for alternatives ...
>>> the code was originally developed against 2.6.21, so UIO was not a
>>> possibility.  i'm still not sure if it is ... i'd have to research it
>>> a bit more and play with things.
>> The main reason I am not willing to submit this to mainline is the file
>> size. It's almost the biggest file in the kernel source. And it will be
>> bigger and bigger when more and more new Blackfin processors supported
>> by Linux kernel.
> 
> a quick check of current git shows it is significantly larger than any other ;)
> 
>> My suggestion is:
>> Or more deeper thought:
>>  - we don't need all the MMR setup at the same time for debugging. for example, maybe for some developer, he/she only needs one driver MMR for debugging such as watchdog/usb/spi/i2c ....
> 
> splitting things up doesnt really address the original issue: there's
> a lot of info here to be kept in the kernel
> 
>>  - How about split the debug MMR table to each drivers or processors?
>>  - watchdog driver implements a debug FS interface for debugging watchdog MMR and other drivers implement their own things.
> 
> this had been mentioned before as a possibility but shot down.  you do
> not want to tie the creation of these debug files to anything as the
> prevents independent development of any other drivers/application that
> use the same peripheral.
> -mike

Hi Mike,
there is a lot of duplication in your file, but you could slim it down a
bit if thats the only objection.

for instance all the COUNTER element addresses have the same offsets
from CNT_CONFIG

CNT_IMASK    = CNT_CONFIG + 4
CNT_STATUS   = CNT_CONFIG + 8
CNT_COMMAND  = CNT_CONFIG + 12
CNT_DEBOUNCE = CNT_CONFIG + 16
CNT_COUNTER  = CNT_CONFIG + 20
CNT_MAX      = CNT_CONFIG + 24
CNT_MIN      = CNT_CONFIG + 28

so you could have a simple function to create all the COUNTER elements
from a given base address, then each variant only needs call that saving
you lots of LOC.

something like :-

make_counter_dir(top, base ) {
	parent = debugfs_create_dir("Counter", top);
	debugfs_create_x16("CNT_COMMAND", 0600, parent, base+12);
	debugfs_create_x16("CNT_CONFIG", 0600, parent, base);
	...
}

Hopefully all the other sections have similar levels of duplication, but
I haven't checked.

Cheers
Richard

  reply	other threads:[~2008-01-28 13:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-28 10:16 [rfc] exposing MMR's of on-chip peripherals for debugging purposes Mike Frysinger
2008-01-28 10:19 ` Mike Frysinger
2008-01-28 10:40 ` Bryan Wu
2008-01-28 11:06   ` Mike Frysinger
2008-01-28 13:04     ` richard kennedy [this message]
2008-01-28 13:10       ` Mike Frysinger
2008-01-29  0:08         ` Daniel Barkalow
2008-01-29  0:15           ` Mike Frysinger
2008-01-29  0:30             ` Daniel Barkalow

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=479DD2F3.6020209@rsk.demon.co.uk \
    --to=richard@rsk.demon.co.uk \
    --cc=bryan.wu@analog.com \
    --cc=cooloney.lkml@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vapier.adi@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox