mtd: rawnand: Declare the nand_manufacturer structure out of nand_chip
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 29 May 2020 11:12:59 +0000 (13:12 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 26 Jun 2020 06:35:04 +0000 (08:35 +0200)
Now that struct nand_manufacturer type is free, use it to store the
nand_manufacturer_desc and the manufacturer's private data.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/linux-mtd/20200529111322.7184-6-miquel.raynal@bootlin.com
include/linux/mtd/rawnand.h

index 860d3c1020ef4f35c76b468374d95a7b795430f6..a3dfa36a9fd5001c924993dc389a91cdad954416 100644 (file)
@@ -1043,10 +1043,21 @@ struct nand_chip_ops {
        int (*setup_read_retry)(struct nand_chip *chip, int retry_mode);
 };
 
+/**
+ * struct nand_manufacturer - NAND manufacturer structure
+ * @desc: The manufacturer description
+ * @priv: Private information for the manufacturer driver
+ */
+struct nand_manufacturer {
+       const struct nand_manufacturer_desc *desc;
+       void *priv;
+};
+
 /**
  * struct nand_chip - NAND Private Flash Chip Data
  * @base:              Inherit from the generic NAND device
  * @ops:               NAND chip operations
+ * @manufacturer:      Manufacturer information
  * @legacy:            All legacy fields/hooks. If you develop a new driver,
  *                     don't even try to use any of these fields/hooks, and if
  *                     you're modifying an existing driver that is using those
@@ -1106,13 +1117,11 @@ struct nand_chip_ops {
  *                     structure which is shared among multiple independent
  *                     devices.
  * @priv:              [OPTIONAL] pointer to private chip data
- * @manufacturer:      [INTERN] Contains manufacturer information
- * @manufacturer.desc: [INTERN] Contains manufacturer's description
- * @manufacturer.priv: [INTERN] Contains manufacturer private information
  */
 
 struct nand_chip {
        struct nand_device base;
+       struct nand_manufacturer manufacturer;
        struct nand_chip_ops ops;
        struct nand_legacy legacy;
 
@@ -1161,11 +1170,6 @@ struct nand_chip {
        struct nand_bbt_descr *badblock_pattern;
 
        void *priv;
-
-       struct {
-               const struct nand_manufacturer_desc *desc;
-               void *priv;
-       } manufacturer;
 };
 
 extern const struct mtd_ooblayout_ops nand_ooblayout_sp_ops;