[PATH] NAND Flash support for Intel IXP4xx platform

Thomas Gleixner tglx at linutronix.de
Mon Apr 30 04:17:56 EDT 2007


Ruslan,

Can you please read, understand and comply with
http://www.infradead.org/~dwmw2/email.html

On Mon, 2007-04-30 at 11:36 +0400, Ruslan V. Sushko wrote:
> Thomas,
>
> I have tried to fit driver's functionality into common platform 
> structures. Unfortunately the device hasn't NAND controller and some 
> signals (ALE/CLE(pins on data bus) and CS(gpio)) are driven in custom 
> way. Current platform structures have not enough fields to carry 
> platform dependent data for this driver without hack (I guess use fields 
> not used in driver but designed for other things is not good idea). 
> Additionally due to device haven't NAND controller future version of 
> board may change the way which is used to drive CS signal, 

I really do not understand what you are talking about. There is no need
for extra fields and no need for hacks at all.

A generic platform driver, which can be used for any board with a
similar simple interface structure as yours, is just a basic interface
to the nand driver and provides common code like initialization, .....

The platform dependent code (in arch/whatever) has the hardware
dependent functions, which are given via the platform mechanism to the
generic platform driver:

struct platform_nand_ctrl {
        void            (*hwcontrol)(struct mtd_info *mtd, int cmd);
        int             (*dev_ready)(struct mtd_info *mtd);
        void            (*select_chip)(struct mtd_info *mtd, int chip);
        void            *priv;
};

It does not matter whether your board has a special NAND controller or
not. A GPIO based interface fits into this as well, simply because it is
the hardware interface, which controls the NAND flash.

> So I move 
> this functionality completely to hardware dependent part of driver (sent 
> to LAKML)

Sigh. You need a platform driver in drivers/mtd/nand first to move
anything related to nand into your arch code.

	tglx






More information about the linux-mtd mailing list