kernel: bump 6.1 to 6.1.63
authorJohn Audia <therealgraysky@proton.me>
Mon, 20 Nov 2023 12:15:50 +0000 (07:15 -0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 23 Nov 2023 21:51:52 +0000 (22:51 +0100)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.63

Removed upstreamed:
generic/backport-6.1/815-v6.6-2-leds-turris-omnia-Drop-unnecessary-mutex-locking.patch
generic/backport-6.1/815-v6.7-1-leds-turris-omnia-Do-not-use-SMBUS-calls.patch
ixp4xx/patches-6.1/0007-watchdog-ixp4xx-Make-sure-restart-always-works.patch

Manually rebased:
bcm27xx/patches-6.1/950-0606-hwrng-bcm2835-sleep-more-intelligently.patch

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.63&id=7d0e60e4ff840e97fb18afb2a7344442c10a6fdf
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.63&id=63cdeb20ee3bfef820b045b8d3b8395f9f815a74
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.63&id=8803da01fe1b4ca3d37745283f7e73c6c2558c0c

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
15 files changed:
include/kernel-6.1
target/linux/bcm27xx/patches-6.1/950-0606-hwrng-bcm2835-sleep-more-intelligently.patch
target/linux/bcm53xx/patches-6.1/905-BCM53573-minor-hacks.patch
target/linux/generic/backport-6.1/815-v6.6-1-leds-turris-omnia-Use-sysfs_emit-instead-of-sprintf.patch
target/linux/generic/backport-6.1/815-v6.6-2-leds-turris-omnia-Drop-unnecessary-mutex-locking.patch [deleted file]
target/linux/generic/backport-6.1/815-v6.7-1-leds-turris-omnia-Do-not-use-SMBUS-calls.patch [deleted file]
target/linux/generic/hack-6.1/259-regmap_dynamic.patch
target/linux/generic/hack-6.1/904-debloat_dma_buf.patch
target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
target/linux/ipq40xx/patches-6.1/701-net-dsa-add-out-of-band-tagging-protocol.patch
target/linux/ixp4xx/patches-6.1/0007-watchdog-ixp4xx-Make-sure-restart-always-works.patch [deleted file]
target/linux/mediatek/patches-6.1/220-v6.3-clk-mediatek-clk-gate-Propagate-struct-device-with-m.patch
target/linux/mediatek/patches-6.1/221-v6.3-clk-mediatek-cpumux-Propagate-struct-device-where-po.patch
target/linux/mediatek/patches-6.1/222-v6.3-clk-mediatek-clk-mtk-Propagate-struct-device-for-com.patch
target/linux/qualcommax/patches-6.1/0100-clk-qcom-clk-rcg2-introduce-support-for-multiple-con.patch

index 1dd947e7bc0ccbe96fd9af647ceae41d0bc86316..01ed1d17070c284ab1f0c96f55b91862a424afe1 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.1 = .62
-LINUX_KERNEL_HASH-6.1.62 = b9fd616facd6becfceef88b9be718d0f16625cab3fe81d11384802a7091e85ec
+LINUX_VERSION-6.1 = .63
+LINUX_KERNEL_HASH-6.1.63 = c29d043b01dd4fcc61a24fd027c5c7912b15b1f10d8e3c83a0cb935885f0758d
index 40c1091106a6dc827e02983daa96b7088705fa56..db806313ccd1327d44411e9b1877d233b2434785 100644 (file)
@@ -50,10 +50,10 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 +      while (!num_words) {
 +              if (!wait || !retries)
                        return 0;
--              hwrng_msleep(rng, 1000);
+-              hwrng_yield(rng);
 +              retries--;
 +              usleep_range((u32)RNG_US_PER_WORD,
-+                           (u32)RNG_US_PER_WORD * RNG_FIFO_WORDS);
++                              (u32)RNG_US_PER_WORD * RNG_FIFO_WORDS);
 +              num_words = rng_readl(priv, RNG_STATUS) >> 24;
        }
  
index 0d4962462b4c3fa740288126d660f1791f36714c..0a52ca98eeb7bd9ef4570b15a1b1346ee64d4e7b 100644 (file)
@@ -61,7 +61,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
  #include <linux/clockchips.h>
  #include <linux/clocksource.h>
  #include <linux/clocksource_ids.h>
-@@ -1028,6 +1029,16 @@ static void __init arch_timer_of_configu
+@@ -1029,6 +1030,16 @@ static void __init arch_timer_of_configu
        if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate))
                arch_timer_rate = rate;
  
index 2ade1025ea2e30f0a41cf9ddfb79562c1065df45..e17be439b24db1330cc4ee375d72332ae238971c 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Lee Jones <lee@kernel.org>
 
 --- a/drivers/leds/leds-turris-omnia.c
 +++ b/drivers/leds/leds-turris-omnia.c
-@@ -166,7 +166,7 @@ static ssize_t brightness_show(struct de
+@@ -194,7 +194,7 @@ static ssize_t brightness_show(struct de
        if (ret < 0)
                return ret;
  
diff --git a/target/linux/generic/backport-6.1/815-v6.6-2-leds-turris-omnia-Drop-unnecessary-mutex-locking.patch b/target/linux/generic/backport-6.1/815-v6.6-2-leds-turris-omnia-Drop-unnecessary-mutex-locking.patch
deleted file mode 100644 (file)
index 74bde47..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From 8f3d612a5c949489b2860b74ff34c5914a9216dd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
-Date: Wed, 2 Aug 2023 18:07:43 +0200
-Subject: [PATCH 2/6] leds: turris-omnia: Drop unnecessary mutex locking
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Do not lock driver mutex in the global LED panel brightness sysfs
-accessors brightness_show() and brightness_store().
-
-The mutex locking is unnecessary here. The I2C transfers are guarded by
-I2C core locking mechanism, and the LED commands itself do not interfere
-with other commands.
-
-Fixes: 089381b27abe ("leds: initial support for Turris Omnia LEDs")
-Signed-off-by: Marek Behún <kabel@kernel.org>
-Reviewed-by: Lee Jones <lee@kernel.org>
-Link: https://lore.kernel.org/r/20230802160748.11208-2-kabel@kernel.org
-Signed-off-by: Lee Jones <lee@kernel.org>
----
- drivers/leds/leds-turris-omnia.c | 11 +----------
- 1 file changed, 1 insertion(+), 10 deletions(-)
-
---- a/drivers/leds/leds-turris-omnia.c
-+++ b/drivers/leds/leds-turris-omnia.c
-@@ -156,12 +156,9 @@ static ssize_t brightness_show(struct de
-                              char *buf)
- {
-       struct i2c_client *client = to_i2c_client(dev);
--      struct omnia_leds *leds = i2c_get_clientdata(client);
-       int ret;
--      mutex_lock(&leds->lock);
-       ret = i2c_smbus_read_byte_data(client, CMD_LED_GET_BRIGHTNESS);
--      mutex_unlock(&leds->lock);
-       if (ret < 0)
-               return ret;
-@@ -173,7 +170,6 @@ static ssize_t brightness_store(struct d
-                               const char *buf, size_t count)
- {
-       struct i2c_client *client = to_i2c_client(dev);
--      struct omnia_leds *leds = i2c_get_clientdata(client);
-       unsigned long brightness;
-       int ret;
-@@ -183,15 +179,10 @@ static ssize_t brightness_store(struct d
-       if (brightness > 100)
-               return -EINVAL;
--      mutex_lock(&leds->lock);
-       ret = i2c_smbus_write_byte_data(client, CMD_LED_SET_BRIGHTNESS,
-                                       (u8)brightness);
--      mutex_unlock(&leds->lock);
--      if (ret < 0)
--              return ret;
--
--      return count;
-+      return ret < 0 ? ret : count;
- }
- static DEVICE_ATTR_RW(brightness);
diff --git a/target/linux/generic/backport-6.1/815-v6.7-1-leds-turris-omnia-Do-not-use-SMBUS-calls.patch b/target/linux/generic/backport-6.1/815-v6.7-1-leds-turris-omnia-Do-not-use-SMBUS-calls.patch
deleted file mode 100644 (file)
index 6b3fe0d..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-From 1848bb28f0579582f653ae95355b544fd8a51d1e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
-Date: Mon, 18 Sep 2023 18:11:01 +0200
-Subject: [PATCH 3/6] leds: turris-omnia: Do not use SMBUS calls
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The leds-turris-omnia driver uses three function for I2C access:
-- i2c_smbus_write_byte_data() and i2c_smbus_read_byte_data(), which
-  cause an emulated SMBUS transfer,
-- i2c_master_send(), which causes an ordinary I2C transfer.
-
-The Turris Omnia MCU LED controller is not semantically SMBUS, it
-operates as a simple I2C bus. It does not implement any of the SMBUS
-specific features, like PEC, or procedure calls, or anything. Moreover
-the I2C controller driver also does not implement SMBUS, and so the
-emulated SMBUS procedure from drivers/i2c/i2c-core-smbus.c is used for
-the SMBUS calls, which gives an unnecessary overhead.
-
-When I first wrote the driver, I was unaware of these facts, and I
-simply used the first function that worked.
-
-Drop the I2C SMBUS calls and instead use simple I2C transfers.
-
-Fixes: 089381b27abe ("leds: initial support for Turris Omnia LEDs")
-Signed-off-by: Marek Behún <kabel@kernel.org>
-Link: https://lore.kernel.org/r/20230918161104.20860-2-kabel@kernel.org
-Signed-off-by: Lee Jones <lee@kernel.org>
----
- drivers/leds/leds-turris-omnia.c | 54 +++++++++++++++++++++++++-------
- 1 file changed, 42 insertions(+), 12 deletions(-)
-
---- a/drivers/leds/leds-turris-omnia.c
-+++ b/drivers/leds/leds-turris-omnia.c
-@@ -2,7 +2,7 @@
- /*
-  * CZ.NIC's Turris Omnia LEDs driver
-  *
-- * 2020 by Marek Behún <kabel@kernel.org>
-+ * 2020, 2023 by Marek Behún <kabel@kernel.org>
-  */
- #include <linux/i2c.h>
-@@ -41,6 +41,37 @@ struct omnia_leds {
-       struct omnia_led leds[];
- };
-+static int omnia_cmd_write_u8(const struct i2c_client *client, u8 cmd, u8 val)
-+{
-+      u8 buf[2] = { cmd, val };
-+
-+      return i2c_master_send(client, buf, sizeof(buf));
-+}
-+
-+static int omnia_cmd_read_u8(const struct i2c_client *client, u8 cmd)
-+{
-+      struct i2c_msg msgs[2];
-+      u8 reply;
-+      int ret;
-+
-+      msgs[0].addr = client->addr;
-+      msgs[0].flags = 0;
-+      msgs[0].len = 1;
-+      msgs[0].buf = &cmd;
-+      msgs[1].addr = client->addr;
-+      msgs[1].flags = I2C_M_RD;
-+      msgs[1].len = 1;
-+      msgs[1].buf = &reply;
-+
-+      ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
-+      if (likely(ret == ARRAY_SIZE(msgs)))
-+              return reply;
-+      else if (ret < 0)
-+              return ret;
-+      else
-+              return -EIO;
-+}
-+
- static int omnia_led_brightness_set_blocking(struct led_classdev *cdev,
-                                            enum led_brightness brightness)
- {
-@@ -64,7 +95,7 @@ static int omnia_led_brightness_set_bloc
-       if (buf[2] || buf[3] || buf[4])
-               state |= CMD_LED_STATE_ON;
--      ret = i2c_smbus_write_byte_data(leds->client, CMD_LED_STATE, state);
-+      ret = omnia_cmd_write_u8(leds->client, CMD_LED_STATE, state);
-       if (ret >= 0 && (state & CMD_LED_STATE_ON))
-               ret = i2c_master_send(leds->client, buf, 5);
-@@ -114,9 +145,9 @@ static int omnia_led_register(struct i2c
-       cdev->brightness_set_blocking = omnia_led_brightness_set_blocking;
-       /* put the LED into software mode */
--      ret = i2c_smbus_write_byte_data(client, CMD_LED_MODE,
--                                      CMD_LED_MODE_LED(led->reg) |
--                                      CMD_LED_MODE_USER);
-+      ret = omnia_cmd_write_u8(client, CMD_LED_MODE,
-+                               CMD_LED_MODE_LED(led->reg) |
-+                               CMD_LED_MODE_USER);
-       if (ret < 0) {
-               dev_err(dev, "Cannot set LED %pOF to software mode: %i\n", np,
-                       ret);
-@@ -124,8 +155,8 @@ static int omnia_led_register(struct i2c
-       }
-       /* disable the LED */
--      ret = i2c_smbus_write_byte_data(client, CMD_LED_STATE,
--                                      CMD_LED_STATE_LED(led->reg));
-+      ret = omnia_cmd_write_u8(client, CMD_LED_STATE,
-+                               CMD_LED_STATE_LED(led->reg));
-       if (ret < 0) {
-               dev_err(dev, "Cannot set LED %pOF brightness: %i\n", np, ret);
-               return ret;
-@@ -158,7 +189,7 @@ static ssize_t brightness_show(struct de
-       struct i2c_client *client = to_i2c_client(dev);
-       int ret;
--      ret = i2c_smbus_read_byte_data(client, CMD_LED_GET_BRIGHTNESS);
-+      ret = omnia_cmd_read_u8(client, CMD_LED_GET_BRIGHTNESS);
-       if (ret < 0)
-               return ret;
-@@ -179,8 +210,7 @@ static ssize_t brightness_store(struct d
-       if (brightness > 100)
-               return -EINVAL;
--      ret = i2c_smbus_write_byte_data(client, CMD_LED_SET_BRIGHTNESS,
--                                      (u8)brightness);
-+      ret = omnia_cmd_write_u8(client, CMD_LED_SET_BRIGHTNESS, brightness);
-       return ret < 0 ? ret : count;
- }
-@@ -238,8 +268,8 @@ static void omnia_leds_remove(struct i2c
-       u8 buf[5];
-       /* put all LEDs into default (HW triggered) mode */
--      i2c_smbus_write_byte_data(client, CMD_LED_MODE,
--                                CMD_LED_MODE_LED(OMNIA_BOARD_LEDS));
-+      omnia_cmd_write_u8(client, CMD_LED_MODE,
-+                         CMD_LED_MODE_LED(OMNIA_BOARD_LEDS));
-       /* set all LEDs color to [255, 255, 255] */
-       buf[0] = CMD_LED_COLOR;
index 407bc72ac8dbd1ef725b84d58a8af31a9aa4788c..8d25f59ce2823a707dfa2b110f8973bee0b379b0 100644 (file)
@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <linux/mutex.h>
  #include <linux/err.h>
  #include <linux/property.h>
-@@ -3511,3 +3512,5 @@ static int __init regmap_initcall(void)
+@@ -3513,3 +3514,5 @@ static int __init regmap_initcall(void)
        return 0;
  }
  postcore_initcall(regmap_initcall);
index 8b6bd6a7862af4f830f30814f6d3d40ffa72b229..105eb3da4bb67b07e73a65e1aea7c3595a33a119 100644 (file)
@@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +MODULE_LICENSE("GPL");
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -4363,6 +4363,7 @@ int wake_up_state(struct task_struct *p,
+@@ -4367,6 +4367,7 @@ int wake_up_state(struct task_struct *p,
  {
        return try_to_wake_up(p, state, 0);
  }
index 6a651a04f7f3454003e6c5c57c796d8616540547..0d6adff4eafd5519f584989f5016b098af2ca39c 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -7882,7 +7882,7 @@ static int nft_register_flowtable_net_ho
+@@ -7878,7 +7878,7 @@ static int nft_register_flowtable_net_ho
                err = flowtable->data.type->setup(&flowtable->data,
                                                  hook->ops.dev,
                                                  FLOW_BLOCK_BIND);
index 8f296a6f7b701b2f7212472021bfb7071c7d6851..ecf1a05896fac892b24119dda355516cef96dc5a 100644 (file)
@@ -136,7 +136,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
  #include <net/dst.h>
  #include <net/sock.h>
  #include <net/checksum.h>
-@@ -4515,6 +4519,9 @@ static const u8 skb_ext_type_len[] = {
+@@ -4516,6 +4520,9 @@ static const u8 skb_ext_type_len[] = {
  #if IS_ENABLED(CONFIG_MCTP_FLOWS)
        [SKB_EXT_MCTP] = SKB_EXT_CHUNKSIZEOF(struct mctp_flow),
  #endif
@@ -146,7 +146,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
  };
  
  static __always_inline unsigned int skb_ext_total_length(void)
-@@ -4535,6 +4542,9 @@ static __always_inline unsigned int skb_
+@@ -4536,6 +4543,9 @@ static __always_inline unsigned int skb_
  #if IS_ENABLED(CONFIG_MCTP_FLOWS)
                skb_ext_type_len[SKB_EXT_MCTP] +
  #endif
diff --git a/target/linux/ixp4xx/patches-6.1/0007-watchdog-ixp4xx-Make-sure-restart-always-works.patch b/target/linux/ixp4xx/patches-6.1/0007-watchdog-ixp4xx-Make-sure-restart-always-works.patch
deleted file mode 100644 (file)
index 8eae06d..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From b09e5ea32e099821b1cddc1e26e625ad994ba11e Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Sun, 24 Sep 2023 21:20:24 +0200
-Subject: [PATCH] watchdog: ixp4xx: Make sure restart always works
-
-The IXP4xx watchdog in early "A0" silicon is unreliable and
-cannot be registered, however for some systems such as the
-USRobotics USR8200 the watchdog is the only restart option,
-so implement a "dummy" watchdog that can only support restart
-in this case.
-
-Fixes: 1aea522809e6 ("watchdog: ixp4xx: Implement restart")
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
-Other solutions like implementing a pure restart notifier
-callback catch in the driver is possible, but this method
-will minimize the amount of code and reuse infrastructure
-in the core.
----
- drivers/watchdog/ixp4xx_wdt.c | 28 +++++++++++++++++++++++++---
- 1 file changed, 25 insertions(+), 3 deletions(-)
-
---- a/drivers/watchdog/ixp4xx_wdt.c
-+++ b/drivers/watchdog/ixp4xx_wdt.c
-@@ -105,6 +105,25 @@ static const struct watchdog_ops ixp4xx_
-       .owner = THIS_MODULE,
- };
-+/*
-+ * The A0 version of the IXP422 had a bug in the watchdog making
-+ * is useless, but we still need to use it to restart the system
-+ * as it is the only way, so in this special case we register a
-+ * "dummy" watchdog that doesn't really work, but will support
-+ * the restart operation.
-+ */
-+static int ixp4xx_wdt_dummy(struct watchdog_device *wdd)
-+{
-+      return 0;
-+}
-+
-+static const struct watchdog_ops ixp4xx_wdt_restart_only_ops = {
-+      .start = ixp4xx_wdt_dummy,
-+      .stop = ixp4xx_wdt_dummy,
-+      .restart = ixp4xx_wdt_restart,
-+      .owner = THIS_MODULE,
-+};
-+
- static const struct watchdog_info ixp4xx_wdt_info = {
-       .options = WDIOF_KEEPALIVEPING
-               | WDIOF_MAGICCLOSE
-@@ -120,14 +139,17 @@ static void ixp4xx_clock_action(void *d)
- static int ixp4xx_wdt_probe(struct platform_device *pdev)
- {
-+      static const struct watchdog_ops *iwdt_ops;
-       struct device *dev = &pdev->dev;
-       struct ixp4xx_wdt *iwdt;
-       struct clk *clk;
-       int ret;
-       if (!(read_cpuid_id() & 0xf) && !cpu_is_ixp46x()) {
--              dev_err(dev, "Rev. A0 IXP42x CPU detected - watchdog disabled\n");
--              return -ENODEV;
-+              dev_err(dev, "Rev. A0 IXP42x CPU detected - only restart supported\n");
-+              iwdt_ops = &ixp4xx_wdt_restart_only_ops;
-+      } else {
-+              iwdt_ops = &ixp4xx_wdt_ops;
-       }
-       iwdt = devm_kzalloc(dev, sizeof(*iwdt), GFP_KERNEL);
-@@ -153,7 +175,7 @@ static int ixp4xx_wdt_probe(struct platf
-               iwdt->rate = IXP4XX_TIMER_FREQ;
-       iwdt->wdd.info = &ixp4xx_wdt_info;
--      iwdt->wdd.ops = &ixp4xx_wdt_ops;
-+      iwdt->wdd.ops = iwdt_ops;
-       iwdt->wdd.min_timeout = 1;
-       iwdt->wdd.max_timeout = U32_MAX / iwdt->rate;
-       iwdt->wdd.parent = dev;
index e3292a067ce582c469293528bcfa6397cfffc509..af5715e1f5deb1908dc8856eee17500c4fe7bb3c 100644 (file)
@@ -209,7 +209,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
        if (r)
 --- a/drivers/clk/mediatek/clk-mt2701.c
 +++ b/drivers/clk/mediatek/clk-mt2701.c
-@@ -683,8 +683,8 @@ static int mtk_topckgen_init(struct plat
+@@ -685,8 +685,8 @@ static int mtk_topckgen_init(struct plat
        mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
                                base, &mt2701_clk_lock, clk_data);
  
@@ -220,7 +220,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
  
        return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  }
-@@ -783,8 +783,8 @@ static int mtk_infrasys_init(struct plat
+@@ -789,8 +789,8 @@ static int mtk_infrasys_init(struct plat
                }
        }
  
@@ -231,9 +231,9 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
        mtk_clk_register_factors(infra_fixed_divs, ARRAY_SIZE(infra_fixed_divs),
                                                infra_clk_data);
  
-@@ -894,8 +894,8 @@ static int mtk_pericfg_init(struct platf
-       clk_data = mtk_alloc_clk_data(CLK_PERI_NR);
+@@ -902,8 +902,8 @@ static int mtk_pericfg_init(struct platf
+       if (!clk_data)
+               return -ENOMEM;
  
 -      mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks),
 -                                              clk_data);
@@ -397,9 +397,9 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
                                    &mt7622_clk_lock, clk_data);
 --- a/drivers/clk/mediatek/clk-mt7629-eth.c
 +++ b/drivers/clk/mediatek/clk-mt7629-eth.c
-@@ -80,7 +80,8 @@ static int clk_mt7629_ethsys_init(struct
-       clk_data = mtk_alloc_clk_data(CLK_ETH_NR_CLK);
+@@ -82,7 +82,8 @@ static int clk_mt7629_ethsys_init(struct
+       if (!clk_data)
+               return -ENOMEM;
  
 -      mtk_clk_register_gates(node, eth_clks, CLK_ETH_NR_CLK, clk_data);
 +      mtk_clk_register_gates(&pdev->dev, node, eth_clks,
@@ -407,9 +407,9 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
  
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
        if (r)
-@@ -102,8 +103,8 @@ static int clk_mt7629_sgmiisys_init(stru
-       clk_data = mtk_alloc_clk_data(CLK_SGMII_NR_CLK);
+@@ -106,8 +107,8 @@ static int clk_mt7629_sgmiisys_init(stru
+       if (!clk_data)
+               return -ENOMEM;
  
 -      mtk_clk_register_gates(node, sgmii_clks[id++], CLK_SGMII_NR_CLK,
 -                             clk_data);
@@ -444,9 +444,9 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
        if (r)
 --- a/drivers/clk/mediatek/clk-mt7629.c
 +++ b/drivers/clk/mediatek/clk-mt7629.c
-@@ -581,8 +581,8 @@ static int mtk_infrasys_init(struct plat
-       clk_data = mtk_alloc_clk_data(CLK_INFRA_NR_CLK);
+@@ -585,8 +585,8 @@ static int mtk_infrasys_init(struct plat
+       if (!clk_data)
+               return -ENOMEM;
  
 -      mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks),
 -                             clk_data);
@@ -455,9 +455,9 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
  
        mtk_clk_register_cpumuxes(node, infra_muxes, ARRAY_SIZE(infra_muxes),
                                  clk_data);
-@@ -604,8 +604,8 @@ static int mtk_pericfg_init(struct platf
-       clk_data = mtk_alloc_clk_data(CLK_PERI_NR_CLK);
+@@ -610,8 +610,8 @@ static int mtk_pericfg_init(struct platf
+       if (!clk_data)
+               return -ENOMEM;
  
 -      mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks),
 -                             clk_data);
@@ -466,7 +466,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
  
        mtk_clk_register_composites(peri_muxes, ARRAY_SIZE(peri_muxes), base,
                                    &mt7629_clk_lock, clk_data);
-@@ -631,7 +631,7 @@ static int mtk_apmixedsys_init(struct pl
+@@ -637,7 +637,7 @@ static int mtk_apmixedsys_init(struct pl
        mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls),
                              clk_data);
  
index 2333e722e19efdc2142c64ceac1a04a04696179d..223155c59b8940b68a7dc721b10c7212ccdb8b3b 100644 (file)
@@ -78,7 +78,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
  
 --- a/drivers/clk/mediatek/clk-mt2701.c
 +++ b/drivers/clk/mediatek/clk-mt2701.c
-@@ -757,7 +757,7 @@ static void __init mtk_infrasys_init_ear
+@@ -761,7 +761,7 @@ static void __init mtk_infrasys_init_ear
        mtk_clk_register_factors(infra_fixed_divs, ARRAY_SIZE(infra_fixed_divs),
                                                infra_clk_data);
  
@@ -114,7 +114,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
                                   clk_data);
 --- a/drivers/clk/mediatek/clk-mt7629.c
 +++ b/drivers/clk/mediatek/clk-mt7629.c
-@@ -584,8 +584,8 @@ static int mtk_infrasys_init(struct plat
+@@ -588,8 +588,8 @@ static int mtk_infrasys_init(struct plat
        mtk_clk_register_gates(&pdev->dev, node, infra_clks,
                               ARRAY_SIZE(infra_clks), clk_data);
  
index 01eed6cc01be4495033bb8c3f25c4a5c2c3f1bff..eca1b614cdfc3597dce779cd58b5489555327387 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
 
 --- a/drivers/clk/mediatek/clk-mt2701.c
 +++ b/drivers/clk/mediatek/clk-mt2701.c
-@@ -677,8 +677,9 @@ static int mtk_topckgen_init(struct plat
+@@ -679,8 +679,9 @@ static int mtk_topckgen_init(struct plat
        mtk_clk_register_factors(top_fixed_divs, ARRAY_SIZE(top_fixed_divs),
                                                                clk_data);
  
@@ -38,7 +38,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
  
        mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
                                base, &mt2701_clk_lock, clk_data);
-@@ -897,8 +898,9 @@ static int mtk_pericfg_init(struct platf
+@@ -905,8 +906,9 @@ static int mtk_pericfg_init(struct platf
        mtk_clk_register_gates(&pdev->dev, node, peri_clks,
                               ARRAY_SIZE(peri_clks), clk_data);
  
@@ -104,7 +104,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
        r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
 --- a/drivers/clk/mediatek/clk-mt7629.c
 +++ b/drivers/clk/mediatek/clk-mt7629.c
-@@ -564,8 +564,9 @@ static int mtk_topckgen_init(struct plat
+@@ -566,8 +566,9 @@ static int mtk_topckgen_init(struct plat
        mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs),
                                 clk_data);
  
@@ -116,7 +116,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
  
        clk_prepare_enable(clk_data->hws[CLK_TOP_AXI_SEL]->clk);
        clk_prepare_enable(clk_data->hws[CLK_TOP_MEM_SEL]->clk);
-@@ -607,7 +608,8 @@ static int mtk_pericfg_init(struct platf
+@@ -613,7 +614,8 @@ static int mtk_pericfg_init(struct platf
        mtk_clk_register_gates(&pdev->dev, node, peri_clks,
                               ARRAY_SIZE(peri_clks), clk_data);
  
index 5713775948dca20b10c6e5a45e0f7b12fbb1218f..9aa0a7952c9f3c523327536846d0c91a6895abac 100644 (file)
@@ -64,7 +64,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  /**
 --- a/drivers/clk/qcom/clk-rcg2.c
 +++ b/drivers/clk/qcom/clk-rcg2.c
-@@ -209,11 +209,60 @@ clk_rcg2_recalc_rate(struct clk_hw *hw,
+@@ -203,11 +203,60 @@ clk_rcg2_recalc_rate(struct clk_hw *hw,
        return __clk_rcg2_recalc_rate(hw, parent_rate, cfg);
  }
  
@@ -125,7 +125,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
        struct clk_hw *p;
        struct clk_rcg2 *rcg = to_clk_rcg2(hw);
        int index;
-@@ -232,7 +281,15 @@ static int _freq_tbl_determine_rate(stru
+@@ -226,7 +275,15 @@ static int _freq_tbl_determine_rate(stru
        if (!f)
                return -EINVAL;
  
@@ -142,7 +142,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
        if (index < 0)
                return index;
  
-@@ -242,18 +299,18 @@ static int _freq_tbl_determine_rate(stru
+@@ -236,18 +293,18 @@ static int _freq_tbl_determine_rate(stru
                return -EINVAL;
  
        if (clk_flags & CLK_SET_RATE_PARENT) {
@@ -167,7 +167,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
                        rate = tmp;
                }
        } else {
-@@ -261,7 +318,7 @@ static int _freq_tbl_determine_rate(stru
+@@ -255,7 +312,7 @@ static int _freq_tbl_determine_rate(stru
        }
        req->best_parent_hw = p;
        req->best_parent_rate = rate;
@@ -176,7 +176,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  
        return 0;
  }
-@@ -357,6 +414,7 @@ static int __clk_rcg2_set_rate(struct cl
+@@ -351,6 +408,7 @@ static int __clk_rcg2_set_rate(struct cl
  {
        struct clk_rcg2 *rcg = to_clk_rcg2(hw);
        const struct freq_tbl *f;
@@ -184,7 +184,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  
        switch (policy) {
        case FLOOR:
-@@ -372,7 +430,15 @@ static int __clk_rcg2_set_rate(struct cl
+@@ -366,7 +424,15 @@ static int __clk_rcg2_set_rate(struct cl
        if (!f)
                return -EINVAL;