mediatek: more mtd fixes
authorJohn Crispin <john@phrozen.org>
Wed, 25 May 2016 02:42:54 +0000 (04:42 +0200)
committerJohn Crispin <john@phrozen.org>
Wed, 25 May 2016 02:42:54 +0000 (04:42 +0200)
this fixes full builds when ALL_KMODS is selected

Signed-off-by: John Crispin <john@phrozen.org>
target/linux/mediatek/patches-4.4/0072-mtd-backport-v4.7-0day-patches-from-Boris.patch

index e4c8bc36e548174b33d2c85c1e4ab4a76866148b..8caa8e2f4f5b65061ea133866338d00b4ea4e3f6 100644 (file)
@@ -5416,3 +5416,65 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        /* Initialise write buffer */
        init_rwsem(&c->wbuf_sem);
+--- a/include/linux/mtd/spi-nor.h
++++ b/include/linux/mtd/spi-nor.h
+@@ -85,6 +85,7 @@
+ #define SR_BP0                        BIT(2)  /* Block protect 0 */
+ #define SR_BP1                        BIT(3)  /* Block protect 1 */
+ #define SR_BP2                        BIT(4)  /* Block protect 2 */
++#define SR_TB                 BIT(5)  /* Top/Bottom protect */
+ #define SR_SRWD                       BIT(7)  /* SR write protect */
+ #define SR_QUAD_EN_MX         BIT(6)  /* Macronix Quad I/O */
+@@ -116,6 +117,7 @@
+ enum spi_nor_option_flags {
+       SNOR_F_USE_FSR          = BIT(0),
++      SNOR_F_HAS_SR_TB        = BIT(1),
+ };
+ /**
+@@ -123,7 +125,6 @@
+  * @mtd:              point to a mtd_info structure
+  * @lock:             the lock for the read/write/erase/lock/unlock operations
+  * @dev:              point to a spi device, or a spi nor controller device.
+- * @flash_node:               point to a device node describing this flash instance.
+  * @page_size:                the page size of the SPI NOR
+  * @addr_width:               number of address bytes
+  * @erase_opcode:     the opcode for erasing a sector
+@@ -143,7 +144,8 @@
+  * @read:             [DRIVER-SPECIFIC] read data from the SPI NOR
+  * @write:            [DRIVER-SPECIFIC] write data to the SPI NOR
+  * @erase:            [DRIVER-SPECIFIC] erase a sector of the SPI NOR
+- *                    at the offset @offs
++ *                    at the offset @offs; if not provided by the driver,
++ *                    spi-nor will send the erase opcode via write_reg()
+  * @flash_lock:               [FLASH-SPECIFIC] lock a region of the SPI NOR
+  * @flash_unlock:     [FLASH-SPECIFIC] unlock a region of the SPI NOR
+  * @flash_is_locked:  [FLASH-SPECIFIC] check if a region of the SPI NOR is
+@@ -154,7 +156,6 @@
+       struct mtd_info         mtd;
+       struct mutex            lock;
+       struct device           *dev;
+-      struct device_node      *flash_node;
+       u32                     page_size;
+       u8                      addr_width;
+       u8                      erase_opcode;
+@@ -184,6 +185,17 @@
+       void *priv;
+ };
++static inline void spi_nor_set_flash_node(struct spi_nor *nor,
++                                        struct device_node *np)
++{
++      mtd_set_of_node(&nor->mtd, np);
++}
++
++static inline struct device_node *spi_nor_get_flash_node(struct spi_nor *nor)
++{
++      return mtd_get_of_node(&nor->mtd);
++}
++
+ /**
+  * spi_nor_scan() - scan the SPI NOR
+  * @nor:      the spi_nor structure