1. 24 1月, 2016 8 次提交
  2. 23 1月, 2016 4 次提交
  3. 16 1月, 2016 2 次提交
    • A
      mtd: nuc900_nand: read correct SMISR register · f9bdbd6c
      Arnd Bergmann 提交于
      The nuc900_nand driver has always passed an incorrect register
      address in its nuc900_check_rb() function, which cannot possibly
      work, and in some configurations gives us a build warning:
      
      drivers/mtd/nand/nuc900_nand.c: In function 'nuc900_check_rb':
      drivers/mtd/nand/nuc900_nand.c:27:23: warning: passing argument 1 of '__raw_readl' makes pointer from integer without a cast [-Wint-conversion]
       #define REG_SMISR     0xac
      drivers/mtd/nand/nuc900_nand.c:118:20: note: in expansion of macro 'REG_SMISR'
        val = __raw_readl(REG_SMISR);
      
      This makes sure we actually read from the register rather than
      from (void *)0x000000ac in user space.
      
      I suspect nobody noticed this before because the nuc900_nand_devready()
      function never gets called, or nobody uses this driver on an upstream
      kernel. Possibly even both.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      f9bdbd6c
    • G
      mtd: mtk-nor: Drop bogus __init from mtk_nor_init() · 92752d99
      Geert Uytterhoeven 提交于
      WARNING: drivers/mtd/spi-nor/mtk-quadspi.o(.text+0x77e): Section mismatch in reference from the function mtk_nor_drv_probe() to the function .init.text:mtk_nor_init()
      The function mtk_nor_drv_probe() references
      the function __init mtk_nor_init().
      This is often because mtk_nor_drv_probe lacks a __init
      annotation or the annotation of mtk_nor_init is wrong.
      
      Drop the bogus __init from mtk_nor_init() to kill this warning.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      92752d99
  4. 09 1月, 2016 2 次提交
  5. 08 1月, 2016 7 次提交
  6. 07 1月, 2016 11 次提交
  7. 06 1月, 2016 4 次提交
  8. 05 1月, 2016 1 次提交
    • B
      mtd: fix cmdlinepart parser, early naming for auto-filled MTD · 472b444e
      Brian Norris 提交于
      Commit 807f16d4 ("mtd: core: set some defaults when dev.parent is
      set") attempted to provide some default settings for MTDs that
       (a) assign the parent device and
       (b) don't provide their own name or owner
      
      However, this isn't a perfect drop-in replacement for the boilerplate
      found in some drivers, because the MTD name is used by partition
      parsers like cmdlinepart, but the name isn't set until add_mtd_device(),
      after the parsing is completed. This means cmdlinepart sees a NULL name
      and therefore will not work properly.
      
      Fix this by moving the default name and owner assignment to be first in
      the MTD registration process.
      
      [Note: this does not fix all reported issues, particularly with NAND
      drivers. Will require an additional fix for drivers/mtd/nand/]
      
      Fixes: 807f16d4 ("mtd: core: set some defaults when dev.parent is set")
      Reported-by: NHeiko Schocher <hs@denx.de>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Cc: Heiko Schocher <hs@denx.de>
      Cc: Frans Klaver <fransklaver@gmail.com>
      472b444e
  9. 19 12月, 2015 1 次提交
    • A
      mtd: sh_flctl: pass FIFO as physical address · 1873315f
      Arnd Bergmann 提交于
      By convention, the FIFO address we pass using dmaengine_slave_config
      is a physical address in the form that is understood by the DMA
      engine, as a dma_addr_t, phys_addr_t or resource_size_t.
      
      The sh_flctl driver however passes a virtual __iomem address that
      gets cast to dma_addr_t in the slave driver. This happens to work
      on shmobile because that platform sets up an identity mapping for
      its MMIO regions, but such code is not portable to other platforms,
      and prevents us from ever changing the platform mapping or reusing
      the driver on other architectures like ARM64 that might not have the
      mapping.
      
      We also get a warning about a type mismatch for the case that
      dma_addr_t is wider than a pointer, i.e. when CONFIG_LPAE is set:
      
      drivers/mtd/nand/sh_flctl.c: In function 'flctl_setup_dma':
      drivers/mtd/nand/sh_flctl.c:163:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        cfg.dst_addr = (dma_addr_t)FLDTFIFO(flctl);
      
      This changes the driver to instead pass the physical address of
      the FIFO that is extracted from the MMIO resource, making the
      code more portable and avoiding the warning.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      1873315f