1. 23 Dec, 2015 34 commits
  2. 22 Dec, 2015 3 commits
    • Adam Thomson's avatar
      ASoC: da7218: Enable mic level detection reporting to user-space · e05c25a1
      Adam Thomson authored
      This patch adds support to the codec driver to handle mic level
      detect related IRQs, and report these to user-space using a uevent
      variable.
      
      The uevent variable string "EVENT=MIC_LEVEL_DETECT" is sent to
      user-space, if the mic level detect feature is enabled, and the
      audio captured at the chosen mic(s) is above a certain threshold.
      User-space can then handle the event accordingly (e.g. process
      audio capture stream).
      
      This method was chosen over ALSA control notification for a couple
      of reasons:
      
       1) There's no requirement here for a control to read state from.
          The event is the only thing that's required and of interest.
       2) tinyalsa support for control notifications does not exist so on
          platforms using this over alsa-lib there is a need to add code
          to support this event handling.
      
      Another possible option would be to use the standard Jack reporting
      framework but this really does not fit for this kind of event.
      
      Finally, use of the input device framework is not being encouraged,
      due to difficulties in enabling apps to access input devices, so
      this has also been avoided.
      Signed-off-by: default avatarAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      e05c25a1
    • Hans de Goede's avatar
      ASoC: sun4i-codec: Use proper output for external amp routes · 6b803c61
      Hans de Goede authored
      An external amp (if any) is connected to the external outputs of the SoC
      of course, rather then directly to the internal amp.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      6b803c61
    • Koro Chen's avatar
      ASoC: mediatek: Turn AFE on/off in runtime resume/suspend · c1f2a342
      Koro Chen authored
      AFE is actually allowed to be turn on before configuration of DAIs
      since each DAI has its own enabling control. Turn on/off AFE in
      runtime resume/suspend to avoid AFE being shut down when closing a DAI
      while other DAIs are still active.
      Signed-off-by: default avatarKoro Chen <koro.chen@mediatek.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      c1f2a342
  3. 21 Dec, 2015 1 commit
  4. 20 Dec, 2015 2 commits
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 9f7e4327
      Linus Torvalds authored
      Pull RTC fixes from Alexandre Belloni:
       "Late fixes for the RTC subsystem for 4.4:
      
        A fix for a nasty hardware bug in rk808 and an initialization
        reordering in da9063 to fix a possible crash"
      
      * tag 'rtc-4.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
        rtc: da9063: fix access ordering error during RTC interrupt at system power on
        rtc: rk808: Compensate for Rockchip calendar deviation on November 31st
      9f7e4327
    • Steve Twiss's avatar
      rtc: da9063: fix access ordering error during RTC interrupt at system power on · 77535ace
      Steve Twiss authored
      This fix alters the ordering of the IRQ and device registrations in the RTC
      driver probe function. This change will apply to the RTC driver that supports
      both DA9063 and DA9062 PMICs.
      
      A problem could occur with the existing RTC driver if:
      
      A system is started from a cold boot using the PMIC RTC IRQ to initiate a
      power on operation. For instance, if an RTC alarm is used to start a
      platform from power off.
      The existing driver IRQ is requested before the device has been properly
      registered.
      i.e.
          ret = devm_request_threaded_irq()
      comes before
          rtc->rtc_dev = devm_rtc_device_register();
      
      In this case, the interrupt can be called before the device has been
      registered and the handler can be called immediately. The IRQ handler
      da9063_alarm_event() contains the function call
      
          rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
      
      which in turn tries to access the unavailable rtc->rtc_dev.
      
      The fix is to reorder the functions inside the RTC probe. The IRQ is
      requested after the RTC device resource has been registered so that
      get_irq_byname is the last thing to happen.
      Signed-off-by: default avatarSteve Twiss <stwiss.opensource@diasemi.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      77535ace