1. 08 8月, 2016 1 次提交
    • J
      memory: omap-gpmc: allow probe of child nodes to fail · 23540d6e
      Johan Hovold 提交于
      A recent commit (inadvertently?) changed how failed probe of a gpmc
      child node was handled. Instead of proceeding with setting up any other
      children as before, a single error now aborts the whole process.
      
      This change broke networking on some Overo boards due to probe failing
      for an unrelated nand node. This second issue should obviously be
      fixed, but let's restore the old behaviour of allowing child-node
      probe to fail to avoid further similar breakage on other systems.
      
      Fixes: d2d00862 ("memory: omap-gpmc: Support general purpose input
      for WAITPINs")
      
      Cc: stable@vger.kernel.org  # v4.7+
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      23540d6e
  2. 24 6月, 2016 1 次提交
  3. 17 6月, 2016 2 次提交
    • R
      memory: omap-gpmc: Move gpio functions out of #ifdef CONFIG_OF · 32dd625a
      Roger Quadros 提交于
      The gpio related functions were mistakenly built only if CONFIG_OF
      is defined. They are needed even otherwise and will cause build
      failures if CONFIG_OF is not defined. Move the gpio functions
      outside #ifdef CONFIG_OF.
      
      Fixes: d2d00862 ("memory: omap-gpmc: Support general purpose input for WAITPINs")
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      32dd625a
    • P
      memory: omap-gpmc: make it explicitly non-modular · caf21c61
      Paul Gortmaker 提交于
      The Kconfig currently controlling compilation of this code is:
      
      drivers/memory/Kconfig:config OMAP_GPMC
      drivers/memory/Kconfig:  bool
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We don't replace module.h with init.h since the file already has that.
      
      Cc: Roger Quadros <rogerq@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: linux-omap@vger.kernel.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      caf21c61
  4. 16 6月, 2016 1 次提交
    • O
      memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing · 8f50b8e5
      Ocquidant, Sebastien 提交于
      In the omap gpmc driver it can be noticed that GPMC_CONFIG4_OEEXTRADELAY
      is overwritten by the WEEXTRADELAY value from the device tree and
      GPMC_CONFIG4_WEEXTRADELAY is not updated by the value from the device
      tree.
      
      As a consequence, the memory accesses cannot be configured properly when
      the extra delay are needed for OE and WE.
      
      Fix the update of GPMC_CONFIG4_WEEXTRADELAY with the value from the
      device tree file and prevents GPMC_CONFIG4_OEXTRADELAY
      being overwritten by the WEXTRADELAY value from the device tree.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NOcquidant, Sebastien <sebastienocquidant@eaton.com>
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      8f50b8e5
  5. 20 4月, 2016 1 次提交
  6. 15 4月, 2016 9 次提交
  7. 08 2月, 2016 1 次提交
  8. 13 10月, 2015 1 次提交
  9. 13 8月, 2015 1 次提交
    • R
      memory: kill off set_irq_flags usage · ed293d1a
      Rob Herring 提交于
      set_irq_flags is ARM specific with custom flags which have genirq
      equivalents. Convert drivers to use the genirq interfaces directly, so we
      can kill off set_irq_flags. The translation of flags is as follows:
      
      IRQF_VALID -> !IRQ_NOREQUEST
      IRQF_PROBE -> !IRQ_NOPROBE
      IRQF_NOAUTOEN -> IRQ_NOAUTOEN
      
      For IRQs managed by an irqdomain, the irqdomain core code handles clearing
      and setting IRQ_NOREQUEST already, so there is no need to do this in
      .map() functions and we can simply remove the set_irq_flags calls. Some
      users also set IRQ_NOPROBE and this has been maintained although it is not
      clear that is really needed. There appears to be a great deal of blind
      copy and paste of this code.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Acked-by: NRoger Quadros <rogerq@ti.com>
      Cc: linux-omap@vger.kernel.org
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ed293d1a
  10. 12 8月, 2015 1 次提交
    • T
      memory: omap-gpmc: Don't try to save uninitialized GPMC context · e984a179
      Tomeu Vizoso 提交于
      If for some reason the GPMC device hasn't been probed yet, gpmc_base is
      going to be NULL. Because there's no context yet to be saved, just turn
      these functions into no-ops until that device gets probed.
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000010
      pgd = c0204000
      [00000010] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.2.0-rc5-next-20150804-05947-g23f38fe8eda9 #1
      Hardware name: Generic OMAP3-GP (Flattened Device Tree)
      task: c0e623e8 ti: c0e5c000 task.ti: c0e5c000
      PC is at omap3_gpmc_save_context+0x8/0xc4
      LR is at omap_sram_idle+0x154/0x23c
      pc : [<c087c7ac>]    lr : [<c023262c>]    psr: 60000193
      sp : c0e5df40  ip : c0f92a80  fp : c0999eb0
      r10: c0e57364  r9 : c0e66f14  r8 : 00000003
      r7 : 00000000  r6 : 00000003  r5 : 00000000  r4 : c0f5f174
      r3 : c0fa4fe8  r2 : 00000000  r1 : 00000000  r0 : fa200280
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 80204019  DAC: 00000015
      Process swapper/0 (pid: 0, stack limit = 0xc0e5c220)
      Stack: (0xc0e5df40 to 0xc0e5e000)
      df40: 00000000 c0e66ef8 c0f5f1a4 00000000 00000003 c02333a4 c3813822 00000000
      df60: 00000000 c0e5a5c8 cfb8a5d0 c07f0c44 0e4f1d7e 00000000 00000000 00000000
      df80: c3813822 00000000 cfb8a5d0 c0e5e4e4 cfb8a5d0 c0e66f14 c0e5a5c8 c0e5e54c
      dfa0: c0e5e544 c0e57364 c0999eb0 c0277758 000000fa c0f5d000 00000000 c0d61c18
      dfc0: ffffffff ffffffff 00000000 c0d61674 00000000 c0df7a48 00000000 c0f5d5d4
      dfe0: c0e5e4c0 c0df7a44 c0e634f8 80204059 00000000 8020807c 00000000 00000000
      [<c087c7ac>] (omap3_gpmc_save_context) from [<c023262c>] (omap_sram_idle+0x154/0x23c)
      [<c023262c>] (omap_sram_idle) from [<c02333a4>] (omap3_enter_idle_bm+0xec/0x1a8)
      [<c02333a4>] (omap3_enter_idle_bm) from [<c07f0c44>] (cpuidle_enter_state+0xbc/0x284)
      [<c07f0c44>] (cpuidle_enter_state) from [<c0277758>] (cpu_startup_entry+0x174/0x24c)
      [<c0277758>] (cpu_startup_entry) from [<c0d61c18>] (start_kernel+0x358/0x3c0)
      [<c0d61c18>] (start_kernel) from [<8020807c>] (0x8020807c)
      Code: c0ccace8 c0ccacc0 e59f30b4 e5932000 (e5921010)
      Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com>
      Suggested-by: NJavier Martinez Canillas <javier@dowhile0.org>
      Reviewed-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Acked-by: NRoger Quadros <rogerq@ti.com>
      [tony@atomide.com: updated description as suggested by Javier]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e984a179
  11. 02 6月, 2015 2 次提交
    • T
      memory: omap-gpmc: Add Kconfig option for debug · 63aa945b
      Tony Lindgren 提交于
      We support decoding the bootloader values if DEBUG is defined.
      But we also need to change the struct omap_hwmod flags to have
      HWMOD_INIT_NO_RESET to avoid the GPMC being reset during the
      boot. Otherwise just the default timings will be displayed
      instead of the bootloader configured timings.
      
      This also allows us to clean up the various GPMC related
      hwmod flags. For debugging, we only need HWMOD_INIT_NO_RESET,
      and HWMOD_INIT_NO_IDLE is not needed.
      
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Roger Quadros <rogerq@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      63aa945b
    • T
      memory: omap-gpmc: Fix parsing of devices · 28a7eedd
      Tony Lindgren 提交于
      We currently artificially limit the parsing of GPMC connected
      devices based on the device name. Let's stop doing that, it's
      confusing as adding devices to .dts files with using normal
      names like fpga and usb will currently cause them to not probe.
      
      Cc: Roger Quadros <rogerq@ti.com>
      Reported-by: NBrian Hutchinson <b.hutchman@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      28a7eedd
  12. 06 3月, 2015 8 次提交
  13. 25 2月, 2015 2 次提交
  14. 29 11月, 2014 2 次提交
  15. 21 11月, 2014 1 次提交
    • T
      ARM: OMAP2+: Prepare to move GPMC to drivers by platform data header · e639cd5b
      Tony Lindgren 提交于
      We still need to support platform data for omap3 until it's booting
      in device tree only mode. So let's add platform_data/omap-gpmc.h for
      that, and a minimal linux/omap-gpmc.h for the save and restore used
      by the PM code.
      
      Let's also keep a minimal mach-omap2/gpmc.h still around to avoid
      churn on the board-*.c files. Once omap3 boots in device tree only
      mode, we can drop mach-omap2/gpmc.h and we can make the data
      structures in platform_data/omap-gpmc.h private to the GPMC driver.
      
      Note that we can now also remove gpmc-nand.h and gpmc-onenand.h.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Acked-by: NRoger Quadros <rogerq@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e639cd5b
  16. 11 11月, 2014 1 次提交
  17. 07 11月, 2014 1 次提交
  18. 04 11月, 2014 3 次提交
  19. 30 10月, 2014 1 次提交