All of lore.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 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.