From: "Thomas Gleixner" <tglx@linutronix.de>
To: Marc Singer <elf@buici.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
linux-mtd@lists.infradead.org,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCH] MTD Maps driver for Sharp LH7a40x
Date: Sat, 19 Jun 2004 10:19:09 +0200 [thread overview]
Message-ID: <200406191019.09268.tglx@linutronix.de> (raw)
In-Reply-To: <20040619003818.GB21609@buici.com>
On Saturday 19 June 2004 02:38, Marc Singer wrote:
> > The common case can just be solved by using the physmap driver and the
> > command line partition parser. Maybe we should think about an extension
> > to physmap so the board support code can supply an appropriate
> > partitioning scheme along with the chip description.
> >
> > I was thinking about simliar support for the NAND driver too, but there
> > it turns out that the anomalities are given per design, although it
> > should not be an unsolvable problem.
>
> I've chatted with Russell King about this, too. I think we agree that
> board-specific code would be a bad idea. The better solution appears
> to be something on the command line. I'm going to look into it. For
> now, consider this PATCH discarded.
Yes, for the common case where we dont have special functions neccecary the
commandline resp. ATAG (unfortunately only for ARM) is the right place.
This works if the only information which is neccecary is
base address, size and buswidth.
Russell, can you please give define two ATAG numbers for this purpose ?
ATAG_MTD_PHYSMAP and
ATAG_MTD_PARTITION
I would be happy to provide the data structures and parsers to make this work.
BUT,
For chips which need Vpp setting for programming and erasing this is rather
impossible. Same applies to NAND drivers, as the NAND interface can hardly be
specified board independent on the commandline.
For general purpose boards (PCI, PC104 whatever) drivers/mtd/ is surely the
right place. For embedded boards I'm not sure if it makes sense to have all
this code in the mtd subsystem or if it would be better to have this in the
board specific code in arch/xxx/boards/myboard.c which is there anyway.
Another possiblity would be to include a hardware related header file in the
physmap driver and the to be written counterpart for NAND.
#define BOARD_SPECIFIC_MTD_FUNCTIONS
#include <asm/hardware.h>
asm/hardware.h includes board_hardware.h if available.
Inside board_hardware.h then we would have
#ifdef BOARD_SPECIFIC_MTD_FUNCTIONS
board_mtd_functionA(){}
board_mtd_functionB(){}
(nand)pyhsmap chip = {
.address = xxxx;
.....
.functionA = board_mtd_functionA;
.functionA = board_mtd_functionB;
}
#endif
Not all arch's provide a hardware.h file but this should be a solvable
problem. For ARM this should work right out of the box.
I know it looks weird in the first place, but it could be one of the possible
solutions to solve the board support mess. Russell uses a similar approach
for the timer init and interrupt handler for the various subarchs of ARM
since long.
Any thoughts ?
--
Thomas
_____________________________________________________________________
From slash dot org
"When customers are visiting, engineers are not allowed to wear ties.
That way the customer can tell who is the engineer and who is the
salesman (and therefore whom to believe.). Ties cut off blood flow
to the brain, making it easier for the salesmen to do their jobs."
_____________________________________________________________________
linutronix - competence in embedded & realtime linux
http://www.linutronix.de
mail: tglx@linutronix.de
next prev parent reply other threads:[~2004-06-19 8:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-13 21:43 [PATCH] MTD Maps driver for Sharp LH7a40x Marc Singer
2004-06-14 0:07 ` Thomas Gleixner
2004-06-14 0:54 ` Marc Singer
2004-06-19 0:05 ` Jun Sun
2004-06-19 0:16 ` Thomas Gleixner
2004-06-19 0:38 ` Marc Singer
2004-06-19 8:19 ` Thomas Gleixner [this message]
2004-06-19 9:23 ` Russell King - ARM Linux
2004-06-19 9:51 ` Thomas Gleixner
2004-06-19 11:01 ` Russell King - ARM Linux
[not found] <083AB380E3924D4795740AAE9A27DCAB7B89B3@cgy2000.interalia.ca>
2004-06-19 17:03 ` David Woodhouse
-- strict thread matches above, loose matches on Subject: below --
2004-06-12 16:47 Marc Singer
2004-06-13 19:34 ` Thomas Gleixner
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=200406191019.09268.tglx@linutronix.de \
--to=tglx@linutronix.de \
--cc=dwmw2@infradead.org \
--cc=elf@buici.com \
--cc=linux-mtd@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
/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