1. 08 11月, 2015 2 次提交
  2. 28 10月, 2015 1 次提交
  3. 03 10月, 2015 1 次提交
  4. 08 8月, 2015 6 次提交
  5. 24 7月, 2015 1 次提交
  6. 19 7月, 2015 1 次提交
  7. 12 7月, 2015 1 次提交
  8. 14 6月, 2015 2 次提交
  9. 16 5月, 2015 5 次提交
  10. 28 3月, 2015 1 次提交
  11. 15 3月, 2015 2 次提交
  12. 08 3月, 2015 1 次提交
  13. 25 2月, 2015 1 次提交
    • 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
  14. 22 2月, 2015 1 次提交
  15. 04 2月, 2015 1 次提交
  16. 28 1月, 2015 3 次提交
  17. 27 1月, 2015 1 次提交
  18. 21 1月, 2015 1 次提交
  19. 11 1月, 2015 1 次提交
  20. 06 1月, 2015 7 次提交