EXPORT_SYMBOL_GPL(led_trigger_event);
@@ -402,10 +472,13 @@ static void led_trigger_blink_setup(struct led_trigger *trig,
- read_lock(&trig->leddev_list_lock);
+ read_lock_irqsave(&trig->leddev_list_lock, flags);
list_for_each_entry(led_cdev, &trig->led_cdevs, trig_list) {
- if (oneshot)
+ bool trigger_inverted =
+ } else
led_blink_set(led_cdev, delay_on, delay_off);
}
- read_unlock(&trig->leddev_list_lock);
+ read_unlock_irqrestore(&trig->leddev_list_lock, flags);
diff --git a/include/linux/leds.h b/include/linux/leds.h
index 6a8d6409c993..9cbf42cf08e8 100644
--- a/include/linux/leds.h
--- a/drivers/tty/serdev/core.c
+++ b/drivers/tty/serdev/core.c
@@ -432,11 +432,22 @@ static int serdev_drv_remove(struct device *dev)
- return 0;
+ dev_pm_domain_detach(dev, true);
}
+static void serdev_drv_shutdown(struct device *dev)
#include <linux/kernel.h>
#include <linux/kthread.h>
@@ -369,6 +370,11 @@ struct tcpm_port {
- /* Sink caps have been queried */
- bool sink_cap_done;
-
+ * SNK_READY for non-pd link.
+ */
+ bool slow_charger_loop;
+#ifdef CONFIG_EXTCON
+ struct extcon_dev *extcon;
+ unsigned int *extcon_cables;
+#endif
+}
+
- static int tcpm_pd_transmit(struct tcpm_port *port,
- enum tcpm_transmit_type type,
- const struct pd_message *msg)
+ static void tcpm_set_cc(struct tcpm_port *port, enum typec_cc_status cc)
+ {
+ tcpm_log(port, "cc:=%d", cc);
@@ -881,6 +916,8 @@ static int tcpm_set_roles(struct tcpm_port *port, bool attached,
typec_set_data_role(port->typec_port, data);
typec_set_pwr_role(port->typec_port, role);
if (modep->svid_index < modep->nsvids) {
u16 svid = modep->svids[modep->svid_index];
+ tcpm_log(port, "More modes available, sending discover");
- response[0] = VDO(svid, 1, CMD_DISCOVER_MODES);
+ response[0] = VDO(svid, 1, svdm_version, CMD_DISCOVER_MODES);
rlen = 1;
} else {
+ tcpm_log(port, "Got all patner modes, registering");
struct fwnode_handle *fwnode)
{
@@ -4742,6 +4845,23 @@ static int tcpm_fw_get_caps(struct tcpm_port *port,
- if (!fwnode)
- return -EINVAL;
+ */
+ fw_devlink_purge_absent_suppliers(fwnode);
+#ifdef CONFIG_EXTCON
+ ret = fwnode_property_count_u32(fwnode, "extcon-cables");
port->typec_caps.fwnode = tcpc->fwnode;
port->typec_caps.revision = 0x0120; /* Type-C spec release 1.2 */
@@ -5141,6 +5272,12 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
- goto out_role_sw_put;
- }
+ port->port_altmode, ALTMODE_DISCOVERY_MAX);
+ port->registered = true;
+ err = tcpm_fw_get_caps_late(port, tcpc->fwnode);
+ if (err < 0) {
--
GitLab
-From 43756ac8a7e63935843e95471a9557677cedcbe0 Mon Sep 17 00:00:00 2001
-From: Tobias Schramm <t.schramm@manjaro.org>
-Date: Thu, 28 May 2020 14:43:27 +0200
-Subject: [PATCH] arm64: dts: rockchip: add oficially unsupported 2GHz opp
-
-No mainlining here.
-
-Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
----
- arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-index 667eeeb019de..decb212e2dca 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-@@ -392,6 +392,13 @@ mains_charger: dc-charger {
- };
- };
-
-+&cluster1_opp {
-+ opp08 {
-+ opp-hz = /bits/ 64 <2016000000>;
-+ opp-microvolt = <1250000>;
-+ };
-+};
-+
- &cdn_dp {
- status = "okay";
- };
---
-GitLab
-
From 948d7ade0ddcf292b91d91cb8b6819a19ab3f604 Mon Sep 17 00:00:00 2001
From: Tobias Schramm <t.schramm@manjaro.org>
Date: Thu, 28 May 2020 14:44:15 +0200
index decb212e2dca..37f967a89401 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-@@ -401,6 +401,7 @@ opp08 {
-
- &cdn_dp {
- status = "okay";
-+ extcon = <&fusb0>;
+@@ -385,6 +385,11 @@ opp08 {
+ };
};
++&cdn_dp {
++ status = "okay";
++ extcon = <&fusb0>;
++};
++
&cpu_b0 {
+ cpu-supply = <&vdd_cpu_b>;
+ };
@@ -735,6 +736,9 @@ connector {
<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
try-power-role = "sink";