1. 12 Mar, 2015 1 commit
  2. 09 Mar, 2015 11 commits
  3. 08 Mar, 2015 3 commits
  4. 07 Mar, 2015 1 commit
  5. 25 Feb, 2015 3 commits
    • Srinivas Pandruvada's avatar
      iio: imu: inv_mpu6050: Create mux clients for ACPI · a35c5d1a
      Srinivas Pandruvada authored
      This is a follow up patches after adding i2c mux adapter for bypass
      mode. Potentially many different types of sensor can be attached to
      INVMPU6XXX device, which can be connected to main cpu i2c bus in
      bypass mode.
      Why do we need this?
      The system ACPI table entry will consist of only one device for
      INV6XXX, assuming that this driver will handle all connected sensors.
      That is not true for the Linux driver. There are bunch of IIO drivers
      for each sensors, hence we created a mux on this device. So to load
      these additional drivers, we need to create i2c devices for them
      in this driver using this mux adapter.
      
      There are multiple options:
      1. Use the auto detect feature, this needs a new i2c class for the
      adapter as the existing HWMON class is not acceptable. Also the
      autodetect has overhead of executing detect method for each
      matching class of adapters.
      This is a simple implementation. This option was previously submitted
      with not a happy feedback.
      
      2. Option is use ACPI magic and parse the configuration data. What
      we need to create a i2c device at a minimum is address and a name.
      Address can be obtained for secondary device in more or less in a
      standard way from using _CRS element. But there is no name. To get
      name we need to process proprietary vendor data. Not having name is
      not fun, as you have to create device using the device name of
      INVN6XXXX, respecting driver duplicate name space restriction.
      Also each client driver needs to have this name in the id table.
      Since multiple driver can be loaded, the driver should be able to
      detect its presence and gracefully exit for the other client driver
      to take it over.
      So we use two step process:
      - Use DMI to id platform and parse propritery data. This is not uncommon
      for many x86 platform specific driver. We will get both name and address.
      The change created necessary infrastructure to add more properitery vendor
      data parsing.
      - If DMI match fails, then create device on INV6XXX-client (we can't
      create with same name as INV6XXX as it will cause duplicate name and driver
      model will reject.) With this each client sensor driver which needs to get
      attached via INV6XXXX, need this name in the id table and detect the
      physical presence of sensor in probe and exit if not found.
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
      a35c5d1a
    • Krzysztof Kozlowski's avatar
      iio: jsa1212: Constify struct regmap_config · 9820d883
      Krzysztof Kozlowski authored
      The regmap_config struct may be const because it is not modified by the
      driver and regmap_init() accepts pointer to const.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
      9820d883
    • Krzysztof Kozlowski's avatar
      staging:iio:hmc5843: Constify register tables and struct regmap_config · 15313309
      Krzysztof Kozlowski authored
      The regmap_access_table and regmap_config structures may be const
      because they are not modified by the driver and regmap_init() accepts
      pointer to const.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
      15313309
  6. 22 Feb, 2015 1 commit
  7. 21 Feb, 2015 1 commit
  8. 14 Feb, 2015 2 commits
  9. 08 Feb, 2015 7 commits
  10. 04 Feb, 2015 2 commits
  11. 03 Feb, 2015 3 commits
  12. 02 Feb, 2015 2 commits
  13. 01 Feb, 2015 3 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fba7e994
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "One more week's worth of fixes.  Worth pointing out here are:
      
         - A patch fixing detaching of iommu registrations when a device is
           removed -- earlier the ops pointer wasn't managed properly
         - Another set of Renesas boards get the same GIC setup fixup as
           others have in previous -rcs
         - Serial port aliases fixups for sunxi.  We did the same to tegra but
           we caught that in time before the merge window due to more machines
           being affected.  Here it took longer for anyone to notice.
         - A couple more DT tweaks on sunxi
         - A follow-up patch for the mvebu coherency disabling in last -rc
           batch"
      
      * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm: dma-mapping: Set DMA IOMMU ops in arm_iommu_attach_device()
        ARM: shmobile: r8a7790: Instantiate GIC from C board code in legacy builds
        ARM: shmobile: r8a73a4: Instantiate GIC from C board code in legacy builds
        ARM: mvebu: don't set the PL310 in I/O coherency mode when I/O coherency is disabled
        ARM: sunxi: dt: Fix aliases
        ARM: dts: sun4i: Add simplefb node with de_fe0-de_be0-lcd0-hdmi pipeline
        ARM: dts: sun6i: ippo-q8h-v5: Fix serial0 alias
        ARM: dts: sunxi: Fix usb-phy support for sun4i/sun5i
      fba7e994
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 3441456b
      Linus Torvalds authored
      Pull input layer updates from Dmitry Torokhov:
       "Just a few quirks for PS/2 this time"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elantech - add more Fujtisu notebooks to force crc_enabled
        Input: i8042 - add noloop quirk for Medion Akoya E7225 (MD98857)
        Input: synaptics - adjust min/max for Lenovo ThinkPad X1 Carbon 2nd
      3441456b
    • Linus Torvalds's avatar
      sched: don't cause task state changes in nested sleep debugging · 00845eb9
      Linus Torvalds authored
      Commit 8eb23b9f ("sched: Debug nested sleeps") added code to report
      on nested sleep conditions, which we generally want to avoid because the
      inner sleeping operation can re-set the thread state to TASK_RUNNING,
      but that will then cause the outer sleep loop not actually sleep when it
      calls schedule.
      
      However, that's actually valid traditional behavior, with the inner
      sleep being some fairly rare case (like taking a sleeping lock that
      normally doesn't actually need to sleep).
      
      And the debug code would actually change the state of the task to
      TASK_RUNNING internally, which makes that kind of traditional and
      working code not work at all, because now the nested sleep doesn't just
      sometimes cause the outer one to not block, but will cause it to happen
      every time.
      
      In particular, it will cause the cardbus kernel daemon (pccardd) to
      basically busy-loop doing scheduling, converting a laptop into a heater,
      as reported by Bruno Prémont.  But there may be other legacy uses of
      that nested sleep model in other drivers that are also likely to never
      get converted to the new model.
      
      This fixes both cases:
      
       - don't set TASK_RUNNING when the nested condition happens (note: even
         if WARN_ONCE() only _warns_ once, the return value isn't whether the
         warning happened, but whether the condition for the warning was true.
         So despite the warning only happening once, the "if (WARN_ON(..))"
         would trigger for every nested sleep.
      
       - in the cases where we knowingly disable the warning by using
         "sched_annotate_sleep()", don't change the task state (that is used
         for all core scheduling decisions), instead use '->task_state_change'
         that is used for the debugging decision itself.
      
      (Credit for the second part of the fix goes to Oleg Nesterov: "Can't we
      avoid this subtle change in behaviour DEBUG_ATOMIC_SLEEP adds?" with the
      suggested change to use 'task_state_change' as part of the test)
      Reported-and-bisected-by: default avatarBruno Prémont <bonbons@linux-vserver.org>
      Tested-by: default avatarRafael J Wysocki <rjw@rjwysocki.net>
      Acked-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>,
      Cc: Ilya Dryomov <ilya.dryomov@inktank.com>,
      Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Hurley <peter@hurleysoftware.com>,
      Cc: Davidlohr Bueso <dave@stgolabs.net>,
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      00845eb9