]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-pinebook-pro.patch
Up to 5.15.89.
[packages/kernel.git] / kernel-pinebook-pro.patch
index 8bfd20c62814dd42d5ec24df57b137f50a4f21df..d23a4a26217bd22a6503cd737ba111c224b0a177 100644 (file)
@@ -239,7 +239,7 @@ index 91da90cfb11d..7f2898a0e1e3 100644
  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 =
@@ -253,7 +253,7 @@ index 91da90cfb11d..7f2898a0e1e3 100644
 +              } 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
@@ -287,7 +287,7 @@ index c5f0d936b003..37e45c356540 100644
 --- 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)
@@ -491,9 +491,9 @@ index a6fae1f86505..2908771f4d4e 100644
  #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;
@@ -535,9 +535,9 @@ index a6fae1f86505..2908771f4d4e 100644
 +#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);
@@ -571,7 +571,7 @@ index a6fae1f86505..2908771f4d4e 100644
                        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");
@@ -661,8 +661,8 @@ index a6fae1f86505..2908771f4d4e 100644
                            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");
@@ -703,8 +703,8 @@ index a6fae1f86505..2908771f4d4e 100644
        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) {
@@ -964,39 +964,6 @@ index 0f1820f36b4d..8d9d77814f33 100644
 -- 
 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
@@ -1013,14 +980,18 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/b
 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";
This page took 0.078609 seconds and 4 git commands to generate.