[PATCH v3 07/11] mtd: mtd_nandecctest: generalize injecting bit errors function for ecc code

Artem Bityutskiy artem.bityutskiy at linux.intel.com
Tue Sep 4 06:06:35 EDT 2012


On Mon, 2012-09-03 at 22:00 +0900, Akinobu Mita wrote:
> In order to inject deliberate bit errors into the ecc code which only
> has 3 bytes, this adjusts the bitops usage in inject_single_bit_error()
> which is currently only used for injecting into the 256 or 512 bytes
> data block.
> 
> Signed-off-by: Akinobu Mita <akinobu.mita at gmail.com>
> Cc: David Woodhouse <dwmw2 at infradead.org>
> Cc: linux-mtd at lists.infradead.org
> Cc: Artem Bityutskiy <artem.bityutskiy at linux.intel.com>

I do not understand the commit message and the patch.
> ---
>  drivers/mtd/tests/mtd_nandecctest.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mtd/tests/mtd_nandecctest.c b/drivers/mtd/tests/mtd_nandecctest.c
> index d3e8873..0274f73 100644
> --- a/drivers/mtd/tests/mtd_nandecctest.c
> +++ b/drivers/mtd/tests/mtd_nandecctest.c
> @@ -7,13 +7,22 @@
>  #include <linux/slab.h>
>  #include <linux/mtd/nand_ecc.h>
>  
> +#include <asm/byteorder.h>

I think you do not need to include this.

> +
>  #if defined(CONFIG_MTD_NAND) || defined(CONFIG_MTD_NAND_MODULE)
>  
> +#ifdef __LITTLE_ENDIAN
> +#define __change_bit_le(nr, addr) __change_bit(nr, addr)
> +#else
> +#define __change_bit_le(nr, addr) \
> +		__change_bit((nr) ^ ((BITS_PER_LONG - 1) & ~0x7), addr)
> +#endif

Why is this "#ifdef" needed? Can you please add a comment explaining
this? Which problem do you solve by adding '__change_bit_le()' ?

-- 
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20120904/6c30559d/attachment.sig>


More information about the linux-mtd mailing list