于 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/

Reply via email to