1. 11 8月, 2015 1 次提交
  2. 08 7月, 2015 1 次提交
  3. 28 5月, 2015 1 次提交
    • D
      mtd: cfi: deinline large functions · 4612c715
      Denys Vlasenko 提交于
      With this .config: http://busybox.net/~vda/kernel_config,
      after uninlining these functions have sizes and callsite counts
      as follows:
      
      cfi_udelay(): 74 bytes, 26 callsites
      cfi_send_gen_cmd(): 153 bytes, 95 callsites
      cfi_build_cmd(): 274 bytes, 123 callsites
      cfi_build_cmd_addr(): 49 bytes, 15 callsites
      cfi_merge_status(): 230 bytes, 3 callsites
      
      Reduction in code size is about 50,000:
      
          text     data      bss       dec     hex filename
      85842882 22294584 20627456 128764922 7accbfa vmlinux.before
      85789648 22294616 20627456 128711720 7abfc28 vmlinux
      Signed-off-by: NDenys Vlasenko <dvlasenk@redhat.com>
      CC: Dan Carpenter <dan.carpenter@oracle.com>
      CC: Jingoo Han <jg1.han@samsung.com>
      CC: Brian Norris <computersforpeace@gmail.com>
      CC: Aaron Sierra <asierra@xes-inc.com>
      CC: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
      CC: David Woodhouse <David.Woodhouse@intel.com>
      CC: linux-mtd@lists.infradead.org
      CC: linux-kernel@vger.kernel.org
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      4612c715
  4. 12 5月, 2015 1 次提交
    • B
      mtd: nand: add common DT init code · 5844feea
      Brian Norris 提交于
      These are already-documented common bindings for NAND chips. Let's
      handle them in nand_base.
      
      If NAND controller drivers need to act on this data before bringing up
      the NAND chip (e.g., fill out ECC callback functions, change HW modes,
      etc.), then they can do so between calling nand_scan_ident() and
      nand_scan_tail().
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      5844feea
  5. 07 5月, 2015 1 次提交
  6. 28 3月, 2015 1 次提交
  7. 12 3月, 2015 2 次提交
    • A
      mtd: clean up whitespace in linux/mtd/map.h · 7234bea6
      Arnd Bergmann 提交于
      As the only comments I got for the "mtd: cfi: reduce stack size"
      patch were about whitespace changes, it appears necessary to fix
      up the rest of the file as well, which contains the exact same
      mistakes.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      7234bea6
    • A
      mtd: cfi: reduce stack size · d09957fb
      Arnd Bergmann 提交于
      The cfi_staa_write_buffers function uses a large amount of kernel stack
      whenever CONFIG_MTD_MAP_BANK_WIDTH_32 is set, and that results in a
      warning on ARM allmodconfig builds:
      
      drivers/mtd/chips/cfi_cmdset_0020.c: In function 'cfi_staa_write_buffers':
      drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1208 bytes is larger than 1024 bytes [-Wframe-larger-than=]
      
      It turns out that this is largely a result of a suboptimal implementation
      of map_word_andequal(). Replacing this function with a straightforward
      one reduces the stack size in this function by exactly 200 bytes,
      shrinks the .text segment for this file from 27648 bytes to 26608 bytes,
      and makes the warning go away.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      d09957fb
  8. 28 1月, 2015 2 次提交
  9. 21 1月, 2015 1 次提交
  10. 08 1月, 2015 2 次提交
  11. 26 11月, 2014 1 次提交
  12. 20 11月, 2014 1 次提交
  13. 05 11月, 2014 2 次提交
  14. 22 10月, 2014 2 次提交
    • B
      spi-nor: Remove spi_nor::read_id operation · e66fcf72
      Ben Hutchings 提交于
      There is currently no useful way to override the default
      implementation of this operation.  The returned struct spi_device_id
      must have a pointer to struct flash_info in its private data, but this
      structure is defined inside spi-nor.
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      e66fcf72
    • B
      mtd: m25p80,spi-nor: Fix module aliases for m25p80 · a5b7616c
      Ben Hutchings 提交于
      m25p80's device ID table is now spi_nor_ids, defined in spi-nor.  The
      MODULE_DEVICE_TABLE() macro doesn't work with extern definitions, but
      its use was also removed at the same time.  Now if m25p80 is built as
      a module it doesn't get the necessary aliases to be loaded
      automatically.
      
      A clean solution to this will involve defining the list of device
      IDs in spi-nor.h and removing struct spi_device_id from the spi-nor
      API, but this is quite a large change.
      
      As a quick fix suitable for stable, copy the device IDs back into
      m25p80.
      
      Fixes: 03e296f6 ("mtd: m25p80: use the SPI nor framework")
      Cc: <stable@vger.kernel.org> # 3.16.x: 32f1b7c8: mtd: move support for struct flash_platform_data into m25p80
      Cc: <stable@vger.kernel.org> # 3.16.x: 90e55b38: mtd: m25p80: get rid of spi_get_device_id
      Cc: <stable@vger.kernel.org> # 3.16.x: 70f3ce05: mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id
      Cc: <stable@vger.kernel.org> # 3.16.x
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      a5b7616c
  15. 18 10月, 2014 1 次提交
  16. 23 9月, 2014 1 次提交
  17. 20 8月, 2014 3 次提交
  18. 22 7月, 2014 2 次提交
  19. 12 7月, 2014 1 次提交
  20. 09 7月, 2014 1 次提交
  21. 28 5月, 2014 1 次提交
  22. 21 5月, 2014 1 次提交
  23. 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
  24. 19 4月, 2014 1 次提交
  25. 15 4月, 2014 8 次提交