1. 15 3月, 2015 2 次提交
  2. 12 3月, 2015 1 次提交
  3. 10 3月, 2015 3 次提交
  4. 09 3月, 2015 3 次提交
  5. 08 3月, 2015 4 次提交
  6. 25 2月, 2015 3 次提交
    • S
      iio: imu: inv_mpu6050: Create mux clients for ACPI · a35c5d1a
      Srinivas Pandruvada 提交于
      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: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      a35c5d1a
    • K
      iio: jsa1212: Constify struct regmap_config · 9820d883
      Krzysztof Kozlowski 提交于
      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: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      9820d883
    • K
      staging:iio:hmc5843: Constify register tables and struct regmap_config · 15313309
      Krzysztof Kozlowski 提交于
      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: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      15313309
  7. 22 2月, 2015 2 次提交
  8. 15 2月, 2015 1 次提交
  9. 08 2月, 2015 7 次提交
  10. 05 2月, 2015 2 次提交
  11. 04 2月, 2015 3 次提交
  12. 02 2月, 2015 1 次提交
  13. 31 1月, 2015 3 次提交
    • J
      iio:common:ssp_sensors fix warnings due to 32 bit instead of 64 bit passed to do_div · 67460e8c
      Jonathan Cameron 提交于
      Also change to div64_u64 in one place to avoid loss of precision
      (was dividing a 32 bit number by a 64 bit number, but casting this
      to 64 bit divided by 32 bit)  Those divide functions certainly have
      esoteric naming!
      
      Fixes warnings with asm-generic/div64.h do_div such as:
         In file included from drivers/iio/common/ssp_sensors/ssp_iio.c:20:0:
         drivers/iio/common/ssp_sensors/ssp_iio_sensor.h: In function 'ssp_convert_to_freq':
      >> drivers/iio/common/ssp_sensors/ssp_iio_sensor.h:56:16: warning: comparison of distinct pointer types lacks a cast [enabled by default]
         drivers/iio/common/ssp_sensors/ssp_iio_sensor.h:56:2: warning: right shift count >= width of type [enabled by default]
      >> drivers/iio/common/ssp_sensors/ssp_iio_sensor.h:56:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default]
         include/asm-generic/div64.h:35:17: note: expected 'uint64_t *' but argument is of type 'int *'
         drivers/iio/common/ssp_sensors/ssp_iio.c: In function 'ssp_common_process_data':
         include/linux/iio/buffer.h:142:32: warning: 'calculated_time' may be used uninitialized in this function [-Wuninitialized]
         drivers/iio/common/ssp_sensors/ssp_iio.c:83:10: note: 'calculated_time' was declared here
      
      Fixed by using straight coded version as per the description in the
      div64.h header, thus ensuring no issue with 32 bit integers.
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      67460e8c
    • I
      iio: add driver for Freescale MMA9553 · 40cb7613
      Irina Tirdea 提交于
      Add support for Freescale MMA9553L Intelligent Pedometer Platform.
      
      The following functionalities are supported:
       - step counter (counts the number of steps using a HW register)
       - step detector (generates an iio event at every step the user takes)
       - activity recognition (rest, walking, jogging, running)
       - speed
       - calories
       - distance
      
      To get accurate pedometer results, the user's height, weight and gender
      need to be configured.
      
      The specifications can be downloaded from:
      http://www.freescale.com/files/sensors/doc/ref_manual/MMA955xLSWRM.pdf
      http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdfSigned-off-by: NIrina Tirdea <irina.tirdea@intel.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      40cb7613
    • W
      i2c: sh_mobile: terminate DMA reads properly · 32e22409
      Wolfram Sang 提交于
      DMA read requests could miss proper termination, so two more bytes would
      have been read via PIO overwriting the end of the buffer with wrong
      data. Make DMA stop handling more readable while we are here.
      Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      32e22409
  14. 30 1月, 2015 5 次提交
    • R
      drm: fix fb-helper vs MST dangling connector ptrs (v2) · 2148f18f
      Rob Clark 提交于
      VT switch back/forth from console to xserver (for example) has potential
      to go horribly wrong if a dynamic DP MST connector ends up in the saved
      modeset that is restored when switching back to fbcon.
      
      When removing a dynamic connector, don't forget to clean up the saved
      state.
      
      v1: original
      v2: null out set->fb if no more connectors to avoid making i915 cranky
      
      Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1184968
      Cc: stable@vger.kernel.org #v3.17+
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      2148f18f
    • L
      vm: add VM_FAULT_SIGSEGV handling support · 33692f27
      Linus Torvalds 提交于
      The core VM already knows about VM_FAULT_SIGBUS, but cannot return a
      "you should SIGSEGV" error, because the SIGSEGV case was generally
      handled by the caller - usually the architecture fault handler.
      
      That results in lots of duplication - all the architecture fault
      handlers end up doing very similar "look up vma, check permissions, do
      retries etc" - but it generally works.  However, there are cases where
      the VM actually wants to SIGSEGV, and applications _expect_ SIGSEGV.
      
      In particular, when accessing the stack guard page, libsigsegv expects a
      SIGSEGV.  And it usually got one, because the stack growth is handled by
      that duplicated architecture fault handler.
      
      However, when the generic VM layer started propagating the error return
      from the stack expansion in commit fee7e49d ("mm: propagate error
      from stack expansion even for guard page"), that now exposed the
      existing VM_FAULT_SIGBUS result to user space.  And user space really
      expected SIGSEGV, not SIGBUS.
      
      To fix that case, we need to add a VM_FAULT_SIGSEGV, and teach all those
      duplicate architecture fault handlers about it.  They all already have
      the code to handle SIGSEGV, so it's about just tying that new return
      value to the existing code, but it's all a bit annoying.
      
      This is the mindless minimal patch to do this.  A more extensive patch
      would be to try to gather up the mostly shared fault handling logic into
      one generic helper routine, and long-term we really should do that
      cleanup.
      
      Just from this patch, you can generally see that most architectures just
      copied (directly or indirectly) the old x86 way of doing things, but in
      the meantime that original x86 model has been improved to hold the VM
      semaphore for shorter times etc and to handle VM_FAULT_RETRY and other
      "newer" things, so it would be a good idea to bring all those
      improvements to the generic case and teach other architectures about
      them too.
      Reported-and-tested-by: NTakashi Iwai <tiwai@suse.de>
      Tested-by: NJan Engelhardt <jengelh@inai.de>
      Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> # "s390 still compiles and boots"
      Cc: linux-arch@vger.kernel.org
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      33692f27
    • I
      iio: core: Introduce IIO_CHAN_INFO_DEBOUNCE_COUNT and _TIME · 2f0ecb7c
      Irina Tirdea 提交于
      The pedometer needs to filter out false steps that might be generated by
      tapping the foot, sitting, etc. To do that it computes the number of
      steps that occur in a given time and decides the user is moving only
      if this value is over a threshold. E.g.: the user starts moving only
      if he takes 4 steps in 3 seconds. This filter is applied only when
      the user starts moving.
      
      A device that has such pedometer functionality is Freescale's MMA9553L:
      http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf.
      
      To export this feature, this patch introduces IIO_CHAN_INFO_DEBOUNCE_COUNT
      and IIO_CHAN_INFO_DEBOUNCE_TIME. For the pedometer, in_steps_debounce_count
      will specify the number of steps that need to occur in
      in_steps_debounce_time seconds so that the pedometer decides the user is
      moving.
      Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      2f0ecb7c
    • K
      iio: common: ssp_sensors: Add sensorhub gyroscope sensor · a9afcaa6
      Karol Wrona 提交于
      This patch adds gyroscope iio driver which uses sensorhub as data
      provider.
      Signed-off-by: NKarol Wrona <k.wrona@samsung.com>
      Acked-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      a9afcaa6
    • K
      iio: common: ssp_sensors: Add sensorhub accelerometer sensor · 3755a1d3
      Karol Wrona 提交于
      This patch adds accelerometer iio driver which uses sensorhub as data
      provider.
      Signed-off-by: NKarol Wrona <k.wrona@samsung.com>
      Acked-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      3755a1d3