]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop regmap-i2c-add-16-bit-width-registers-support.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Aug 2023 20:02:33 +0000 (22:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Aug 2023 20:02:33 +0000 (22:02 +0200)
queue-4.19/regmap-account-for-register-length-in-smbus-i-o-limi.patch
queue-4.19/regmap-i2c-add-16-bit-width-registers-support.patch [deleted file]
queue-4.19/series
queue-5.4/regmap-account-for-register-length-in-smbus-i-o-limi.patch
queue-5.4/regmap-i2c-add-16-bit-width-registers-support.patch [deleted file]
queue-5.4/series

index a382b778ef31de72f6645592935607687b9084e6..b2ae4ada48941534e85962f78aefad597d3cd610 100644 (file)
@@ -25,14 +25,12 @@ Link: https://lore.kernel.org/r/20230712-regmap-max-transfer-v1-2-80e2aed22e83@k
 Signed-off-by: Mark Brown <broonie@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/base/regmap/regmap-i2c.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+ drivers/base/regmap/regmap-i2c.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c
-index 052170ca0255e..b707913233c9b 100644
 --- a/drivers/base/regmap/regmap-i2c.c
 +++ b/drivers/base/regmap/regmap-i2c.c
-@@ -246,8 +246,8 @@ static int regmap_i2c_smbus_i2c_read(void *context, const void *reg,
+@@ -246,8 +246,8 @@ static int regmap_i2c_smbus_i2c_read(voi
  static struct regmap_bus regmap_i2c_smbus_i2c_block = {
        .write = regmap_i2c_smbus_i2c_write,
        .read = regmap_i2c_smbus_i2c_read,
@@ -42,18 +40,4 @@ index 052170ca0255e..b707913233c9b 100644
 +      .max_raw_write = I2C_SMBUS_BLOCK_MAX - 1,
  };
  
- static int regmap_i2c_smbus_i2c_write_reg16(void *context, const void *data,
-@@ -303,8 +303,8 @@ static int regmap_i2c_smbus_i2c_read_reg16(void *context, const void *reg,
- static const struct regmap_bus regmap_i2c_smbus_i2c_block_reg16 = {
-       .write = regmap_i2c_smbus_i2c_write_reg16,
-       .read = regmap_i2c_smbus_i2c_read_reg16,
--      .max_raw_read = I2C_SMBUS_BLOCK_MAX,
--      .max_raw_write = I2C_SMBUS_BLOCK_MAX,
-+      .max_raw_read = I2C_SMBUS_BLOCK_MAX - 2,
-+      .max_raw_write = I2C_SMBUS_BLOCK_MAX - 2,
- };
  static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
--- 
-2.40.1
-
diff --git a/queue-4.19/regmap-i2c-add-16-bit-width-registers-support.patch b/queue-4.19/regmap-i2c-add-16-bit-width-registers-support.patch
deleted file mode 100644 (file)
index 4edf4ac..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-From ee5d7277ae0fd7cda3208f95b7cfa51484e5a930 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 24 Apr 2020 20:33:58 +0800
-Subject: regmap-i2c: add 16-bit width registers support
-
-From: AceLan Kao <acelan.kao@canonical.com>
-
-[ Upstream commit 82f25bd73c0bee4d29df47007a4f7290695b7db7 ]
-
-This allows to access data with 16-bit width of registers
-via i2c SMBus block functions.
-
-The multi-command sequence of the reading function is not safe
-and may read the wrong data from other address if other commands
-are sent in-between the SMBus commands in the read function.
-
-Read performance:
-   32768 bytes (33 kB, 32 KiB) copied, 11.4869 s, 2.9 kB/s
-Write performance(with 1-byte page):
-   32768 bytes (33 kB, 32 KiB) copied, 129.591 s, 0.3 kB/s
-
-The implementation is inspired by below commit
-https://patchwork.ozlabs.org/patch/545292/
-
-v2: add more descriptions about the issue that maybe introduced
-    by this commit
-
-Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
-Link: https://lore.kernel.org/r/20200424123358.144850-1-acelan.kao@canonical.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Stable-dep-of: 0c9d2eb5e947 ("regmap: Account for register length in SMBus I/O limits")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/base/regmap/regmap-i2c.c | 61 ++++++++++++++++++++++++++++++++
- 1 file changed, 61 insertions(+)
-
-diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c
-index 056acde5e7d34..052170ca0255e 100644
---- a/drivers/base/regmap/regmap-i2c.c
-+++ b/drivers/base/regmap/regmap-i2c.c
-@@ -250,6 +250,63 @@ static struct regmap_bus regmap_i2c_smbus_i2c_block = {
-       .max_raw_write = I2C_SMBUS_BLOCK_MAX,
- };
-+static int regmap_i2c_smbus_i2c_write_reg16(void *context, const void *data,
-+                                    size_t count)
-+{
-+      struct device *dev = context;
-+      struct i2c_client *i2c = to_i2c_client(dev);
-+
-+      if (count < 2)
-+              return -EINVAL;
-+
-+      count--;
-+      return i2c_smbus_write_i2c_block_data(i2c, ((u8 *)data)[0], count,
-+                                            (u8 *)data + 1);
-+}
-+
-+static int regmap_i2c_smbus_i2c_read_reg16(void *context, const void *reg,
-+                                   size_t reg_size, void *val,
-+                                   size_t val_size)
-+{
-+      struct device *dev = context;
-+      struct i2c_client *i2c = to_i2c_client(dev);
-+      int ret, count, len = val_size;
-+
-+      if (reg_size != 2)
-+              return -EINVAL;
-+
-+      ret = i2c_smbus_write_byte_data(i2c, ((u16 *)reg)[0] & 0xff,
-+                                      ((u16 *)reg)[0] >> 8);
-+      if (ret < 0)
-+              return ret;
-+
-+      count = 0;
-+      do {
-+              /* Current Address Read */
-+              ret = i2c_smbus_read_byte(i2c);
-+              if (ret < 0)
-+                      break;
-+
-+              *((u8 *)val++) = ret;
-+              count++;
-+              len--;
-+      } while (len > 0);
-+
-+      if (count == val_size)
-+              return 0;
-+      else if (ret < 0)
-+              return ret;
-+      else
-+              return -EIO;
-+}
-+
-+static const struct regmap_bus regmap_i2c_smbus_i2c_block_reg16 = {
-+      .write = regmap_i2c_smbus_i2c_write_reg16,
-+      .read = regmap_i2c_smbus_i2c_read_reg16,
-+      .max_raw_read = I2C_SMBUS_BLOCK_MAX,
-+      .max_raw_write = I2C_SMBUS_BLOCK_MAX,
-+};
-+
- static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
-                                       const struct regmap_config *config)
- {
-@@ -259,6 +316,10 @@ static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
-                i2c_check_functionality(i2c->adapter,
-                                        I2C_FUNC_SMBUS_I2C_BLOCK))
-               return &regmap_i2c_smbus_i2c_block;
-+      else if (config->val_bits == 8 && config->reg_bits == 16 &&
-+              i2c_check_functionality(i2c->adapter,
-+                                      I2C_FUNC_SMBUS_I2C_BLOCK))
-+              return &regmap_i2c_smbus_i2c_block_reg16;
-       else if (config->val_bits == 16 && config->reg_bits == 8 &&
-                i2c_check_functionality(i2c->adapter,
-                                        I2C_FUNC_SMBUS_WORD_DATA))
--- 
-2.40.1
-
index bf315a9ee0a6bbc34c9d41415904858b25216687..f15c465e45fbf9b1d2c9ab0adca1429d05282345 100644 (file)
@@ -105,7 +105,6 @@ dm-integrity-increase-recalc_sectors-to-improve-reca.patch
 dm-integrity-reduce-vmalloc-space-footprint-on-32-bi.patch
 exfat-add-bitmap-operations.patch
 exfat-use-kvmalloc_array-kvfree-instead-of-kmalloc_a.patch
-regmap-i2c-add-16-bit-width-registers-support.patch
 regmap-account-for-register-length-in-smbus-i-o-limi.patch
 drm-amd-display-do-not-wait-for-mpc-idle-if-tg-is-di.patch
 drm-amd-display-check-tg-is-non-null-before-checking.patch
index a9b8c3489bc42d57d43441b7d7d1627e6227d9a0..11e3d7841c4f6b949672bef224379d49308bf184 100644 (file)
@@ -25,14 +25,12 @@ Link: https://lore.kernel.org/r/20230712-regmap-max-transfer-v1-2-80e2aed22e83@k
 Signed-off-by: Mark Brown <broonie@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/base/regmap/regmap-i2c.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+ drivers/base/regmap/regmap-i2c.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c
-index 7f924797be58e..90990c22be41d 100644
 --- a/drivers/base/regmap/regmap-i2c.c
 +++ b/drivers/base/regmap/regmap-i2c.c
-@@ -242,8 +242,8 @@ static int regmap_i2c_smbus_i2c_read(void *context, const void *reg,
+@@ -242,8 +242,8 @@ static int regmap_i2c_smbus_i2c_read(voi
  static struct regmap_bus regmap_i2c_smbus_i2c_block = {
        .write = regmap_i2c_smbus_i2c_write,
        .read = regmap_i2c_smbus_i2c_read,
@@ -42,18 +40,4 @@ index 7f924797be58e..90990c22be41d 100644
 +      .max_raw_write = I2C_SMBUS_BLOCK_MAX - 1,
  };
  
- static int regmap_i2c_smbus_i2c_write_reg16(void *context, const void *data,
-@@ -299,8 +299,8 @@ static int regmap_i2c_smbus_i2c_read_reg16(void *context, const void *reg,
- static const struct regmap_bus regmap_i2c_smbus_i2c_block_reg16 = {
-       .write = regmap_i2c_smbus_i2c_write_reg16,
-       .read = regmap_i2c_smbus_i2c_read_reg16,
--      .max_raw_read = I2C_SMBUS_BLOCK_MAX,
--      .max_raw_write = I2C_SMBUS_BLOCK_MAX,
-+      .max_raw_read = I2C_SMBUS_BLOCK_MAX - 2,
-+      .max_raw_write = I2C_SMBUS_BLOCK_MAX - 2,
- };
  static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
--- 
-2.40.1
-
diff --git a/queue-5.4/regmap-i2c-add-16-bit-width-registers-support.patch b/queue-5.4/regmap-i2c-add-16-bit-width-registers-support.patch
deleted file mode 100644 (file)
index 3f23716..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-From d7cfb93169b14870e3aade2ed9fe4242e4cc2640 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 24 Apr 2020 20:33:58 +0800
-Subject: regmap-i2c: add 16-bit width registers support
-
-From: AceLan Kao <acelan.kao@canonical.com>
-
-[ Upstream commit 82f25bd73c0bee4d29df47007a4f7290695b7db7 ]
-
-This allows to access data with 16-bit width of registers
-via i2c SMBus block functions.
-
-The multi-command sequence of the reading function is not safe
-and may read the wrong data from other address if other commands
-are sent in-between the SMBus commands in the read function.
-
-Read performance:
-   32768 bytes (33 kB, 32 KiB) copied, 11.4869 s, 2.9 kB/s
-Write performance(with 1-byte page):
-   32768 bytes (33 kB, 32 KiB) copied, 129.591 s, 0.3 kB/s
-
-The implementation is inspired by below commit
-https://patchwork.ozlabs.org/patch/545292/
-
-v2: add more descriptions about the issue that maybe introduced
-    by this commit
-
-Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
-Link: https://lore.kernel.org/r/20200424123358.144850-1-acelan.kao@canonical.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Stable-dep-of: 0c9d2eb5e947 ("regmap: Account for register length in SMBus I/O limits")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/base/regmap/regmap-i2c.c | 61 ++++++++++++++++++++++++++++++++
- 1 file changed, 61 insertions(+)
-
-diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c
-index ac9b31c57967d..7f924797be58e 100644
---- a/drivers/base/regmap/regmap-i2c.c
-+++ b/drivers/base/regmap/regmap-i2c.c
-@@ -246,6 +246,63 @@ static struct regmap_bus regmap_i2c_smbus_i2c_block = {
-       .max_raw_write = I2C_SMBUS_BLOCK_MAX,
- };
-+static int regmap_i2c_smbus_i2c_write_reg16(void *context, const void *data,
-+                                    size_t count)
-+{
-+      struct device *dev = context;
-+      struct i2c_client *i2c = to_i2c_client(dev);
-+
-+      if (count < 2)
-+              return -EINVAL;
-+
-+      count--;
-+      return i2c_smbus_write_i2c_block_data(i2c, ((u8 *)data)[0], count,
-+                                            (u8 *)data + 1);
-+}
-+
-+static int regmap_i2c_smbus_i2c_read_reg16(void *context, const void *reg,
-+                                   size_t reg_size, void *val,
-+                                   size_t val_size)
-+{
-+      struct device *dev = context;
-+      struct i2c_client *i2c = to_i2c_client(dev);
-+      int ret, count, len = val_size;
-+
-+      if (reg_size != 2)
-+              return -EINVAL;
-+
-+      ret = i2c_smbus_write_byte_data(i2c, ((u16 *)reg)[0] & 0xff,
-+                                      ((u16 *)reg)[0] >> 8);
-+      if (ret < 0)
-+              return ret;
-+
-+      count = 0;
-+      do {
-+              /* Current Address Read */
-+              ret = i2c_smbus_read_byte(i2c);
-+              if (ret < 0)
-+                      break;
-+
-+              *((u8 *)val++) = ret;
-+              count++;
-+              len--;
-+      } while (len > 0);
-+
-+      if (count == val_size)
-+              return 0;
-+      else if (ret < 0)
-+              return ret;
-+      else
-+              return -EIO;
-+}
-+
-+static const struct regmap_bus regmap_i2c_smbus_i2c_block_reg16 = {
-+      .write = regmap_i2c_smbus_i2c_write_reg16,
-+      .read = regmap_i2c_smbus_i2c_read_reg16,
-+      .max_raw_read = I2C_SMBUS_BLOCK_MAX,
-+      .max_raw_write = I2C_SMBUS_BLOCK_MAX,
-+};
-+
- static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
-                                       const struct regmap_config *config)
- {
-@@ -255,6 +312,10 @@ static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
-                i2c_check_functionality(i2c->adapter,
-                                        I2C_FUNC_SMBUS_I2C_BLOCK))
-               return &regmap_i2c_smbus_i2c_block;
-+      else if (config->val_bits == 8 && config->reg_bits == 16 &&
-+              i2c_check_functionality(i2c->adapter,
-+                                      I2C_FUNC_SMBUS_I2C_BLOCK))
-+              return &regmap_i2c_smbus_i2c_block_reg16;
-       else if (config->val_bits == 16 && config->reg_bits == 8 &&
-                i2c_check_functionality(i2c->adapter,
-                                        I2C_FUNC_SMBUS_WORD_DATA))
--- 
-2.40.1
-
index ca6516c2da928b97a190f2aa9fb4fb1ab329ef83..292e25df19d214a9b51a1b968144a4724672ac9c 100644 (file)
@@ -111,7 +111,6 @@ dm-integrity-reduce-vmalloc-space-footprint-on-32-bi.patch
 alsa-pcm-set-per-card-upper-limit-of-pcm-buffer-allo.patch
 alsa-pcm-use-sg-buffer-only-when-direct-dma-is-avail.patch
 alsa-pcm-fix-potential-data-race-at-pcm-memory-alloc.patch
-regmap-i2c-add-16-bit-width-registers-support.patch
 regmap-account-for-register-length-in-smbus-i-o-limi.patch
 asoc-fsl_sai-refine-enable-disable-te-re-sequence-in.patch
 asoc-fsl_sai-add-new-added-registers-and-new-bit-def.patch