于 2013年04月25日 14:57, Brian Norris 写道:
A bit late on this one, but is there a good reason this wasn't just 2
separate 16-bit fields? We already have a few, and I don't see why
this couldn't be the same.
I just want to make the ecc_strength/ecc_size more coupled for the
nand_flash_dev{}.
If we spilit to two fields. It makes the nand_flash_ids[] less readable.
Signed-off-by: Huang Shijie<b32...@freescale.com>
---
include/linux/mtd/nand.h | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 063e517..f4c7777 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -624,6 +624,10 @@ struct nand_chip {
{ .name = (nm), {{ .dev_id = (devid) }}, .chipsize = (chipsz), \
.options = (opts) }
+#define NAND_ECC_INFO(strength, size) (((strength)<< 16) | (size))
We could redefine this:
#define NAND_ECC_INFO(strength, size) .ecc_strength = (strength),
.ecc_size = (size)
Do this type of macro could be accepted by the kernel?
I think your macro needs a pair of bracket, such as:
#define NAND_ECC_INFO(strength, size) (.ecc_strength = (strength),
.ecc_size = (size))
But if we add the brackets, we will meet a compiler error.
thanks
Huang Shijie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/