1. 19 Jan, 2018 2 commits
  2. 16 Jan, 2018 1 commit
    • Arnd Bergmann's avatar
      mtd: onenand: omap2: print resource using %pR format string · 82cea533
      Arnd Bergmann authored
      The omap2 onenand driver is now available for compile-testing, which
      uncovers a warning in configurations that have a 64-bit resource_size_t:
      
      drivers/mtd/onenand/omap2.c: In function 'omap2_onenand_probe':
      drivers/mtd/onenand/omap2.c:536:54: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'resource_size_t {aka long long unsigned int}' [-Werror=format=]
         dev_err(dev, "Cannot reserve memory region at 0x%08x, size: 0x%x\n",
      drivers/mtd/onenand/omap2.c:536:66: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t {aka long long unsigned int}' [-Werror=format=]
      
      Changing the format string to the special %pR simplifies the code
      and lets it do the right thing in that configuration, while avoiding
      the warning.
      
      Fixes: a758f50f ("mtd: onenand: omap2: Configure driver from DT")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
      Reviewed-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      82cea533
  3. 14 Jan, 2018 2 commits
  4. 12 Jan, 2018 22 commits
  5. 10 Jan, 2018 1 commit
  6. 09 Jan, 2018 2 commits
  7. 06 Jan, 2018 3 commits
  8. 18 Dec, 2017 4 commits
  9. 16 Dec, 2017 1 commit
    • Miquel Raynal's avatar
      mtd: nand: add ->exec_op() implementation · 8878b126
      Miquel Raynal authored
      Introduce a new interface to instruct NAND controllers to send specific
      NAND operations. The new interface takes the form of a single method
      called ->exec_op(). This method is designed to replace ->cmd_ctrl(),
      ->cmdfunc() and ->read/write_byte/word/buf() hooks.
      
      ->exec_op() is passed a set of instructions describing the operation
      to execute. Each instruction has a type (ADDR, CMD, DATA, WAITRDY)
      and delay. The delay is here to help simple controllers wait enough
      time between each instruction, advanced controllers with integrated
      timings control can ignore these delays.
      
      Controllers that natively support complex operations (operations
      formed of several instructions) can use the NAND op parser
      infrastructure. This infrastructure allows controller drivers to
      describe the sequence of instructions they support (called
      nand_op_pattern) and a hook for each of these supported sequences. The
      core then tries to find the best match for a given NAND operation, and
      calls the associated hook.
      
      Various other helpers are also added to ease NAND controller drivers
      writing.
      
      This new interface should ease support of vendor specific operations
      in that NAND manufacturer drivers now have a way to check if the
      controller they are connected to supports a specific operation, and
      complain or refuse to probe the NAND chip when that's not the case.
      Suggested-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@free-electrons.com>
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      8878b126
  10. 14 Dec, 2017 2 commits