From d635711daa98be86d4c7fd01499c34f566b54ccb Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 10 Jun 2016 05:30:17 -0300 Subject: Linux-libre 4.6.2-gnu --- drivers/staging/mt29f_spinand/mt29f_spinand.c | 87 ++++++++++++++------------- drivers/staging/mt29f_spinand/mt29f_spinand.h | 1 - 2 files changed, 45 insertions(+), 43 deletions(-) (limited to 'drivers/staging/mt29f_spinand') diff --git a/drivers/staging/mt29f_spinand/mt29f_spinand.c b/drivers/staging/mt29f_spinand/mt29f_spinand.c index 197d11247..163f21a12 100644 --- a/drivers/staging/mt29f_spinand/mt29f_spinand.c +++ b/drivers/staging/mt29f_spinand/mt29f_spinand.c @@ -33,7 +33,7 @@ static inline struct spinand_state *mtd_to_state(struct mtd_info *mtd) { struct nand_chip *chip = mtd_to_nand(mtd); struct spinand_info *info = nand_get_controller_data(chip); - struct spinand_state *state = (struct spinand_state *)info->priv; + struct spinand_state *state = info->priv; return state; } @@ -49,7 +49,6 @@ static struct nand_ecclayout spinand_oob_64 = { 17, 18, 19, 20, 21, 22, 33, 34, 35, 36, 37, 38, 49, 50, 51, 52, 53, 54, }, - .oobavail = 32, .oobfree = { {.offset = 8, .length = 8}, @@ -63,8 +62,8 @@ static struct nand_ecclayout spinand_oob_64 = { }; #endif -/* - * spinand_cmd - to process a command to send to the SPI Nand +/** + * spinand_cmd - process a command to send to the SPI Nand * Description: * Set up the command buffer to send to the SPI controller. * The command buffer has to initialized to 0. @@ -110,10 +109,10 @@ static int spinand_cmd(struct spi_device *spi, struct spinand_cmd *cmd) return spi_sync(spi, &message); } -/* - * spinand_read_id- Read SPI Nand ID +/** + * spinand_read_id - Read SPI Nand ID * Description: - * Read ID: read two ID bytes from the SPI Nand device + * read two ID bytes from the SPI Nand device */ static int spinand_read_id(struct spi_device *spi_nand, u8 *id) { @@ -135,8 +134,8 @@ static int spinand_read_id(struct spi_device *spi_nand, u8 *id) return retval; } -/* - * spinand_read_status- send command 0xf to the SPI Nand status register +/** + * spinand_read_status - send command 0xf to the SPI Nand status register * Description: * After read, write, or erase, the Nand device is expected to set the * busy status. @@ -175,7 +174,7 @@ static int wait_till_ready(struct spi_device *spi_nand) retval = spinand_read_status(spi_nand, &stat); if (retval < 0) return -1; - else if (!(stat & 0x1)) + if (!(stat & 0x1)) break; cond_resched(); @@ -188,7 +187,7 @@ static int wait_till_ready(struct spi_device *spi_nand) } /** - * spinand_get_otp- send command 0xf to read the SPI Nand OTP register + * spinand_get_otp - send command 0xf to read the SPI Nand OTP register * Description: * There is one bit( bit 0x10 ) to set or to clear the internal ECC. * Enable chip internal ECC, set the bit to 1 @@ -212,7 +211,7 @@ static int spinand_get_otp(struct spi_device *spi_nand, u8 *otp) } /** - * spinand_set_otp- send command 0x1f to write the SPI Nand OTP register + * spinand_set_otp - send command 0x1f to write the SPI Nand OTP register * Description: * There is one bit( bit 0x10 ) to set or to clear the internal ECC. * Enable chip internal ECC, set the bit to 1 @@ -223,11 +222,11 @@ static int spinand_set_otp(struct spi_device *spi_nand, u8 *otp) int retval; struct spinand_cmd cmd = {0}; - cmd.cmd = CMD_WRITE_REG, - cmd.n_addr = 1, - cmd.addr[0] = REG_OTP, - cmd.n_tx = 1, - cmd.tx_buf = otp, + cmd.cmd = CMD_WRITE_REG; + cmd.n_addr = 1; + cmd.addr[0] = REG_OTP; + cmd.n_tx = 1; + cmd.tx_buf = otp; retval = spinand_cmd(spi_nand, &cmd); if (retval < 0) @@ -238,7 +237,7 @@ static int spinand_set_otp(struct spi_device *spi_nand, u8 *otp) #ifdef CONFIG_MTD_SPINAND_ONDIEECC /** - * spinand_enable_ecc- send command 0x1f to write the SPI Nand OTP register + * spinand_enable_ecc - send command 0x1f to write the SPI Nand OTP register * Description: * There is one bit( bit 0x10 ) to set or to clear the internal ECC. * Enable chip internal ECC, set the bit to 1 @@ -283,7 +282,7 @@ static int spinand_disable_ecc(struct spi_device *spi_nand) } /** - * spinand_write_enable- send command 0x06 to enable write or erase the + * spinand_write_enable - send command 0x06 to enable write or erase the * Nand cells * Description: * Before write and erase the Nand cells, the write enable has to be set. @@ -313,9 +312,9 @@ static int spinand_read_page_to_cache(struct spi_device *spi_nand, u16 page_id) return spinand_cmd(spi_nand, &cmd); } -/* - * spinand_read_from_cache- send command 0x03 to read out the data from the - * cache register(2112 bytes max) +/** + * spinand_read_from_cache - send command 0x03 to read out the data from the + * cache register (2112 bytes max) * Description: * The read can specify 1 to 2112 bytes of data read at the corresponding * locations. @@ -341,15 +340,15 @@ static int spinand_read_from_cache(struct spi_device *spi_nand, u16 page_id, return spinand_cmd(spi_nand, &cmd); } -/* - * spinand_read_page-to read a page with: +/** + * spinand_read_page - read a page * @page_id: the physical page number * @offset: the location from 0 to 2111 * @len: number of bytes to read * @rbuf: read buffer to hold @len bytes * * Description: - * The read includes two commands to the Nand: 0x13 and 0x03 commands + * The read includes two commands to the Nand - 0x13 and 0x03 commands * Poll to read status to wait for tRD time. */ static int spinand_read_page(struct spi_device *spi_nand, u16 page_id, @@ -408,11 +407,11 @@ static int spinand_read_page(struct spi_device *spi_nand, u16 page_id, return ret; } -/* - * spinand_program_data_to_cache--to write a page to cache with: +/** + * spinand_program_data_to_cache - write a page to cache * @byte_id: the location to write to the cache * @len: number of bytes to write - * @rbuf: read buffer to hold @len bytes + * @wbuf: write buffer holding @len bytes * * Description: * The write command used here is 0x84--indicating that the cache is @@ -439,7 +438,7 @@ static int spinand_program_data_to_cache(struct spi_device *spi_nand, } /** - * spinand_program_execute--to write a page from cache to the Nand array with + * spinand_program_execute - write a page from cache to the Nand array * @page_id: the physical page location to write the page. * * Description: @@ -462,11 +461,11 @@ static int spinand_program_execute(struct spi_device *spi_nand, u16 page_id) } /** - * spinand_program_page--to write a page with: + * spinand_program_page - write a page * @page_id: the physical page location to write the page. * @offset: the location from the cache starting from 0 to 2111 * @len: the number of bytes to write - * @wbuf: the buffer to hold the number of bytes + * @buf: the buffer holding @len bytes * * Description: * The commands used here are 0x06, 0x84, and 0x10--indicating that @@ -483,8 +482,11 @@ static int spinand_program_page(struct spi_device *spi_nand, #ifdef CONFIG_MTD_SPINAND_ONDIEECC unsigned int i, j; - enable_read_hw_ecc = 0; wbuf = devm_kzalloc(&spi_nand->dev, CACHE_BUF, GFP_KERNEL); + if (!wbuf) + return -ENOMEM; + + enable_read_hw_ecc = 0; spinand_read_page(spi_nand, page_id, 0, CACHE_BUF, wbuf); for (i = offset, j = 0; i < len; i++, j++) @@ -547,7 +549,7 @@ static int spinand_program_page(struct spi_device *spi_nand, } /** - * spinand_erase_block_erase--to erase a page with: + * spinand_erase_block_erase - erase a page * @block_id: the physical block location to erase. * * Description: @@ -570,7 +572,7 @@ static int spinand_erase_block_erase(struct spi_device *spi_nand, u16 block_id) } /** - * spinand_erase_block--to erase a page with: + * spinand_erase_block - erase a page * @block_id: the physical block location to erase. * * Description: @@ -746,7 +748,7 @@ static void spinand_cmdfunc(struct mtd_info *mtd, unsigned int command, { struct nand_chip *chip = mtd_to_nand(mtd); struct spinand_info *info = nand_get_controller_data(chip); - struct spinand_state *state = (struct spinand_state *)info->priv; + struct spinand_state *state = info->priv; switch (command) { /* @@ -810,7 +812,7 @@ static void spinand_cmdfunc(struct mtd_info *mtd, unsigned int command, } /** - * spinand_lock_block- send write register 0x1f command to the Nand device + * spinand_lock_block - send write register 0x1f command to the Nand device * * Description: * After power up, all the Nand blocks are locked. This function allows @@ -837,12 +839,12 @@ static int spinand_lock_block(struct spi_device *spi_nand, u8 lock) return ret; } -/* +/** * spinand_probe - [spinand Interface] * @spi_nand: registered device driver. * * Description: - * To set up the device driver parameters to make the device available. + * Set up the device driver parameters to make the device available. */ static int spinand_probe(struct spi_device *spi_nand) { @@ -890,7 +892,8 @@ static int spinand_probe(struct spi_device *spi_nand) #else chip->ecc.mode = NAND_ECC_SOFT; if (spinand_disable_ecc(spi_nand) < 0) - pr_info("%s: disable ecc failed!\n", __func__); + dev_info(&spi_nand->dev, "%s: disable ecc failed!\n", + __func__); #endif nand_set_flash_node(chip, spi_nand->dev.of_node); @@ -916,12 +919,12 @@ static int spinand_probe(struct spi_device *spi_nand) return mtd_device_register(mtd, NULL, 0); } -/* - * spinand_remove: Remove the device driver +/** + * spinand_remove - remove the device driver * @spi: the spi device. * * Description: - * To remove the device driver parameters and free up allocated memories. + * Remove the device driver parameters and free up allocated memories. */ static int spinand_remove(struct spi_device *spi) { diff --git a/drivers/staging/mt29f_spinand/mt29f_spinand.h b/drivers/staging/mt29f_spinand/mt29f_spinand.h index ae62975cf..457dc7ffd 100644 --- a/drivers/staging/mt29f_spinand/mt29f_spinand.h +++ b/drivers/staging/mt29f_spinand/mt29f_spinand.h @@ -78,7 +78,6 @@ #define BL_ALL_UNLOCKED 0 struct spinand_info { - struct nand_ecclayout *ecclayout; struct spi_device *spi; void *priv; }; -- cgit v1.2.3-54-g00ecf