MTD git repository status

Charles Manning manningc2 at actrix.gen.nz
Mon Nov 7 14:26:30 EST 2005


Hi Thomas

As an "mtd user outside of mtd" I have an opinion on the nand stuff.

On Tuesday 08 November 2005 07:15, Thomas Gleixner wrote:
> Hi folks,
>
> I've updated the mtd git repository hopefully in time for 2.6.15.
>
> http://www.kernel.org/git/?p=linux/kernel/git/tglx/mtd-2.6.git;a=summary
>
> 	tglx
>
> Following changes are not included into the update:
>
> - [JFFS2]  Erase Block Header(EBH)
> 	Needs proper testing and stabilizing first
>
> - [MTD] NAND: OOB changes
> 	Needs more thoughts. I'm particularly unhappy with the introduction of new
> functions and the still pending problem of the automatic
> placement/retrieval of oob data. The change should subsume and/or extend
> the oob_info
> functionality rather than introducing a parallel solution.

There are two parts to this, I think:
1) The client (ie fs) side: 
More and more I think that the client should just call read_ecc etc with null 
data params in the spirit of my semi-patch proposal. This is pretty straight 
forward and obvious as to what is intended. read_oob is ambiguous. I expect 
that with time all fs/clients will move all oob handling to AUTOPLACE because 
it is too messy having oob_sel hanging through the interface. ( I know I have 
small intestines, I want to have small intestines, but I don't want to see 
them). From an OS perspective (ie outside of mtd), getting a simple interface 
that is well defined and will be consistent over time is pretty important.

2) I think that oob_info-driven nand_base has got about as complex as it can - 
perhaps gone too far. You cannot handle all possible cases with nand_base 
anyway(eg. dma-based solutions). If you try, then do too many things with the 
same code you end up with so many ifs and branches that performance goes to 
hell, as well as very convoluted code where bugs can hide with ease. I agree 
therefore that using functions to replace functionality is a better idea. It 
is perhaps time for a bit of modularity too.


>
> - [MTD] NAND: nandsim
> 	There is still the big Kconfig clutter. For testing environments it _is_
> sufficient to provide all this information as module parameters. No need to
> bloat the config file

Agree. At present nandsim is quite a chore to configure and doing this through 
Kconfig is almost pointless.

As an example, I recently created a bogus 32MB 2k page device.  I did not want 
to go much bigger for various reasons. I thus had to create a bogus nand_id 
first and then set up the Kconfig Id bytes to match.

>
> - [MTD] ONENAND: Simulator
> 	Is depending on arch/??? probably ARM and uses some obscure __iomem*
> constructs.
>
> Can the authors please shed some light on the status of following drivers:
>
> - [MTD] maps mphysram.c
> 	It needs a bunch of coding style cleanups.
>
> - [MTD] devices ramtd.c
> 	Needs probably a go on the fixed size allocation already marked with
> 	/* FIXME */
>
> - [MTD] ssfdc.c
> 	AFAIK the driver is mostly functional. What's missing ?
> 	It needs a bunch of coding style cleanups.
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/




More information about the linux-mtd mailing list