The if and the else branch code are identical - so the condition has no
effect on the effective code. This patch removes the condition and the
duplicated code and updates the documentation as suggested by
Roger Quadros <[email protected]>.
Acked-by: Roger Quadros <[email protected]>
Signed-off-by: Nicholas Mc Guire <[email protected]>
---
v2: Confirmation of proposed patch and update of the related documentation
as provided by Roger Quadros <[email protected]>
The conditions in the OMAP_ECC_BCH8_CODE_HW_DETECTION_SW and
OMAP_ECC_BCH4_CODE_HW_DETECTION_SW case have no effect and can
be removed.
Patch was only compile tested with arm-linux-gnueabi-4.7-, current
crosstool-ng did not seem to build omap2 properly.
Config is omap2plus_defconfig which implies CONFIG_MTD_NAND_OMAP2=y.
Patch is against 3.19.0-rc7 (localversion-next is -next-20150204)
drivers/mtd/nand/omap2.c | 31 +++++++++----------------------
1 file changed, 9 insertions(+), 22 deletions(-)
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index 63f858e..60fa899 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -1048,10 +1048,9 @@ static int omap_dev_ready(struct mtd_info *mtd)
* @mtd: MTD device structure
* @mode: Read/Write mode
*
- * When using BCH, sector size is hardcoded to 512 bytes.
- * Using wrapping mode 6 both for reading and writing if ELM module not uses
- * for error correction.
- * On writing,
+ * When using BCH with SW correction (i.e. no ELM), sector size is set
+ * to 512 bytes and we use BCH_WRAPMODE_6 wrapping mode
+ * for both reading and writing with:
* eccsize0 = 0 (no additional protected byte in spare area)
* eccsize1 = 32 (skip 32 nibbles = 16 bytes per sector in spare area)
*/
@@ -1071,15 +1070,9 @@ static void __maybe_unused omap_enable_hwecc_bch(struct mtd_info *mtd, int mode)
case OMAP_ECC_BCH4_CODE_HW_DETECTION_SW:
bch_type = 0;
nsectors = 1;
- if (mode == NAND_ECC_READ) {
- wr_mode = BCH_WRAPMODE_6;
- ecc_size0 = BCH_ECC_SIZE0;
- ecc_size1 = BCH_ECC_SIZE1;
- } else {
- wr_mode = BCH_WRAPMODE_6;
- ecc_size0 = BCH_ECC_SIZE0;
- ecc_size1 = BCH_ECC_SIZE1;
- }
+ wr_mode = BCH_WRAPMODE_6;
+ ecc_size0 = BCH_ECC_SIZE0;
+ ecc_size1 = BCH_ECC_SIZE1;
break;
case OMAP_ECC_BCH4_CODE_HW:
bch_type = 0;
@@ -1097,15 +1090,9 @@ static void __maybe_unused omap_enable_hwecc_bch(struct mtd_info *mtd, int mode)
case OMAP_ECC_BCH8_CODE_HW_DETECTION_SW:
bch_type = 1;
nsectors = 1;
- if (mode == NAND_ECC_READ) {
- wr_mode = BCH_WRAPMODE_6;
- ecc_size0 = BCH_ECC_SIZE0;
- ecc_size1 = BCH_ECC_SIZE1;
- } else {
- wr_mode = BCH_WRAPMODE_6;
- ecc_size0 = BCH_ECC_SIZE0;
- ecc_size1 = BCH_ECC_SIZE1;
- }
+ wr_mode = BCH_WRAPMODE_6;
+ ecc_size0 = BCH_ECC_SIZE0;
+ ecc_size1 = BCH_ECC_SIZE1;
break;
case OMAP_ECC_BCH8_CODE_HW:
bch_type = 1;
--
1.7.10.4
On Wednesday 04 February 2015 10:54 PM, Nicholas Mc Guire wrote:
> The if and the else branch code are identical - so the condition has no
> effect on the effective code. This patch removes the condition and the
> duplicated code and updates the documentation as suggested by
> Roger Quadros <[email protected]>.
>
> Acked-by: Roger Quadros <[email protected]>
> Signed-off-by: Nicholas Mc Guire <[email protected]>
> ---
>
> v2: Confirmation of proposed patch and update of the related documentation
> as provided by Roger Quadros <[email protected]>
>
> The conditions in the OMAP_ECC_BCH8_CODE_HW_DETECTION_SW and
> OMAP_ECC_BCH4_CODE_HW_DETECTION_SW case have no effect and can
> be removed.
>
> Patch was only compile tested with arm-linux-gnueabi-4.7-, current
> crosstool-ng did not seem to build omap2 properly.
> Config is omap2plus_defconfig which implies CONFIG_MTD_NAND_OMAP2=y.
>
> Patch is against 3.19.0-rc7 (localversion-next is -next-20150204)
>
> drivers/mtd/nand/omap2.c | 31 +++++++++----------------------
> 1 file changed, 9 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
> index 63f858e..60fa899 100644
> --- a/drivers/mtd/nand/omap2.c
> +++ b/drivers/mtd/nand/omap2.c
> @@ -1048,10 +1048,9 @@ static int omap_dev_ready(struct mtd_info *mtd)
> * @mtd: MTD device structure
> * @mode: Read/Write mode
> *
> - * When using BCH, sector size is hardcoded to 512 bytes.
> - * Using wrapping mode 6 both for reading and writing if ELM module not uses
> - * for error correction.
> - * On writing,
> + * When using BCH with SW correction (i.e. no ELM), sector size is set
> + * to 512 bytes and we use BCH_WRAPMODE_6 wrapping mode
> + * for both reading and writing with:
> * eccsize0 = 0 (no additional protected byte in spare area)
> * eccsize1 = 32 (skip 32 nibbles = 16 bytes per sector in spare area)
> */
> @@ -1071,15 +1070,9 @@ static void __maybe_unused omap_enable_hwecc_bch(struct mtd_info *mtd, int mode)
> case OMAP_ECC_BCH4_CODE_HW_DETECTION_SW:
> bch_type = 0;
> nsectors = 1;
> - if (mode == NAND_ECC_READ) {
> - wr_mode = BCH_WRAPMODE_6;
> - ecc_size0 = BCH_ECC_SIZE0;
> - ecc_size1 = BCH_ECC_SIZE1;
> - } else {
> - wr_mode = BCH_WRAPMODE_6;
> - ecc_size0 = BCH_ECC_SIZE0;
> - ecc_size1 = BCH_ECC_SIZE1;
> - }
> + wr_mode = BCH_WRAPMODE_6;
> + ecc_size0 = BCH_ECC_SIZE0;
> + ecc_size1 = BCH_ECC_SIZE1;
> break;
> case OMAP_ECC_BCH4_CODE_HW:
> bch_type = 0;
> @@ -1097,15 +1090,9 @@ static void __maybe_unused omap_enable_hwecc_bch(struct mtd_info *mtd, int mode)
> case OMAP_ECC_BCH8_CODE_HW_DETECTION_SW:
> bch_type = 1;
> nsectors = 1;
> - if (mode == NAND_ECC_READ) {
> - wr_mode = BCH_WRAPMODE_6;
> - ecc_size0 = BCH_ECC_SIZE0;
> - ecc_size1 = BCH_ECC_SIZE1;
> - } else {
> - wr_mode = BCH_WRAPMODE_6;
> - ecc_size0 = BCH_ECC_SIZE0;
> - ecc_size1 = BCH_ECC_SIZE1;
> - }
> + wr_mode = BCH_WRAPMODE_6;
> + ecc_size0 = BCH_ECC_SIZE0;
> + ecc_size1 = BCH_ECC_SIZE1;
> break;
> case OMAP_ECC_BCH8_CODE_HW:
> bch_type = 1;
>
Thanks for the clean-up ..
Reviewed-by: Pekon Gupta <[email protected]>
with regards, pekon
------------------------
Powered by BigRock.com
On Wed, Feb 04, 2015 at 12:24:06PM -0500, Nicholas Mc Guire wrote:
> The if and the else branch code are identical - so the condition has no
> effect on the effective code. This patch removes the condition and the
> duplicated code and updates the documentation as suggested by
> Roger Quadros <[email protected]>.
>
> Acked-by: Roger Quadros <[email protected]>
> Signed-off-by: Nicholas Mc Guire <[email protected]>
Applied to l2-mtd.git.
Thanks,
Brian