1. 10 5月, 2014 1 次提交
    • B
      mtd: nand: refactor erase_cmd() to return chip status · 49c50b97
      Brian Norris 提交于
      The nand_chip::erase_cmd callback previously served a dual purpose; for
      one, it allowed a per-flash-chip override, so that AG-AND devices could
      use a different erase command than other NAND. These AND devices were
      dropped in commit 14c65786 (mtd: nand:
      remove AG-AND support). On the other hand, some drivers (denali and
      doc-g4) need to use this sort of callback to implement
      controller-specific erase operations.
      
      To make the latter operation easier for some drivers (e.g., ST's new BCH
      NAND driver), it helps if the command dispatch and wait functions can be
      lumped together, rather than called separately.
      
      This patch does two things:
       1. Pull the call to chip->waitfunc() into chip->erase_cmd(), and return
          the status from this callback
       2. Rename erase_cmd() to just erase(), since this callback does a
          little more than just send a command
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Tested-by: NLee Jones <lee.jones@linaro.org>
      49c50b97
  2. 30 4月, 2014 1 次提交
  3. 18 4月, 2014 1 次提交
  4. 17 4月, 2014 3 次提交
    • B
      Merge branch 'spinor' · d66d3519
      Brian Norris 提交于
      Addition of the spi-nor framework, plus updates to the ST SPI FSM
      driver.
      d66d3519
    • B
      mtd: st_spi_fsm: only build for ARM · dc002f99
      Brian Norris 提交于
      COMPILE_TEST allows us to build this driver on other arch'es. But not
      all arch'es have the right I/O accessors -- particularly, x86 is missing
      readsl() and writesl().
      
      So just restrict this driver to ARCH_STI. It's still buildable for a
      multiplatform ARM kernel, so it can get decent compile coverage.
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      dc002f99
    • B
      mtd: st_spi_fsm: correct type issues · 38e2eee9
      Brian Norris 提交于
      Compile-testing for a 64-bit arch uncovers several bad casts:
      
          In file included from include/linux/linkage.h:4:0,
                           from include/linux/kernel.h:6,
                           from drivers/mtd/devices/st_spi_fsm.c:15:
          drivers/mtd/devices/st_spi_fsm.c: In function ‘stfsm_read_fifo’:
          drivers/mtd/devices/st_spi_fsm.c:758:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
            BUG_ON((((uint32_t)buf) & 0x3) || (size & 0x3));
          ...
      
      Use uintptr_t instead of uint32_t, since it's guaranteed to be
      pointer-sized.
      
      We also see this warning, if size_t is not 32 bits wide:
      
          In file included from drivers/mtd/devices/st_spi_fsm.c:15:0:
          drivers/mtd/devices/st_spi_fsm.c: In function ‘stfsm_mtd_write’:
          include/linux/kernel.h:712:17: warning: comparison of distinct pointer types lacks a cast [enabled by default]
            (void) (&_min1 == &_min2);  \
                           ^
          drivers/mtd/devices/st_spi_fsm.c:1704:11: note: in expansion of macro ‘min’
             bytes = min(FLASH_PAGESIZE - page_offs, len);
                     ^
      
      Just use min_t() to force the type conversion, since we don't really
      want to upgrade 'page_offs' and 'bytes' to size_t; they only should be
      handling <= 256 byte offsets.
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      38e2eee9
  5. 16 4月, 2014 7 次提交
  6. 15 4月, 2014 26 次提交
  7. 14 4月, 2014 1 次提交