* [PATCH] mtd/nand.h: cleanups @ 2010-10-05 10:41 Sebastian Andrzej Siewior 2010-10-05 18:26 ` Wolfram Sang 2010-10-07 19:17 ` [PATCH] mtd/nand.h: cleanups Artem Bityutskiy 0 siblings, 2 replies; 10+ messages in thread From: Sebastian Andrzej Siewior @ 2010-10-05 10:41 UTC (permalink / raw) To: linux-mtd - *var instead of * var - proper multiline comment - func(args) instead of func (args) - 80 lines So from |total: 2 errors, 37 warnings, 654 lines checked we got to one warning. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- include/linux/mtd/nand.h | 155 +++++++++++++++++++++++++++++----------------- 1 files changed, 99 insertions(+), 56 deletions(-) diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 0238665..acd0b50 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -27,15 +27,17 @@ struct mtd_info; struct nand_flash_dev; /* Scan and identify a NAND device */ -extern int nand_scan (struct mtd_info *mtd, int max_chips); -/* Separate phases of nand_scan(), allowing board driver to intervene - * and override command or ECC setup according to flash type */ +extern int nand_scan(struct mtd_info *mtd, int max_chips); +/* + * Separate phases of nand_scan(), allowing board driver to intervene + * and override command or ECC setup according to flash type. + */ extern int nand_scan_ident(struct mtd_info *mtd, int max_chips, struct nand_flash_dev *table); extern int nand_scan_tail(struct mtd_info *mtd); /* Free resources held by the NAND device */ -extern void nand_release (struct mtd_info *mtd); +extern void nand_release(struct mtd_info *mtd); /* Internal helper for board drivers which need to override command function */ extern void nand_wait_ready(struct mtd_info *mtd); @@ -49,7 +51,8 @@ extern int nand_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); /* The maximum number of NAND chips in an array */ #define NAND_MAX_CHIPS 8 -/* This constant declares the max. oobsize / page, which +/* + * This constant declares the max. oobsize / page, which * is supported now. If you add a chip with bigger oobsize/page * adjust this accordingly. */ @@ -153,9 +156,10 @@ typedef enum { #define NAND_GET_DEVICE 0x80 -/* Option constants for bizarre disfunctionality and real -* features -*/ +/* + * Option constants for bizarre disfunctionality and real + * features. + */ /* Chip can not auto increment pages */ #define NAND_NO_AUTOINCR 0x00000001 /* Buswitdh is 16 bit */ @@ -166,19 +170,27 @@ typedef enum { #define NAND_CACHEPRG 0x00000008 /* Chip has copy back function */ #define NAND_COPYBACK 0x00000010 -/* AND Chip which has 4 banks and a confusing page / block - * assignment. See Renesas datasheet for further information */ +/* + * AND Chip which has 4 banks and a confusing page / block + * assignment. See Renesas datasheet for further information. + */ #define NAND_IS_AND 0x00000020 -/* Chip has a array of 4 pages which can be read without - * additional ready /busy waits */ +/* + * Chip has a array of 4 pages which can be read without + * additional ready /busy waits. + */ #define NAND_4PAGE_ARRAY 0x00000040 -/* Chip requires that BBT is periodically rewritten to prevent +/* + * Chip requires that BBT is periodically rewritten to prevent * bits from adjacent blocks from 'leaking' in altering data. - * This happens with the Renesas AG-AND chips, possibly others. */ + * This happens with the Renesas AG-AND chips, possibly others. + */ #define BBT_AUTO_REFRESH 0x00000080 -/* Chip does not require ready check on read. True +/* + * Chip does not require ready check on read. True * for all large page devices, as they do not support - * autoincrement.*/ + * autoincrement. + */ #define NAND_NO_READRDY 0x00000100 /* Chip does not allow subpage writes */ #define NAND_NO_SUBPAGE_WRITE 0x00000200 @@ -213,8 +225,10 @@ typedef enum { #define NAND_USE_FLASH_BBT 0x00010000 /* This option skips the bbt scan during initialization. */ #define NAND_SKIP_BBTSCAN 0x00020000 -/* This option is defined if the board driver allocates its own buffers - (e.g. because it needs them DMA-coherent */ +/* + * This option is defined if the board driver allocates its own buffers + * (e.g. because it needs them DMA-coherent). + */ #define NAND_OWN_BUFFERS 0x00040000 /* Chip may not exist, so silence any errors in scan */ #define NAND_SCAN_SILENT_NODEV 0x00080000 @@ -304,8 +318,9 @@ struct nand_onfi_params { * struct nand_hw_control - Control structure for hardware controller (e.g ECC generator) shared among independent devices * @lock: protection lock * @active: the mtd device which holds the controller currently - * @wq: wait queue to sleep on if a NAND operation is in progress - * used instead of the per chip wait queue when a hw controller is available + * @wq: wait queue to sleep on if a NAND operation is in + * progress used instead of the per chip wait queue + * when a hw controller is available. */ struct nand_hw_control { spinlock_t lock; @@ -329,9 +344,11 @@ struct nand_hw_control { * @correct: function for ecc correction, matching to ecc generator (sw/hw) * @read_page_raw: function to read a raw page without ECC * @write_page_raw: function to write a raw page without ECC - * @read_page: function to read a page according to the ecc generator requirements + * @read_page: function to read a page according to the ecc generator + * requirements. * @read_subpage: function to read parts of the page covered by ECC. - * @write_page: function to write a page according to the ecc generator requirements + * @write_page: function to write a page according to the ecc generator + * requirements. * @read_oob: function to read chip OOB data * @write_oob: function to write chip OOB data */ @@ -393,13 +410,16 @@ struct nand_buffers { /** * struct nand_chip - NAND Private Flash Chip Data - * @IO_ADDR_R: [BOARDSPECIFIC] address to read the 8 I/O lines of the flash device - * @IO_ADDR_W: [BOARDSPECIFIC] address to write the 8 I/O lines of the flash device + * @IO_ADDR_R: [BOARDSPECIFIC] address to read the 8 I/O lines of the + * flash device + * @IO_ADDR_W: [BOARDSPECIFIC] address to write the 8 I/O lines of the + * flash device. * @read_byte: [REPLACEABLE] read one byte from the chip * @read_word: [REPLACEABLE] read one word from the chip * @write_buf: [REPLACEABLE] write data from the buffer to the chip * @read_buf: [REPLACEABLE] read data from the chip into the buffer - * @verify_buf: [REPLACEABLE] verify buffer contents against the chip data + * @verify_buf: [REPLACEABLE] verify buffer contents against the chip + * data. * @select_chip: [REPLACEABLE] select chip nr * @block_bad: [REPLACEABLE] check, if the block is bad * @block_markbad: [REPLACEABLE] mark the block bad @@ -409,45 +429,60 @@ struct nand_buffers { * mtd->oobsize, mtd->writesize and so on. * @id_data contains the 8 bytes values of NAND_CMD_READID. * Return with the bus width. - * @dev_ready: [BOARDSPECIFIC] hardwarespecific function for accesing device ready/busy line - * If set to NULL no access to ready/busy is available and the ready/busy information - * is read from the chip status register - * @cmdfunc: [REPLACEABLE] hardwarespecific function for writing commands to the chip - * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on ready + * @dev_ready: [BOARDSPECIFIC] hardwarespecific function for accesing + * device ready/busy line. If set to NULL no access to + * ready/busy is available and the ready/busy information + * is read from the chip status register. + * @cmdfunc: [REPLACEABLE] hardwarespecific function for writing + * commands to the chip. + * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on + * ready. * @ecc: [BOARDSPECIFIC] ecc control ctructure * @buffers: buffer structure for read/write * @hwcontrol: platform-specific hardware control structure * @ops: oob operation operands - * @erase_cmd: [INTERN] erase command write function, selectable due to AND support + * @erase_cmd: [INTERN] erase command write function, selectable due + * to AND support. * @scan_bbt: [REPLACEABLE] function to scan bad block table - * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering data from array to read regs (tR) + * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering + * data from array to read regs (tR). * @state: [INTERN] the current state of the NAND device * @oob_poi: poison value buffer - * @page_shift: [INTERN] number of address bits in a page (column address bits) + * @page_shift: [INTERN] number of address bits in a page (column + * address bits). * @phys_erase_shift: [INTERN] number of address bits in a physical eraseblock * @bbt_erase_shift: [INTERN] number of address bits in a bbt entry * @chip_shift: [INTERN] number of address bits in one chip - * @options: [BOARDSPECIFIC] various chip options. They can partly be set to inform nand_scan about - * special functionality. See the defines for further explanation - * @badblockpos: [INTERN] position of the bad block marker in the oob area + * @options: [BOARDSPECIFIC] various chip options. They can partly + * be set to inform nand_scan about special functionality. + * See the defines for further explanation. + * @badblockpos: [INTERN] position of the bad block marker in the oob + * area. * @cellinfo: [INTERN] MLC/multichip data from chip ident * @numchips: [INTERN] number of physical chips * @chipsize: [INTERN] the size of one chip for multichip arrays * @pagemask: [INTERN] page number mask = number of (pages / chip) - 1 - * @pagebuf: [INTERN] holds the pagenumber which is currently in data_buf + * @pagebuf: [INTERN] holds the pagenumber which is currently in + * data_buf. * @subpagesize: [INTERN] holds the subpagesize - * @onfi_version: [INTERN] holds the chip ONFI version (BCD encoded), non 0 if ONFI supported - * @onfi_params: [INTERN] holds the ONFI page parameter when ONFI is supported, 0 otherwise + * @onfi_version: [INTERN] holds the chip ONFI version (BCD encoded), + * non 0 if ONFI supported. + * @onfi_params: [INTERN] holds the ONFI page parameter when ONFI is + * supported, 0 otherwise. * @ecclayout: [REPLACEABLE] the default ecc placement scheme * @bbt: [INTERN] bad block table pointer - * @bbt_td: [REPLACEABLE] bad block table descriptor for flash lookup + * @bbt_td: [REPLACEABLE] bad block table descriptor for flash + * lookup. * @bbt_md: [REPLACEABLE] bad block table mirror descriptor - * @badblock_pattern: [REPLACEABLE] bad block scan pattern used for initial bad block scan - * @controller: [REPLACEABLE] a pointer to a hardware controller structure - * which is shared among multiple independend devices + * @badblock_pattern: [REPLACEABLE] bad block scan pattern used for initial + * bad block scan. + * @controller: [REPLACEABLE] a pointer to a hardware controller + * structure which is shared among multiple independend + * devices. * @priv: [OPTIONAL] pointer to private chip date - * @errstat: [OPTIONAL] hardware specific function to perform additional error status checks - * (determine if errors are correctable) + * @errstat: [OPTIONAL] hardware specific function to perform + * additional error status checks (determine if errors are + * correctable). * @write_page: [REPLACEABLE] High-level page write function */ @@ -457,24 +492,32 @@ struct nand_chip { uint8_t (*read_byte)(struct mtd_info *mtd); u16 (*read_word)(struct mtd_info *mtd); - void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); - void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len); - int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); + void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, + int len); + void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, + int len); + int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, + int len); void (*select_chip)(struct mtd_info *mtd, int chip); - int (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip); + int (*block_bad)(struct mtd_info *mtd, loff_t ofs, + int getchip); int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); void (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl); int (*init_size)(struct mtd_info *mtd, struct nand_chip *this, u8 *id_data); int (*dev_ready)(struct mtd_info *mtd); - void (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr); - int (*waitfunc)(struct mtd_info *mtd, struct nand_chip *this); + void (*cmdfunc)(struct mtd_info *mtd, unsigned command, + int column, int page_addr); + int (*waitfunc)(struct mtd_info *mtd, + struct nand_chip *this); void (*erase_cmd)(struct mtd_info *mtd, int page); int (*scan_bbt)(struct mtd_info *mtd); - int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, int state, int status, int page); - int (*write_page)(struct mtd_info *mtd, struct nand_chip *chip, - const uint8_t *buf, int page, int cached, int raw); + int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, + int state, int status, int page); + int (*write_page)(struct mtd_info *mtd, + struct nand_chip *chip, const uint8_t *buf, int page, + int cached, int raw); int chip_delay; unsigned int options; @@ -557,7 +600,7 @@ struct nand_flash_dev { */ struct nand_manufacturers { int id; - char * name; + char *name; }; extern struct nand_flash_dev nand_flash_ids[]; @@ -570,7 +613,7 @@ extern int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt); extern int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr, int allowbbt); extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, - size_t * retlen, uint8_t * buf); + size_t *retlen, uint8_t *buf); /** * struct platform_nand_chip - chip level device structure -- 1.7.2.3 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] mtd/nand.h: cleanups 2010-10-05 10:41 [PATCH] mtd/nand.h: cleanups Sebastian Andrzej Siewior @ 2010-10-05 18:26 ` Wolfram Sang 2010-10-05 18:48 ` Artem Bityutskiy 2010-10-07 19:17 ` [PATCH] mtd/nand.h: cleanups Artem Bityutskiy 1 sibling, 1 reply; 10+ messages in thread From: Wolfram Sang @ 2010-10-05 18:26 UTC (permalink / raw) To: Sebastian Andrzej Siewior; +Cc: linux-mtd [-- Attachment #1: Type: text/plain, Size: 15223 bytes --] Hi Sebastian, just a minor comment. On Tue, Oct 05, 2010 at 12:41:01PM +0200, Sebastian Andrzej Siewior wrote: > - *var instead of * var > - proper multiline comment > - func(args) instead of func (args) > - 80 lines > > So from > |total: 2 errors, 37 warnings, 654 lines checked > we got to one warning. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > --- > include/linux/mtd/nand.h | 155 +++++++++++++++++++++++++++++----------------- > 1 files changed, 99 insertions(+), 56 deletions(-) > > diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h > index 0238665..acd0b50 100644 > --- a/include/linux/mtd/nand.h > +++ b/include/linux/mtd/nand.h > @@ -27,15 +27,17 @@ > struct mtd_info; > struct nand_flash_dev; > /* Scan and identify a NAND device */ > -extern int nand_scan (struct mtd_info *mtd, int max_chips); > -/* Separate phases of nand_scan(), allowing board driver to intervene > - * and override command or ECC setup according to flash type */ > +extern int nand_scan(struct mtd_info *mtd, int max_chips); > +/* > + * Separate phases of nand_scan(), allowing board driver to intervene > + * and override command or ECC setup according to flash type. > + */ > extern int nand_scan_ident(struct mtd_info *mtd, int max_chips, > struct nand_flash_dev *table); > extern int nand_scan_tail(struct mtd_info *mtd); > > /* Free resources held by the NAND device */ > -extern void nand_release (struct mtd_info *mtd); > +extern void nand_release(struct mtd_info *mtd); > > /* Internal helper for board drivers which need to override command function */ > extern void nand_wait_ready(struct mtd_info *mtd); > @@ -49,7 +51,8 @@ extern int nand_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); > /* The maximum number of NAND chips in an array */ > #define NAND_MAX_CHIPS 8 > > -/* This constant declares the max. oobsize / page, which > +/* > + * This constant declares the max. oobsize / page, which > * is supported now. If you add a chip with bigger oobsize/page > * adjust this accordingly. > */ > @@ -153,9 +156,10 @@ typedef enum { > #define NAND_GET_DEVICE 0x80 > > > -/* Option constants for bizarre disfunctionality and real > -* features > -*/ > +/* > + * Option constants for bizarre disfunctionality and real > + * features. > + */ > /* Chip can not auto increment pages */ > #define NAND_NO_AUTOINCR 0x00000001 > /* Buswitdh is 16 bit */ > @@ -166,19 +170,27 @@ typedef enum { > #define NAND_CACHEPRG 0x00000008 > /* Chip has copy back function */ > #define NAND_COPYBACK 0x00000010 > -/* AND Chip which has 4 banks and a confusing page / block > - * assignment. See Renesas datasheet for further information */ > +/* > + * AND Chip which has 4 banks and a confusing page / block > + * assignment. See Renesas datasheet for further information. > + */ > #define NAND_IS_AND 0x00000020 > -/* Chip has a array of 4 pages which can be read without > - * additional ready /busy waits */ > +/* > + * Chip has a array of 4 pages which can be read without > + * additional ready /busy waits. > + */ > #define NAND_4PAGE_ARRAY 0x00000040 > -/* Chip requires that BBT is periodically rewritten to prevent > +/* > + * Chip requires that BBT is periodically rewritten to prevent > * bits from adjacent blocks from 'leaking' in altering data. > - * This happens with the Renesas AG-AND chips, possibly others. */ > + * This happens with the Renesas AG-AND chips, possibly others. > + */ > #define BBT_AUTO_REFRESH 0x00000080 > -/* Chip does not require ready check on read. True > +/* > + * Chip does not require ready check on read. True > * for all large page devices, as they do not support > - * autoincrement.*/ > + * autoincrement. > + */ > #define NAND_NO_READRDY 0x00000100 > /* Chip does not allow subpage writes */ > #define NAND_NO_SUBPAGE_WRITE 0x00000200 > @@ -213,8 +225,10 @@ typedef enum { > #define NAND_USE_FLASH_BBT 0x00010000 > /* This option skips the bbt scan during initialization. */ > #define NAND_SKIP_BBTSCAN 0x00020000 > -/* This option is defined if the board driver allocates its own buffers > - (e.g. because it needs them DMA-coherent */ > +/* > + * This option is defined if the board driver allocates its own buffers > + * (e.g. because it needs them DMA-coherent). > + */ > #define NAND_OWN_BUFFERS 0x00040000 > /* Chip may not exist, so silence any errors in scan */ > #define NAND_SCAN_SILENT_NODEV 0x00080000 > @@ -304,8 +318,9 @@ struct nand_onfi_params { > * struct nand_hw_control - Control structure for hardware controller (e.g ECC generator) shared among independent devices > * @lock: protection lock > * @active: the mtd device which holds the controller currently > - * @wq: wait queue to sleep on if a NAND operation is in progress > - * used instead of the per chip wait queue when a hw controller is available > + * @wq: wait queue to sleep on if a NAND operation is in > + * progress used instead of the per chip wait queue > + * when a hw controller is available. > */ > struct nand_hw_control { > spinlock_t lock; > @@ -329,9 +344,11 @@ struct nand_hw_control { > * @correct: function for ecc correction, matching to ecc generator (sw/hw) > * @read_page_raw: function to read a raw page without ECC > * @write_page_raw: function to write a raw page without ECC > - * @read_page: function to read a page according to the ecc generator requirements > + * @read_page: function to read a page according to the ecc generator > + * requirements. > * @read_subpage: function to read parts of the page covered by ECC. > - * @write_page: function to write a page according to the ecc generator requirements > + * @write_page: function to write a page according to the ecc generator > + * requirements. > * @read_oob: function to read chip OOB data > * @write_oob: function to write chip OOB data > */ > @@ -393,13 +410,16 @@ struct nand_buffers { > > /** > * struct nand_chip - NAND Private Flash Chip Data > - * @IO_ADDR_R: [BOARDSPECIFIC] address to read the 8 I/O lines of the flash device > - * @IO_ADDR_W: [BOARDSPECIFIC] address to write the 8 I/O lines of the flash device > + * @IO_ADDR_R: [BOARDSPECIFIC] address to read the 8 I/O lines of the > + * flash device > + * @IO_ADDR_W: [BOARDSPECIFIC] address to write the 8 I/O lines of the > + * flash device. > * @read_byte: [REPLACEABLE] read one byte from the chip > * @read_word: [REPLACEABLE] read one word from the chip > * @write_buf: [REPLACEABLE] write data from the buffer to the chip > * @read_buf: [REPLACEABLE] read data from the chip into the buffer > - * @verify_buf: [REPLACEABLE] verify buffer contents against the chip data > + * @verify_buf: [REPLACEABLE] verify buffer contents against the chip > + * data. > * @select_chip: [REPLACEABLE] select chip nr > * @block_bad: [REPLACEABLE] check, if the block is bad > * @block_markbad: [REPLACEABLE] mark the block bad > @@ -409,45 +429,60 @@ struct nand_buffers { > * mtd->oobsize, mtd->writesize and so on. > * @id_data contains the 8 bytes values of NAND_CMD_READID. > * Return with the bus width. > - * @dev_ready: [BOARDSPECIFIC] hardwarespecific function for accesing device ready/busy line > - * If set to NULL no access to ready/busy is available and the ready/busy information > - * is read from the chip status register > - * @cmdfunc: [REPLACEABLE] hardwarespecific function for writing commands to the chip > - * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on ready > + * @dev_ready: [BOARDSPECIFIC] hardwarespecific function for accesing > + * device ready/busy line. If set to NULL no access to > + * ready/busy is available and the ready/busy information > + * is read from the chip status register. > + * @cmdfunc: [REPLACEABLE] hardwarespecific function for writing > + * commands to the chip. > + * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on > + * ready. > * @ecc: [BOARDSPECIFIC] ecc control ctructure > * @buffers: buffer structure for read/write > * @hwcontrol: platform-specific hardware control structure > * @ops: oob operation operands > - * @erase_cmd: [INTERN] erase command write function, selectable due to AND support > + * @erase_cmd: [INTERN] erase command write function, selectable due > + * to AND support. > * @scan_bbt: [REPLACEABLE] function to scan bad block table > - * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering data from array to read regs (tR) > + * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering > + * data from array to read regs (tR). > * @state: [INTERN] the current state of the NAND device > * @oob_poi: poison value buffer > - * @page_shift: [INTERN] number of address bits in a page (column address bits) > + * @page_shift: [INTERN] number of address bits in a page (column > + * address bits). > * @phys_erase_shift: [INTERN] number of address bits in a physical eraseblock > * @bbt_erase_shift: [INTERN] number of address bits in a bbt entry > * @chip_shift: [INTERN] number of address bits in one chip > - * @options: [BOARDSPECIFIC] various chip options. They can partly be set to inform nand_scan about > - * special functionality. See the defines for further explanation > - * @badblockpos: [INTERN] position of the bad block marker in the oob area > + * @options: [BOARDSPECIFIC] various chip options. They can partly > + * be set to inform nand_scan about special functionality. > + * See the defines for further explanation. > + * @badblockpos: [INTERN] position of the bad block marker in the oob > + * area. > * @cellinfo: [INTERN] MLC/multichip data from chip ident > * @numchips: [INTERN] number of physical chips > * @chipsize: [INTERN] the size of one chip for multichip arrays > * @pagemask: [INTERN] page number mask = number of (pages / chip) - 1 > - * @pagebuf: [INTERN] holds the pagenumber which is currently in data_buf > + * @pagebuf: [INTERN] holds the pagenumber which is currently in > + * data_buf. > * @subpagesize: [INTERN] holds the subpagesize > - * @onfi_version: [INTERN] holds the chip ONFI version (BCD encoded), non 0 if ONFI supported > - * @onfi_params: [INTERN] holds the ONFI page parameter when ONFI is supported, 0 otherwise > + * @onfi_version: [INTERN] holds the chip ONFI version (BCD encoded), > + * non 0 if ONFI supported. > + * @onfi_params: [INTERN] holds the ONFI page parameter when ONFI is > + * supported, 0 otherwise. > * @ecclayout: [REPLACEABLE] the default ecc placement scheme > * @bbt: [INTERN] bad block table pointer > - * @bbt_td: [REPLACEABLE] bad block table descriptor for flash lookup > + * @bbt_td: [REPLACEABLE] bad block table descriptor for flash > + * lookup. > * @bbt_md: [REPLACEABLE] bad block table mirror descriptor > - * @badblock_pattern: [REPLACEABLE] bad block scan pattern used for initial bad block scan > - * @controller: [REPLACEABLE] a pointer to a hardware controller structure > - * which is shared among multiple independend devices > + * @badblock_pattern: [REPLACEABLE] bad block scan pattern used for initial > + * bad block scan. > + * @controller: [REPLACEABLE] a pointer to a hardware controller > + * structure which is shared among multiple independend > + * devices. > * @priv: [OPTIONAL] pointer to private chip date > - * @errstat: [OPTIONAL] hardware specific function to perform additional error status checks > - * (determine if errors are correctable) > + * @errstat: [OPTIONAL] hardware specific function to perform > + * additional error status checks (determine if errors are > + * correctable). > * @write_page: [REPLACEABLE] High-level page write function > */ > > @@ -457,24 +492,32 @@ struct nand_chip { > > uint8_t (*read_byte)(struct mtd_info *mtd); > u16 (*read_word)(struct mtd_info *mtd); > - void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); > - void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len); > - int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); > + void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, > + int len); It might be more readable to get rid of the tabs after the type and keep the arguments in one line? > + void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, > + int len); > + int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, > + int len); > void (*select_chip)(struct mtd_info *mtd, int chip); > - int (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip); > + int (*block_bad)(struct mtd_info *mtd, loff_t ofs, > + int getchip); > int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); > void (*cmd_ctrl)(struct mtd_info *mtd, int dat, > unsigned int ctrl); > int (*init_size)(struct mtd_info *mtd, > struct nand_chip *this, u8 *id_data); > int (*dev_ready)(struct mtd_info *mtd); > - void (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr); > - int (*waitfunc)(struct mtd_info *mtd, struct nand_chip *this); > + void (*cmdfunc)(struct mtd_info *mtd, unsigned command, > + int column, int page_addr); > + int (*waitfunc)(struct mtd_info *mtd, > + struct nand_chip *this); > void (*erase_cmd)(struct mtd_info *mtd, int page); > int (*scan_bbt)(struct mtd_info *mtd); > - int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, int state, int status, int page); > - int (*write_page)(struct mtd_info *mtd, struct nand_chip *chip, > - const uint8_t *buf, int page, int cached, int raw); > + int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, > + int state, int status, int page); > + int (*write_page)(struct mtd_info *mtd, > + struct nand_chip *chip, const uint8_t *buf, int page, > + int cached, int raw); > > int chip_delay; > unsigned int options; > @@ -557,7 +600,7 @@ struct nand_flash_dev { > */ > struct nand_manufacturers { > int id; > - char * name; > + char *name; > }; > > extern struct nand_flash_dev nand_flash_ids[]; > @@ -570,7 +613,7 @@ extern int nand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt); > extern int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr, > int allowbbt); > extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, > - size_t * retlen, uint8_t * buf); > + size_t *retlen, uint8_t *buf); > > /** > * struct platform_nand_chip - chip level device structure > -- > 1.7.2.3 > > > ______________________________________________________ > Linux MTD discussion mailing list > http://lists.infradead.org/mailman/listinfo/linux-mtd/ -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] mtd/nand.h: cleanups 2010-10-05 18:26 ` Wolfram Sang @ 2010-10-05 18:48 ` Artem Bityutskiy 2010-10-06 21:06 ` [PATCH] mtd/nand.h: little more cleanup Sebastian Andrzej Siewior 0 siblings, 1 reply; 10+ messages in thread From: Artem Bityutskiy @ 2010-10-05 18:48 UTC (permalink / raw) To: Wolfram Sang; +Cc: Sebastian Andrzej Siewior, linux-mtd On Tue, 2010-10-05 at 20:26 +0200, Wolfram Sang wrote: > Hi Sebastian, > > just a minor comment. [Side note: it is much more reader-friendly to avoid citing whole patch and making the readers search where you put the comment, like this:] > > @@ -457,24 +492,32 @@ struct nand_chip { > > > > uint8_t (*read_byte)(struct mtd_info *mtd); > > u16 (*read_word)(struct mtd_info *mtd); > > - void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); > > - void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len); > > - int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); > > + void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, > > + int len); > > It might be more readable to get rid of the tabs after the type and keep the > arguments in one line? I agree with this. Sebastian, I'll put your patch to my l2 tree when git.infradead.org is back. But if you could send a separate follow up patch which kills these ugly tabs - it would be nice. -- Best Regards, Artem Bityutskiy (Битюцкий Артём) ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH] mtd/nand.h: little more cleanup 2010-10-05 18:48 ` Artem Bityutskiy @ 2010-10-06 21:06 ` Sebastian Andrzej Siewior 2010-10-06 21:21 ` Wolfram Sang 2010-10-07 19:30 ` Artem Bityutskiy 0 siblings, 2 replies; 10+ messages in thread From: Sebastian Andrzej Siewior @ 2010-10-06 21:06 UTC (permalink / raw) To: Artem Bityutskiy; +Cc: linux-mtd, Wolfram Sang - remove tabs between type and name. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- include/linux/mtd/nand.h | 315 +++++++++++++++++++++------------------------ 1 files changed, 147 insertions(+), 168 deletions(-) diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index acd0b50..6473849 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -253,61 +253,62 @@ struct nand_chip; struct nand_onfi_params { /* rev info and features block */ - u8 sig[4]; /* 'O' 'N' 'F' 'I' */ - __le16 revision; - __le16 features; - __le16 opt_cmd; - u8 reserved[22]; + /* 'O' 'N' 'F' 'I' */ + u8 sig[4]; + __le16 revision; + __le16 features; + __le16 opt_cmd; + u8 reserved[22]; /* manufacturer information block */ - char manufacturer[12]; - char model[20]; - u8 jedec_id; - __le16 date_code; - u8 reserved2[13]; + char manufacturer[12]; + char model[20]; + u8 jedec_id; + __le16 date_code; + u8 reserved2[13]; /* memory organization block */ - __le32 byte_per_page; - __le16 spare_bytes_per_page; - __le32 data_bytes_per_ppage; - __le16 spare_bytes_per_ppage; - __le32 pages_per_block; - __le32 blocks_per_lun; - u8 lun_count; - u8 addr_cycles; - u8 bits_per_cell; - __le16 bb_per_lun; - __le16 block_endurance; - u8 guaranteed_good_blocks; - __le16 guaranteed_block_endurance; - u8 programs_per_page; - u8 ppage_attr; - u8 ecc_bits; - u8 interleaved_bits; - u8 interleaved_ops; - u8 reserved3[13]; + __le32 byte_per_page; + __le16 spare_bytes_per_page; + __le32 data_bytes_per_ppage; + __le16 spare_bytes_per_ppage; + __le32 pages_per_block; + __le32 blocks_per_lun; + u8 lun_count; + u8 addr_cycles; + u8 bits_per_cell; + __le16 bb_per_lun; + __le16 block_endurance; + u8 guaranteed_good_blocks; + __le16 guaranteed_block_endurance; + u8 programs_per_page; + u8 ppage_attr; + u8 ecc_bits; + u8 interleaved_bits; + u8 interleaved_ops; + u8 reserved3[13]; /* electrical parameter block */ - u8 io_pin_capacitance_max; - __le16 async_timing_mode; - __le16 program_cache_timing_mode; - __le16 t_prog; - __le16 t_bers; - __le16 t_r; - __le16 t_ccs; - __le16 src_sync_timing_mode; - __le16 src_ssync_features; - __le16 clk_pin_capacitance_typ; - __le16 io_pin_capacitance_typ; - __le16 input_pin_capacitance_typ; - u8 input_pin_capacitance_max; - u8 driver_strenght_support; - __le16 t_int_r; - __le16 t_ald; - u8 reserved4[7]; + u8 io_pin_capacitance_max; + __le16 async_timing_mode; + __le16 program_cache_timing_mode; + __le16 t_prog; + __le16 t_bers; + __le16 t_r; + __le16 t_ccs; + __le16 src_sync_timing_mode; + __le16 src_ssync_features; + __le16 clk_pin_capacitance_typ; + __le16 io_pin_capacitance_typ; + __le16 input_pin_capacitance_typ; + u8 input_pin_capacitance_max; + u8 driver_strenght_support; + __le16 t_int_r; + __le16 t_ald; + u8 reserved4[7]; /* vendor */ - u8 reserved5[90]; + u8 reserved5[90]; __le16 crc; } __attribute__((packed)); @@ -323,7 +324,7 @@ struct nand_onfi_params { * when a hw controller is available. */ struct nand_hw_control { - spinlock_t lock; + spinlock_t lock; struct nand_chip *active; wait_queue_head_t wq; }; @@ -353,44 +354,33 @@ struct nand_hw_control { * @write_oob: function to write chip OOB data */ struct nand_ecc_ctrl { - nand_ecc_modes_t mode; - int steps; - int size; - int bytes; - int total; - int prepad; - int postpad; + nand_ecc_modes_t mode; + int steps; + int size; + int bytes; + int total; + int prepad; + int postpad; struct nand_ecclayout *layout; - void (*hwctl)(struct mtd_info *mtd, int mode); - int (*calculate)(struct mtd_info *mtd, - const uint8_t *dat, - uint8_t *ecc_code); - int (*correct)(struct mtd_info *mtd, uint8_t *dat, - uint8_t *read_ecc, - uint8_t *calc_ecc); - int (*read_page_raw)(struct mtd_info *mtd, - struct nand_chip *chip, - uint8_t *buf, int page); - void (*write_page_raw)(struct mtd_info *mtd, - struct nand_chip *chip, - const uint8_t *buf); - int (*read_page)(struct mtd_info *mtd, - struct nand_chip *chip, - uint8_t *buf, int page); - int (*read_subpage)(struct mtd_info *mtd, - struct nand_chip *chip, - uint32_t offs, uint32_t len, - uint8_t *buf); - void (*write_page)(struct mtd_info *mtd, - struct nand_chip *chip, - const uint8_t *buf); - int (*read_oob)(struct mtd_info *mtd, - struct nand_chip *chip, - int page, - int sndcmd); - int (*write_oob)(struct mtd_info *mtd, - struct nand_chip *chip, - int page); + void (*hwctl)(struct mtd_info *mtd, int mode); + int (*calculate)(struct mtd_info *mtd, const uint8_t *dat, + uint8_t *ecc_code); + int (*correct)(struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc, + uint8_t *calc_ecc); + int (*read_page_raw)(struct mtd_info *mtd, struct nand_chip *chip, + uint8_t *buf, int page); + void (*write_page_raw)(struct mtd_info *mtd, struct nand_chip *chip, + const uint8_t *buf); + int (*read_page)(struct mtd_info *mtd, struct nand_chip *chip, + uint8_t *buf, int page); + int (*read_subpage)(struct mtd_info *mtd, struct nand_chip *chip, + uint32_t offs, uint32_t len, uint8_t *buf); + void (*write_page)(struct mtd_info *mtd, struct nand_chip *chip, + const uint8_t *buf); + int (*read_oob)(struct mtd_info *mtd, struct nand_chip *chip, int page, + int sndcmd); + int (*write_oob)(struct mtd_info *mtd, struct nand_chip *chip, + int page); }; /** @@ -487,62 +477,55 @@ struct nand_buffers { */ struct nand_chip { - void __iomem *IO_ADDR_R; - void __iomem *IO_ADDR_W; - - uint8_t (*read_byte)(struct mtd_info *mtd); - u16 (*read_word)(struct mtd_info *mtd); - void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, - int len); - void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, - int len); - int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, - int len); - void (*select_chip)(struct mtd_info *mtd, int chip); - int (*block_bad)(struct mtd_info *mtd, loff_t ofs, - int getchip); - int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); - void (*cmd_ctrl)(struct mtd_info *mtd, int dat, - unsigned int ctrl); - int (*init_size)(struct mtd_info *mtd, - struct nand_chip *this, u8 *id_data); - int (*dev_ready)(struct mtd_info *mtd); - void (*cmdfunc)(struct mtd_info *mtd, unsigned command, - int column, int page_addr); - int (*waitfunc)(struct mtd_info *mtd, - struct nand_chip *this); - void (*erase_cmd)(struct mtd_info *mtd, int page); - int (*scan_bbt)(struct mtd_info *mtd); - int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, - int state, int status, int page); - int (*write_page)(struct mtd_info *mtd, - struct nand_chip *chip, const uint8_t *buf, int page, - int cached, int raw); - - int chip_delay; - unsigned int options; - - int page_shift; - int phys_erase_shift; - int bbt_erase_shift; - int chip_shift; - int numchips; - uint64_t chipsize; - int pagemask; - int pagebuf; - int subpagesize; - uint8_t cellinfo; - int badblockpos; - int badblockbits; - - int onfi_version; + void __iomem *IO_ADDR_R; + void __iomem *IO_ADDR_W; + + uint8_t (*read_byte)(struct mtd_info *mtd); + u16 (*read_word)(struct mtd_info *mtd); + void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); + void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len); + int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); + void (*select_chip)(struct mtd_info *mtd, int chip); + int (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip); + int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); + void (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl); + int (*init_size)(struct mtd_info *mtd, struct nand_chip *this, + u8 *id_data); + int (*dev_ready)(struct mtd_info *mtd); + void (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, + int page_addr); + int(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this); + void (*erase_cmd)(struct mtd_info *mtd, int page); + int (*scan_bbt)(struct mtd_info *mtd); + int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, int state, + int status, int page); + int (*write_page)(struct mtd_info *mtd, struct nand_chip *chip, + const uint8_t *buf, int page, int cached, int raw); + + int chip_delay; + unsigned int options; + + int page_shift; + int phys_erase_shift; + int bbt_erase_shift; + int chip_shift; + int numchips; + uint64_t hipsize; + int pagemask; + int pagebuf; + int subpagesize; + uint8_t cellinfo; + int badblockpos; + int badblockbits; + + int onfi_version; struct nand_onfi_params onfi_params; - flstate_t state; + flstate_t state; - uint8_t *oob_poi; - struct nand_hw_control *controller; - struct nand_ecclayout *ecclayout; + uint8_t *oob_poi; + struct nand_hw_control *controller; + struct nand_ecclayout *ecclayout; struct nand_ecc_ctrl ecc; struct nand_buffers *buffers; @@ -550,13 +533,13 @@ struct nand_chip { struct mtd_oob_ops ops; - uint8_t *bbt; - struct nand_bbt_descr *bbt_td; - struct nand_bbt_descr *bbt_md; + uint8_t *bbt; + struct nand_bbt_descr *bbt_td; + struct nand_bbt_descr *bbt_md; - struct nand_bbt_descr *badblock_pattern; + struct nand_bbt_descr *badblock_pattern; - void *priv; + void *priv; }; /* @@ -629,17 +612,16 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, * @priv: hardware controller specific settings */ struct platform_nand_chip { - int nr_chips; - int chip_offset; - int nr_partitions; - struct mtd_partition *partitions; - struct nand_ecclayout *ecclayout; - int chip_delay; - unsigned int options; - const char **part_probe_types; - void (*set_parts)(uint64_t size, - struct platform_nand_chip *chip); - void *priv; + int nr_chips; + int chip_offset; + int nr_partitions; + struct mtd_partition *partitions; + struct nand_ecclayout *ecclayout; + int chip_delay; + unsigned int options; + const char **part_probe_types; + void (*set_parts)(uint64_t size, struct platform_nand_chip *chip); + void *priv; }; /* Keep gcc happy */ @@ -661,18 +643,15 @@ struct platform_device; * All fields are optional and depend on the hardware driver requirements */ struct platform_nand_ctrl { - int (*probe)(struct platform_device *pdev); - void (*remove)(struct platform_device *pdev); - 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 (*cmd_ctrl)(struct mtd_info *mtd, int dat, - unsigned int ctrl); - void (*write_buf)(struct mtd_info *mtd, - const uint8_t *buf, int len); - void (*read_buf)(struct mtd_info *mtd, - uint8_t *buf, int len); - void *priv; + int (*probe)(struct platform_device *pdev); + void (*remove)(struct platform_device *pdev); + 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 (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl); + void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); + void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len); + void *priv; }; /** @@ -681,8 +660,8 @@ struct platform_nand_ctrl { * @ctrl: controller level device structure */ struct platform_nand_data { - struct platform_nand_chip chip; - struct platform_nand_ctrl ctrl; + struct platform_nand_chip chip; + struct platform_nand_ctrl ctrl; }; /* Some helpers to access the data structures */ -- 1.7.2.3 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] mtd/nand.h: little more cleanup 2010-10-06 21:06 ` [PATCH] mtd/nand.h: little more cleanup Sebastian Andrzej Siewior @ 2010-10-06 21:21 ` Wolfram Sang 2010-10-07 19:30 ` Artem Bityutskiy 1 sibling, 0 replies; 10+ messages in thread From: Wolfram Sang @ 2010-10-06 21:21 UTC (permalink / raw) To: Sebastian Andrzej Siewior; +Cc: linux-mtd, Artem Bityutskiy [-- Attachment #1: Type: text/plain, Size: 408 bytes --] On Wed, Oct 06, 2010 at 11:06:14PM +0200, Sebastian Andrzej Siewior wrote: > - remove tabs between type and name. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Thanks! Acked-by: Wolfram Sang <w.sang@pengutronix.de> -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] mtd/nand.h: little more cleanup 2010-10-06 21:06 ` [PATCH] mtd/nand.h: little more cleanup Sebastian Andrzej Siewior 2010-10-06 21:21 ` Wolfram Sang @ 2010-10-07 19:30 ` Artem Bityutskiy 2010-10-07 19:41 ` Sebastian Andrzej Siewior 2010-10-07 19:48 ` [PATCH v2] " Sebastian Andrzej Siewior 1 sibling, 2 replies; 10+ messages in thread From: Artem Bityutskiy @ 2010-10-07 19:30 UTC (permalink / raw) To: Sebastian Andrzej Siewior; +Cc: linux-mtd, Wolfram Sang On Wed, 2010-10-06 at 23:06 +0200, Sebastian Andrzej Siewior wrote: > - remove tabs between type and name. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > --- > include/linux/mtd/nand.h | 315 +++++++++++++++++++++------------------------ > 1 files changed, 147 insertions(+), 168 deletions(-) This one was not compile-tested: [dedekind@brekeke l2-mtd-2.6]$ make -j2 CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h CC [M] drivers/mtd/devices/doc2000.o CC [M] drivers/mtd/devices/doc2001.o CC [M] drivers/mtd/devices/doc2001plus.o CC [M] drivers/mtd/devices/docprobe.o CC [M] drivers/mtd/nand/nand_base.o drivers/mtd/nand/nand_base.c: In function ‘nand_command’: drivers/mtd/nand/nand_base.c:589: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c: In function ‘nand_command_lp’: drivers/mtd/nand/nand_base.c:680: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c: In function ‘nand_flash_detect_onfi’: drivers/mtd/nand/nand_base.c:2890: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c: In function ‘nand_get_flash_type’: drivers/mtd/nand/nand_base.c:2977: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c:3099: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c:3103: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c:3104: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c:3106: error: ‘struct nand_chip’ has no member named ‘chipsize’ drivers/mtd/nand/nand_base.c: In function ‘nand_scan_ident’: drivers/mtd/nand/nand_base.c:3216: error: ‘struct nand_chip’ has no member named ‘chipsize’ -- Best Regards, Artem Bityutskiy (Битюцкий Артём) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] mtd/nand.h: little more cleanup 2010-10-07 19:30 ` Artem Bityutskiy @ 2010-10-07 19:41 ` Sebastian Andrzej Siewior 2010-10-07 19:48 ` [PATCH v2] " Sebastian Andrzej Siewior 1 sibling, 0 replies; 10+ messages in thread From: Sebastian Andrzej Siewior @ 2010-10-07 19:41 UTC (permalink / raw) To: dedekind1; +Cc: linux-mtd, Wolfram Sang Artem Bityutskiy wrote: > drivers/mtd/nand/nand_base.c: In function ‘nand_command’: > drivers/mtd/nand/nand_base.c:589: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c: In function ‘nand_command_lp’: > drivers/mtd/nand/nand_base.c:680: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c: In function ‘nand_flash_detect_onfi’: > drivers/mtd/nand/nand_base.c:2890: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c: In function ‘nand_get_flash_type’: > drivers/mtd/nand/nand_base.c:2977: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c:3099: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c:3103: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c:3104: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c:3106: error: ‘struct nand_chip’ has no member named ‘chipsize’ > drivers/mtd/nand/nand_base.c: In function ‘nand_scan_ident’: > drivers/mtd/nand/nand_base.c:3216: error: ‘struct nand_chip’ has no member named ‘chipsize’ I'm very sorry for that. I fix is coming in a jiffy or two. Sebastian ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2] mtd/nand.h: little more cleanup 2010-10-07 19:30 ` Artem Bityutskiy 2010-10-07 19:41 ` Sebastian Andrzej Siewior @ 2010-10-07 19:48 ` Sebastian Andrzej Siewior 2010-10-08 6:00 ` Artem Bityutskiy 1 sibling, 1 reply; 10+ messages in thread From: Sebastian Andrzej Siewior @ 2010-10-07 19:48 UTC (permalink / raw) To: Artem Bityutskiy; +Cc: linux-mtd, Wolfram Sang - remove tabs between type and name. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- - replaced hipsize with chipsize. include/linux/mtd/nand.h | 315 +++++++++++++++++++++------------------------ 1 files changed, 147 insertions(+), 168 deletions(-) diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index acd0b50..63e17d0 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -253,61 +253,62 @@ struct nand_chip; struct nand_onfi_params { /* rev info and features block */ - u8 sig[4]; /* 'O' 'N' 'F' 'I' */ - __le16 revision; - __le16 features; - __le16 opt_cmd; - u8 reserved[22]; + /* 'O' 'N' 'F' 'I' */ + u8 sig[4]; + __le16 revision; + __le16 features; + __le16 opt_cmd; + u8 reserved[22]; /* manufacturer information block */ - char manufacturer[12]; - char model[20]; - u8 jedec_id; - __le16 date_code; - u8 reserved2[13]; + char manufacturer[12]; + char model[20]; + u8 jedec_id; + __le16 date_code; + u8 reserved2[13]; /* memory organization block */ - __le32 byte_per_page; - __le16 spare_bytes_per_page; - __le32 data_bytes_per_ppage; - __le16 spare_bytes_per_ppage; - __le32 pages_per_block; - __le32 blocks_per_lun; - u8 lun_count; - u8 addr_cycles; - u8 bits_per_cell; - __le16 bb_per_lun; - __le16 block_endurance; - u8 guaranteed_good_blocks; - __le16 guaranteed_block_endurance; - u8 programs_per_page; - u8 ppage_attr; - u8 ecc_bits; - u8 interleaved_bits; - u8 interleaved_ops; - u8 reserved3[13]; + __le32 byte_per_page; + __le16 spare_bytes_per_page; + __le32 data_bytes_per_ppage; + __le16 spare_bytes_per_ppage; + __le32 pages_per_block; + __le32 blocks_per_lun; + u8 lun_count; + u8 addr_cycles; + u8 bits_per_cell; + __le16 bb_per_lun; + __le16 block_endurance; + u8 guaranteed_good_blocks; + __le16 guaranteed_block_endurance; + u8 programs_per_page; + u8 ppage_attr; + u8 ecc_bits; + u8 interleaved_bits; + u8 interleaved_ops; + u8 reserved3[13]; /* electrical parameter block */ - u8 io_pin_capacitance_max; - __le16 async_timing_mode; - __le16 program_cache_timing_mode; - __le16 t_prog; - __le16 t_bers; - __le16 t_r; - __le16 t_ccs; - __le16 src_sync_timing_mode; - __le16 src_ssync_features; - __le16 clk_pin_capacitance_typ; - __le16 io_pin_capacitance_typ; - __le16 input_pin_capacitance_typ; - u8 input_pin_capacitance_max; - u8 driver_strenght_support; - __le16 t_int_r; - __le16 t_ald; - u8 reserved4[7]; + u8 io_pin_capacitance_max; + __le16 async_timing_mode; + __le16 program_cache_timing_mode; + __le16 t_prog; + __le16 t_bers; + __le16 t_r; + __le16 t_ccs; + __le16 src_sync_timing_mode; + __le16 src_ssync_features; + __le16 clk_pin_capacitance_typ; + __le16 io_pin_capacitance_typ; + __le16 input_pin_capacitance_typ; + u8 input_pin_capacitance_max; + u8 driver_strenght_support; + __le16 t_int_r; + __le16 t_ald; + u8 reserved4[7]; /* vendor */ - u8 reserved5[90]; + u8 reserved5[90]; __le16 crc; } __attribute__((packed)); @@ -323,7 +324,7 @@ struct nand_onfi_params { * when a hw controller is available. */ struct nand_hw_control { - spinlock_t lock; + spinlock_t lock; struct nand_chip *active; wait_queue_head_t wq; }; @@ -353,44 +354,33 @@ struct nand_hw_control { * @write_oob: function to write chip OOB data */ struct nand_ecc_ctrl { - nand_ecc_modes_t mode; - int steps; - int size; - int bytes; - int total; - int prepad; - int postpad; + nand_ecc_modes_t mode; + int steps; + int size; + int bytes; + int total; + int prepad; + int postpad; struct nand_ecclayout *layout; - void (*hwctl)(struct mtd_info *mtd, int mode); - int (*calculate)(struct mtd_info *mtd, - const uint8_t *dat, - uint8_t *ecc_code); - int (*correct)(struct mtd_info *mtd, uint8_t *dat, - uint8_t *read_ecc, - uint8_t *calc_ecc); - int (*read_page_raw)(struct mtd_info *mtd, - struct nand_chip *chip, - uint8_t *buf, int page); - void (*write_page_raw)(struct mtd_info *mtd, - struct nand_chip *chip, - const uint8_t *buf); - int (*read_page)(struct mtd_info *mtd, - struct nand_chip *chip, - uint8_t *buf, int page); - int (*read_subpage)(struct mtd_info *mtd, - struct nand_chip *chip, - uint32_t offs, uint32_t len, - uint8_t *buf); - void (*write_page)(struct mtd_info *mtd, - struct nand_chip *chip, - const uint8_t *buf); - int (*read_oob)(struct mtd_info *mtd, - struct nand_chip *chip, - int page, - int sndcmd); - int (*write_oob)(struct mtd_info *mtd, - struct nand_chip *chip, - int page); + void (*hwctl)(struct mtd_info *mtd, int mode); + int (*calculate)(struct mtd_info *mtd, const uint8_t *dat, + uint8_t *ecc_code); + int (*correct)(struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc, + uint8_t *calc_ecc); + int (*read_page_raw)(struct mtd_info *mtd, struct nand_chip *chip, + uint8_t *buf, int page); + void (*write_page_raw)(struct mtd_info *mtd, struct nand_chip *chip, + const uint8_t *buf); + int (*read_page)(struct mtd_info *mtd, struct nand_chip *chip, + uint8_t *buf, int page); + int (*read_subpage)(struct mtd_info *mtd, struct nand_chip *chip, + uint32_t offs, uint32_t len, uint8_t *buf); + void (*write_page)(struct mtd_info *mtd, struct nand_chip *chip, + const uint8_t *buf); + int (*read_oob)(struct mtd_info *mtd, struct nand_chip *chip, int page, + int sndcmd); + int (*write_oob)(struct mtd_info *mtd, struct nand_chip *chip, + int page); }; /** @@ -487,62 +477,55 @@ struct nand_buffers { */ struct nand_chip { - void __iomem *IO_ADDR_R; - void __iomem *IO_ADDR_W; - - uint8_t (*read_byte)(struct mtd_info *mtd); - u16 (*read_word)(struct mtd_info *mtd); - void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, - int len); - void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, - int len); - int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, - int len); - void (*select_chip)(struct mtd_info *mtd, int chip); - int (*block_bad)(struct mtd_info *mtd, loff_t ofs, - int getchip); - int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); - void (*cmd_ctrl)(struct mtd_info *mtd, int dat, - unsigned int ctrl); - int (*init_size)(struct mtd_info *mtd, - struct nand_chip *this, u8 *id_data); - int (*dev_ready)(struct mtd_info *mtd); - void (*cmdfunc)(struct mtd_info *mtd, unsigned command, - int column, int page_addr); - int (*waitfunc)(struct mtd_info *mtd, - struct nand_chip *this); - void (*erase_cmd)(struct mtd_info *mtd, int page); - int (*scan_bbt)(struct mtd_info *mtd); - int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, - int state, int status, int page); - int (*write_page)(struct mtd_info *mtd, - struct nand_chip *chip, const uint8_t *buf, int page, - int cached, int raw); - - int chip_delay; - unsigned int options; - - int page_shift; - int phys_erase_shift; - int bbt_erase_shift; - int chip_shift; - int numchips; - uint64_t chipsize; - int pagemask; - int pagebuf; - int subpagesize; - uint8_t cellinfo; - int badblockpos; - int badblockbits; - - int onfi_version; + void __iomem *IO_ADDR_R; + void __iomem *IO_ADDR_W; + + uint8_t (*read_byte)(struct mtd_info *mtd); + u16 (*read_word)(struct mtd_info *mtd); + void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); + void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len); + int (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); + void (*select_chip)(struct mtd_info *mtd, int chip); + int (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip); + int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); + void (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl); + int (*init_size)(struct mtd_info *mtd, struct nand_chip *this, + u8 *id_data); + int (*dev_ready)(struct mtd_info *mtd); + void (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, + int page_addr); + int(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this); + void (*erase_cmd)(struct mtd_info *mtd, int page); + int (*scan_bbt)(struct mtd_info *mtd); + int (*errstat)(struct mtd_info *mtd, struct nand_chip *this, int state, + int status, int page); + int (*write_page)(struct mtd_info *mtd, struct nand_chip *chip, + const uint8_t *buf, int page, int cached, int raw); + + int chip_delay; + unsigned int options; + + int page_shift; + int phys_erase_shift; + int bbt_erase_shift; + int chip_shift; + int numchips; + uint64_t chipsize; + int pagemask; + int pagebuf; + int subpagesize; + uint8_t cellinfo; + int badblockpos; + int badblockbits; + + int onfi_version; struct nand_onfi_params onfi_params; - flstate_t state; + flstate_t state; - uint8_t *oob_poi; - struct nand_hw_control *controller; - struct nand_ecclayout *ecclayout; + uint8_t *oob_poi; + struct nand_hw_control *controller; + struct nand_ecclayout *ecclayout; struct nand_ecc_ctrl ecc; struct nand_buffers *buffers; @@ -550,13 +533,13 @@ struct nand_chip { struct mtd_oob_ops ops; - uint8_t *bbt; - struct nand_bbt_descr *bbt_td; - struct nand_bbt_descr *bbt_md; + uint8_t *bbt; + struct nand_bbt_descr *bbt_td; + struct nand_bbt_descr *bbt_md; - struct nand_bbt_descr *badblock_pattern; + struct nand_bbt_descr *badblock_pattern; - void *priv; + void *priv; }; /* @@ -629,17 +612,16 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, * @priv: hardware controller specific settings */ struct platform_nand_chip { - int nr_chips; - int chip_offset; - int nr_partitions; - struct mtd_partition *partitions; - struct nand_ecclayout *ecclayout; - int chip_delay; - unsigned int options; - const char **part_probe_types; - void (*set_parts)(uint64_t size, - struct platform_nand_chip *chip); - void *priv; + int nr_chips; + int chip_offset; + int nr_partitions; + struct mtd_partition *partitions; + struct nand_ecclayout *ecclayout; + int chip_delay; + unsigned int options; + const char **part_probe_types; + void (*set_parts)(uint64_t size, struct platform_nand_chip *chip); + void *priv; }; /* Keep gcc happy */ @@ -661,18 +643,15 @@ struct platform_device; * All fields are optional and depend on the hardware driver requirements */ struct platform_nand_ctrl { - int (*probe)(struct platform_device *pdev); - void (*remove)(struct platform_device *pdev); - 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 (*cmd_ctrl)(struct mtd_info *mtd, int dat, - unsigned int ctrl); - void (*write_buf)(struct mtd_info *mtd, - const uint8_t *buf, int len); - void (*read_buf)(struct mtd_info *mtd, - uint8_t *buf, int len); - void *priv; + int (*probe)(struct platform_device *pdev); + void (*remove)(struct platform_device *pdev); + 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 (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl); + void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len); + void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len); + void *priv; }; /** @@ -681,8 +660,8 @@ struct platform_nand_ctrl { * @ctrl: controller level device structure */ struct platform_nand_data { - struct platform_nand_chip chip; - struct platform_nand_ctrl ctrl; + struct platform_nand_chip chip; + struct platform_nand_ctrl ctrl; }; /* Some helpers to access the data structures */ -- 1.7.2.3 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2] mtd/nand.h: little more cleanup 2010-10-07 19:48 ` [PATCH v2] " Sebastian Andrzej Siewior @ 2010-10-08 6:00 ` Artem Bityutskiy 0 siblings, 0 replies; 10+ messages in thread From: Artem Bityutskiy @ 2010-10-08 6:00 UTC (permalink / raw) To: Sebastian Andrzej Siewior; +Cc: linux-mtd, Wolfram Sang On Thu, 2010-10-07 at 21:48 +0200, Sebastian Andrzej Siewior wrote: > - remove tabs between type and name. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > --- > - replaced hipsize with chipsize. > > include/linux/mtd/nand.h | 315 +++++++++++++++++++++------------------------ > 1 files changed, 147 insertions(+), 168 deletions(-) Pushed to l2-mtd-2.6.git, thanks! -- Best Regards, Artem Bityutskiy (Артём Битюцкий) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] mtd/nand.h: cleanups 2010-10-05 10:41 [PATCH] mtd/nand.h: cleanups Sebastian Andrzej Siewior 2010-10-05 18:26 ` Wolfram Sang @ 2010-10-07 19:17 ` Artem Bityutskiy 1 sibling, 0 replies; 10+ messages in thread From: Artem Bityutskiy @ 2010-10-07 19:17 UTC (permalink / raw) To: Sebastian Andrzej Siewior; +Cc: linux-mtd On Tue, 2010-10-05 at 12:41 +0200, Sebastian Andrzej Siewior wrote: > - *var instead of * var > - proper multiline comment > - func(args) instead of func (args) > - 80 lines > > So from > |total: 2 errors, 37 warnings, 654 lines checked > we got to one warning. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Pushed both patches to l2-mtd-2.6.git, thanks. -- Best Regards, Artem Bityutskiy (Битюцкий Артём) ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-10-08 6:03 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-10-05 10:41 [PATCH] mtd/nand.h: cleanups Sebastian Andrzej Siewior 2010-10-05 18:26 ` Wolfram Sang 2010-10-05 18:48 ` Artem Bityutskiy 2010-10-06 21:06 ` [PATCH] mtd/nand.h: little more cleanup Sebastian Andrzej Siewior 2010-10-06 21:21 ` Wolfram Sang 2010-10-07 19:30 ` Artem Bityutskiy 2010-10-07 19:41 ` Sebastian Andrzej Siewior 2010-10-07 19:48 ` [PATCH v2] " Sebastian Andrzej Siewior 2010-10-08 6:00 ` Artem Bityutskiy 2010-10-07 19:17 ` [PATCH] mtd/nand.h: cleanups Artem Bityutskiy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).