* [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: 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
* 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
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).