]> Git Repo - linux.git/commitdiff
Merge branch 'regulator-4.19' into regulator-next
authorMark Brown <[email protected]>
Fri, 10 Aug 2018 16:31:24 +0000 (17:31 +0100)
committerMark Brown <[email protected]>
Fri, 10 Aug 2018 16:31:24 +0000 (17:31 +0100)
1  2 
drivers/base/core.c
drivers/soc/qcom/Kconfig

diff --combined drivers/base/core.c
index df3e1a44707acc74010cf5ce6fab815c4f744896,3b380b1f27682c9f90334e4b2c79ee79b61ef18d..2ab316d856510958b58501203bb7fc61c2f49a46
@@@ -236,13 -236,6 +236,13 @@@ struct device_link *device_link_add(str
                        link->rpm_active = true;
                }
                pm_runtime_new_link(consumer);
 +              /*
 +               * If the link is being added by the consumer driver at probe
 +               * time, balance the decrementation of the supplier's runtime PM
 +               * usage counter after consumer probe in driver_probe_device().
 +               */
 +              if (consumer->links.status == DL_DEV_PROBING)
 +                      pm_runtime_get_noresume(supplier);
        }
        get_device(supplier);
        link->supplier = supplier;
                        switch (consumer->links.status) {
                        case DL_DEV_PROBING:
                                /*
 -                               * Balance the decrementation of the supplier's
 -                               * runtime PM usage counter after consumer probe
 -                               * in driver_probe_device().
 +                               * Some callers expect the link creation during
 +                               * consumer driver probe to resume the supplier
 +                               * even without DL_FLAG_RPM_ACTIVE.
                                 */
                                if (flags & DL_FLAG_PM_RUNTIME)
 -                                      pm_runtime_get_sync(supplier);
 +                                      pm_runtime_resume(supplier);
  
                                link->status = DL_STATE_CONSUMER_PROBE;
                                break;
@@@ -372,6 -365,36 +372,36 @@@ void device_link_del(struct device_lin
  }
  EXPORT_SYMBOL_GPL(device_link_del);
  
+ /**
+  * device_link_remove - remove a link between two devices.
+  * @consumer: Consumer end of the link.
+  * @supplier: Supplier end of the link.
+  *
+  * The caller must ensure proper synchronization of this function with runtime
+  * PM.
+  */
+ void device_link_remove(void *consumer, struct device *supplier)
+ {
+       struct device_link *link;
+       if (WARN_ON(consumer == supplier))
+               return;
+       device_links_write_lock();
+       device_pm_lock();
+       list_for_each_entry(link, &supplier->links.consumers, s_node) {
+               if (link->consumer == consumer) {
+                       kref_put(&link->kref, __device_link_del);
+                       break;
+               }
+       }
+       device_pm_unlock();
+       device_links_write_unlock();
+ }
+ EXPORT_SYMBOL_GPL(device_link_remove);
  static void device_links_missing_supplier(struct device *dev)
  {
        struct device_link *link;
diff --combined drivers/soc/qcom/Kconfig
index 5856e792d09c8d317b01627c2d03a97eeaebff37,ccbdb398fa630ae96d77da5ce6a1f8fada8b7bb5..ba79b609aca21068fc73b7b6f552137dfebdce87
@@@ -5,8 -5,7 +5,8 @@@ menu "Qualcomm SoC drivers
  
  config QCOM_COMMAND_DB
        bool "Qualcomm Command DB"
 -      depends on (ARCH_QCOM && OF) || COMPILE_TEST
 +      depends on ARCH_QCOM || COMPILE_TEST
 +      depends on OF_RESERVED_MEM
        help
          Command DB queries shared memory by key string for shared system
          resources. Platform drivers that require to set state of a shared
@@@ -40,6 -39,23 +40,23 @@@ config QCOM_GSB
            functions for connecting the underlying serial UART, SPI, and I2C
            devices to the output pins.
  
+ config QCOM_LLCC
+       tristate "Qualcomm Technologies, Inc. LLCC driver"
+       depends on ARCH_QCOM
+       help
+         Qualcomm Technologies, Inc. platform specific
+         Last Level Cache Controller(LLCC) driver. This provides interfaces
+         to clients that use the LLCC. Say yes here to enable LLCC slice
+         driver.
+ config QCOM_SDM845_LLCC
+       tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver"
+       depends on QCOM_LLCC
+       help
+         Say yes here to enable the LLCC driver for SDM845. This provides
+         data required to configure LLCC so that clients can start using the
+         LLCC slices.
  config QCOM_MDT_LOADER
        tristate
        select QCOM_SCM
@@@ -75,6 -91,16 +92,16 @@@ config QCOM_RMTFS_ME
  
          Say y here if you intend to boot the modem remoteproc.
  
+ config QCOM_RPMH
+       bool "Qualcomm RPM-Hardened (RPMH) Communication"
+       depends on ARCH_QCOM && ARM64 && OF || COMPILE_TEST
+       help
+         Support for communication with the hardened-RPM blocks in
+         Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
+         internal bus to transmit state requests for shared resources. A set
+         of hardware components aggregate requests for these resources and
+         help apply the aggregated state on the resource.
  config QCOM_SMEM
        tristate "Qualcomm Shared Memory Manager (SMEM)"
        depends on ARCH_QCOM
This page took 0.07082 seconds and 4 git commands to generate.