[U-Boot-Users] [PATCH 5/5] OneNAND support
Kyungmin Park
kmpark at infradead.org
Mon Sep 10 03:51:07 CEST 2007
> > diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
> > index 3d91e99..f8eca87 100644
> > --- a/include/config_cmd_all.h
> > +++ b/include/config_cmd_all.h
> > @@ -59,6 +59,7 @@
> > #define CONFIG_CMD_NAND /* NAND support */
> > #define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */
> > #define CONFIG_CMD_NFS /* NFS support */
> > +#define CONFIG_CMD_ONENAND /* OneNAND support */
>
> NAK.
>
> CONFIG_CMD_ONENAND is definitely NOT a candiate for config_cmd_all.h
No problem.
I just add it as comments in "config_cmd_all" file.
"Alphabetical list of all possible commands."
>
>
> > +++ b/include/onenand_uboot.h
> ...
> > +#define DEBUG_LEVEL 2
>
> This should probably be 0 for production code?
>
> > +#ifdef ONENAND_DEBUG
> > +#define DEBUG(level, args...) \
> > +do { \
> > + if (level <= DEBUG_LEVEL) { \
> > + printf(args); \
> > + } \
> > +} while (0)
> > +#else
> > +#define DEBUG(level, args...) do { } while (0)
> > +#endif
>
> Please do not reinvent yoru own debug macros, please use the existing
> ones instead.
>
After new NAND implementation, there are required macro and filed.
I added <linux/mtd/compat.h> and <linux/mtd/mtd.h> headers at required files
Others such as spinlock, wait_queue_head_t are typedef-ed.
In NAND case, it disabled it by "if 0".
And kvec also will be removed at next code update.
Thank you,
Kyungmin Park
#ifndef __UBOOT_ONENAND_H
#define __UBOOT_ONENAND_H
struct kvec {
void *iov_base;
size_t iov_len;
};
typedef int spinlock_t;
typedef int wait_queue_head_t;
/* Functions */
extern void onenand_init(void);
extern int onenand_read(struct mtd_info *mtd, loff_t from, size_t len,
size_t * retlen, u_char * buf);
extern int onenand_read_oob(struct mtd_info *mtd, loff_t from, size_t len,
size_t * retlen, u_char * buf);
extern int onenand_write(struct mtd_info *mtd, loff_t from, size_t len,
size_t * retlen, const u_char * buf);
extern int onenand_erase(struct mtd_info *mtd, struct erase_info *instr);
extern int onenand_unlock(struct mtd_info *mtd, loff_t ofs, size_t len);
extern void onenand_print_device_info(int device, int verbose);
#endif /* __UBOOT_ONENAND_H */
More information about the U-Boot
mailing list