1. 05 Jan, 2022 13 commits
  2. 30 Dec, 2021 2 commits
  3. 25 Dec, 2021 1 commit
    • Hans de Goede's avatar
      platform/x86: x86-android-tablets: New driver for x86 Android tablets · 55fa3c96
      Hans de Goede authored
      x86 tablets which ship with Android as (part of) the factory image
      typically have various problems with their DSDTs. The factory kernels
      shipped on these devices typically have device addresses and GPIOs
      hardcoded in the kernel, rather then specified in their DSDT.
      
      With the DSDT containing a random collection of devices which may or
      may not actually be present as well as missing devices which are
      actually present.
      
      This driver, which loads only on affected models based on DMI matching,
      adds DMI based instantiating of kernel devices for devices which are
      missing from the DSDT, fixing e.g. battery monitoring, touchpads and/or
      accelerometers not working.
      
      Note the Kconfig help text also refers to "various fixes" ATM there are
      no such fixes, but there are also known cases where entries are present
      in the DSDT but they contain bugs, such as missing/wrong GPIOs. The plan
      is to also add fixes for things like this here in the future.
      
      This is the least ugly option to get these devices to fully work and to
      do so without adding any extra code to the main kernel image (vmlinuz)
      when built as a module.
      
      Link: https://lore.kernel.org/platform-driver-x86/20211031162428.22368-1-hdegoede@redhat.com/Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://lore.kernel.org/r/20211223190750.397487-1-hdegoede@redhat.com
      55fa3c96
  4. 24 Dec, 2021 2 commits
  5. 23 Dec, 2021 7 commits
  6. 21 Dec, 2021 13 commits
  7. 15 Dec, 2021 1 commit
  8. 13 Dec, 2021 1 commit
    • Hans de Goede's avatar
      platform/x86: int3472: Deal with probe ordering issues · 97c2259e
      Hans de Goede authored
      The clk and regulator frameworks expect clk/regulator consumer-devices
      to have info about the consumed clks/regulators described in the device's
      fw_node.
      
      To work around this info missing from the ACPI tables on devices where
      the int3472 driver is used, the int3472 MFD-cell drivers attach info about
      consumers to the clks/regulators when registering these.
      
      This causes problems with the probe ordering wrt drivers for consumers
      of these clks/regulators. Since the lookups are only registered when the
      provider-driver binds, trying to get these clks/regulators before then
      results in a -ENOENT error for clks and a dummy regulator for regulators.
      
      All the sensor ACPI fw-nodes have a _DEP dependency on the INT3472 ACPI
      fw-node, so to work around these probe ordering issues the ACPI core /
      i2c-code does not instantiate the I2C-clients for any ACPI devices
      which have a _DEP dependency on an INT3472 ACPI device until all
      _DEP-s are met.
      
      This relies on acpi_dev_clear_dependencies() getting called by the driver
      for the _DEP-s when they are ready, add a acpi_dev_clear_dependencies()
      call to the discrete.c probe code.
      
      In the tps68470 case calling acpi_dev_clear_dependencies() is already done
      by the acpi_gpiochip_add() call done by the driver for the GPIO MFD cell
      (The GPIO cell is deliberately the last cell created to make sure the
      clk + regulator cells are already instantiated when this happens).
      
      However for proper probe ordering, the clk/regulator cells must not just
      be instantiated the must be fully ready (the clks + regulators must be
      registered with their subsystems).
      
      Add MODULE_SOFTDEP dependencies for the clk and regulator drivers for
      the instantiated MFD-cells so that these are loaded before us and so
      that they bind immediately when the platform-devs are instantiated.
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://lore.kernel.org/r/20211203102857.44539-12-hdegoede@redhat.com
      97c2259e