1. 04 Jul, 2019 5 commits
  2. 03 Jul, 2019 7 commits
  3. 27 Jun, 2019 21 commits
  4. 26 Jun, 2019 1 commit
  5. 14 Jun, 2019 3 commits
  6. 12 Jun, 2019 3 commits
    • Tony Lindgren's avatar
      gpio: omap: Fix lost edge wake-up interrupts · a522f1d0
      Tony Lindgren authored
      If an edge interrupt triggers while entering idle just before we save
      GPIO datain register to saved_datain, the triggered GPIO will not be
      noticed on wake-up. This is because the saved_datain and GPIO datain
      are the same on wake-up in omap_gpio_unidle(). Let's fix this by
      ignoring any pending edge interrupts for saved_datain.
      
      This issue affects only idle states where the GPIO module internal
      wake-up path is operational. For deeper idle states where the GPIO
      module gets powered off, Linux generic wakeirqs must be used for
      the padconf wake-up events with pinctrl-single driver. For examples,
      please see "interrupts-extended" dts usage in many drivers.
      
      This issue can be somewhat easily reproduced by pinging an idle system
      with smsc911x Ethernet interface configured IRQ_TYPE_EDGE_FALLING. At
      some point the smsc911x interrupts will just stop triggering. Also if
      WLCORE WLAN is used with EDGE interrupt like it's documentation specifies,
      we can see lost interrupts without this patch.
      
      Note that in the long run we may be able to cancel entering idle by
      returning an error in gpio_omap_cpu_notifier() on pending interrupts.
      But let's fix the bug first.
      
      Also note that because of the recent clean-up efforts this patch does
      not apply directly to older kernels. This does fix a long term issue
      though, and can be backported as needed.
      
      Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
      Cc: Grygorii Strashko <grygorii.strashko@ti.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Ladislav Michl <ladis@linux-mips.org>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      a522f1d0
    • Linus Walleij's avatar
      fmc: Delete the FMC subsystem · 6a80b300
      Linus Walleij authored
      The FMC subsystem was created in 2012 with the ambition to
      drive development of drivers for this hardware upstream.
      
      The current implementation has architectural flaws and would
      need to be revamped using real hardware to something that can
      reuse existing kernel abstractions in the subsystems for e.g.
      I2C, FPGA and GPIO.
      
      We have concluded that for the mainline kernel it will be
      better to delete the subsystem and start over with a clean
      slate when/if an active maintainer steps up.
      
      For details see:
      https://lkml.org/lkml/2018/10/29/534Suggested-by: default avatarFederico Vaga <federico.vaga@cern.ch>
      Cc: Pat Riehecky <riehecky@fnal.gov>
      Acked-by: default avatarAlessandro Rubini <rubini@gnudd.com>
      Signed-off-by: default avatarFederico Vaga <federico.vaga@cern.ch>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      6a80b300
    • Russell King's avatar