From 807366af3860a96078e71ad312f123caddf11d76 Mon Sep 17 00:00:00 2001
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Mon, 25 May 2020 18:24:54 +0200
Subject: [PATCH] kernel: drop backported gpio emulated open drain output fix

This patch has been backported to stable kernel 5.4 already.

Remove our local patch explicitly now, as by applying the patch
(or refreshing) the relevant code is actually added a second time.

Refresh remaining patches as well.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 ...b-fix-up-emulated-open-drain-outputs.patch | 45 -------------------
 ...pxa-use-official-address-byte-helper.patch | 11 ++---
 ...5.8-i2c-pxa-remove-unneeded-includes.patch |  5 ---
 ...ge-includes-to-be-in-alphabetical-or.patch |  5 ---
 ...-re-arrange-functions-to-flow-better.patch | 15 +++----
 ...e-arrange-register-field-definitions.patch |  9 +---
 ...nd-use-definitions-for-IBMR-register.patch | 13 ++----
 ...-set-fm-and-hs-members-for-each-type.patch | 15 +++----
 ...ove-private-definitions-to-i2c-pxa.c.patch |  7 ---
 ...-move-DT-IDs-along-side-platform-IDs.patch |  9 +---
 ..._pxa_scream_blue_murder-debug-output.patch |  7 +--
 ...13-v5.8-i2c-pxa-clean-up-decode_bits.patch |  5 ---
 ...pxa_wait_bus_not_busy-boundary-condi.patch |  7 +--
 ...lidate-i2c_pxa_-xfer-implementations.patch | 13 ++----
 ...omplaints-with-non-responsive-slaves.patch | 11 ++---
 ...a-ensure-timeout-messages-are-unique.patch | 11 ++---
 ...2c-pxa-remove-some-unnecessary-debug.patch |  7 +--
 ...l-master-action-bits-in-i2c_pxa_stop.patch |  7 +--
 ...a-use-master-abort-for-device-probes.patch |  7 +--
 ...a-implement-generic-i2c-bus-recovery.patch | 31 ++++++-------
 20 files changed, 49 insertions(+), 191 deletions(-)
 delete mode 100644 target/linux/generic/backport-5.4/802-v5.5-gpiolib-fix-up-emulated-open-drain-outputs.patch

diff --git a/target/linux/generic/backport-5.4/802-v5.5-gpiolib-fix-up-emulated-open-drain-outputs.patch b/target/linux/generic/backport-5.4/802-v5.5-gpiolib-fix-up-emulated-open-drain-outputs.patch
deleted file mode 100644
index 311d4ed4486..00000000000
--- a/target/linux/generic/backport-5.4/802-v5.5-gpiolib-fix-up-emulated-open-drain-outputs.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Russell King <rmk+kernel@armlinux.org.uk>
-Bcc: linux@mail.armlinux.org.uk
-Cc: Linus Walleij <linus.walleij@linaro.org>,Bartosz Golaszewski <bgolaszewski@baylibre.com>,linux-gpio@vger.kernel.org
-Subject: [PATCH] gpiolib: fix up emulated open drain outputs
-MIME-Version: 1.0
-Content-Disposition: inline
-Content-Transfer-Encoding: 8bit
-Content-Type: text/plain; charset="utf-8"
-
-gpiolib has a corner case with open drain outputs that are emulated.
-When such outputs are outputting a logic 1, emulation will set the
-hardware to input mode, which will cause gpiod_get_direction() to
-report that it is in input mode. This is different from the behaviour
-with a true open-drain output.
-
-Unify the semantics here.
-
-Suggested-by: Linus Walleij <linus.walleij@linaro.org>
-Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
----
- drivers/gpio/gpiolib.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index 104ed299d5ea..99d19f80440e 100644
---- a/drivers/gpio/gpiolib.c
-+++ b/drivers/gpio/gpiolib.c
-@@ -220,6 +220,14 @@ int gpiod_get_direction(struct gpio_desc *desc)
- 	chip = gpiod_to_chip(desc);
- 	offset = gpio_chip_hwgpio(desc);
- 
-+	/*
-+	 * Open drain emulation using input mode may incorrectly report
-+	 * input here, fix that up.
-+	 */
-+	if (test_bit(FLAG_OPEN_DRAIN, &desc->flags) &&
-+	    test_bit(FLAG_IS_OUT, &desc->flags))
-+		return 0;
-+
- 	if (!chip->get_direction)
- 		return -ENOTSUPP;
- 
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch b/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch
index 8aaa6c9b3c1..c20a00c7f44 100644
--- a/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch
+++ b/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch
@@ -16,11 +16,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 21 +++++++--------------
  1 file changed, 7 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 2c3c3d6935c0..966000923e8e 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -675,16 +675,6 @@ static void i2c_pxa_slave_stop(struct pxa_i2c *i2c)
+@@ -675,16 +675,6 @@ static void i2c_pxa_slave_stop(struct px
   * PXA I2C Master mode
   */
  
@@ -37,7 +35,7 @@ index 2c3c3d6935c0..966000923e8e 100644
  static inline void i2c_pxa_start_message(struct pxa_i2c *i2c)
  {
  	u32 icr;
-@@ -693,8 +683,8 @@ static inline void i2c_pxa_start_message(struct pxa_i2c *i2c)
+@@ -692,8 +682,8 @@ static inline void i2c_pxa_start_message
  	/*
  	 * Step 1: target slave address into IDBR
  	 */
@@ -48,7 +46,7 @@ index 2c3c3d6935c0..966000923e8e 100644
  
  	/*
  	 * Step 2: initiate the write.
-@@ -1006,8 +999,8 @@ static void i2c_pxa_irq_txempty(struct pxa_i2c *i2c, u32 isr)
+@@ -1006,8 +996,8 @@ static void i2c_pxa_irq_txempty(struct p
  		/*
  		 * Write the next address.
  		 */
@@ -59,6 +57,3 @@ index 2c3c3d6935c0..966000923e8e 100644
  
  		/*
  		 * And trigger a repeated start, and send the byte.
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/804-v5.8-i2c-pxa-remove-unneeded-includes.patch b/target/linux/generic/backport-5.4/804-v5.8-i2c-pxa-remove-unneeded-includes.patch
index ed4a3d59287..6a911325dd1 100644
--- a/target/linux/generic/backport-5.4/804-v5.8-i2c-pxa-remove-unneeded-includes.patch
+++ b/target/linux/generic/backport-5.4/804-v5.8-i2c-pxa-remove-unneeded-includes.patch
@@ -15,8 +15,6 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 4 ----
  1 file changed, 4 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 966000923e8e..eddb749c9eae 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -20,8 +20,6 @@
@@ -37,6 +35,3 @@ index 966000923e8e..eddb749c9eae 100644
  struct pxa_reg_layout {
  	u32 ibmr;
  	u32 idbr;
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/805-v5.8-i2c-pxa-re-arrange-includes-to-be-in-alphabetical-or.patch b/target/linux/generic/backport-5.4/805-v5.8-i2c-pxa-re-arrange-includes-to-be-in-alphabetical-or.patch
index ccca8d1dc7b..4d6dc7f0719 100644
--- a/target/linux/generic/backport-5.4/805-v5.8-i2c-pxa-re-arrange-includes-to-be-in-alphabetical-or.patch
+++ b/target/linux/generic/backport-5.4/805-v5.8-i2c-pxa-re-arrange-includes-to-be-in-alphabetical-or.patch
@@ -16,8 +16,6 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 18 +++++++++---------
  1 file changed, 9 insertions(+), 9 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index eddb749c9eae..ee83d2e46de0 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -16,22 +16,22 @@
@@ -52,6 +50,3 @@ index eddb749c9eae..ee83d2e46de0 100644
  
  struct pxa_reg_layout {
  	u32 ibmr;
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch b/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch
index efe7071de4f..ff631cf3525 100644
--- a/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch
+++ b/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch
@@ -16,11 +16,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 325 +++++++++++++++++------------------
  1 file changed, 162 insertions(+), 163 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index ee83d2e46de0..e5f00ae39861 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -327,7 +327,6 @@ static void i2c_pxa_scream_blue_murder(struct pxa_i2c *i2c, const char *why)
+@@ -327,7 +327,6 @@ static void i2c_pxa_scream_blue_murder(s
  #endif /* ifdef DEBUG / else */
  
  static void i2c_pxa_master_complete(struct pxa_i2c *i2c, int ret);
@@ -28,7 +26,7 @@ index ee83d2e46de0..e5f00ae39861 100644
  
  static inline int i2c_pxa_is_slavemode(struct pxa_i2c *i2c)
  {
-@@ -703,34 +702,6 @@ static inline void i2c_pxa_stop_message(struct pxa_i2c *i2c)
+@@ -700,34 +699,6 @@ static inline void i2c_pxa_stop_message(
  	writel(icr, _ICR(i2c));
  }
  
@@ -63,7 +61,7 @@ index ee83d2e46de0..e5f00ae39861 100644
  /*
   * PXA I2C send master code
   * 1. Load master code to IDBR and send it.
-@@ -759,140 +730,6 @@ static int i2c_pxa_send_mastercode(struct pxa_i2c *i2c)
+@@ -756,140 +727,6 @@ static int i2c_pxa_send_mastercode(struc
  	return (timeout == 0) ? I2C_RETRY : 0;
  }
  
@@ -204,7 +202,7 @@ index ee83d2e46de0..e5f00ae39861 100644
  /*
   * i2c_pxa_master_complete - complete the message and wake up.
   */
-@@ -1099,6 +936,71 @@ static irqreturn_t i2c_pxa_handler(int this_irq, void *dev_id)
+@@ -1096,6 +933,71 @@ static irqreturn_t i2c_pxa_handler(int t
  	return IRQ_HANDLED;
  }
  
@@ -276,7 +274,7 @@ index ee83d2e46de0..e5f00ae39861 100644
  
  static int i2c_pxa_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
  {
-@@ -1132,6 +1034,103 @@ static const struct i2c_algorithm i2c_pxa_algorithm = {
+@@ -1129,6 +1031,103 @@ static const struct i2c_algorithm i2c_px
  	.functionality	= i2c_pxa_functionality,
  };
  
@@ -380,6 +378,3 @@ index ee83d2e46de0..e5f00ae39861 100644
  static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
  	.master_xfer	= i2c_pxa_pio_xfer,
  	.functionality	= i2c_pxa_functionality,
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/807-v5.8-i2c-pxa-re-arrange-register-field-definitions.patch b/target/linux/generic/backport-5.4/807-v5.8-i2c-pxa-re-arrange-register-field-definitions.patch
index 348da2a5f2f..afade04877d 100644
--- a/target/linux/generic/backport-5.4/807-v5.8-i2c-pxa-re-arrange-register-field-definitions.patch
+++ b/target/linux/generic/backport-5.4/807-v5.8-i2c-pxa-re-arrange-register-field-definitions.patch
@@ -16,8 +16,6 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 113 ++++++++++++++++-------------------
  1 file changed, 53 insertions(+), 60 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index e5f00ae39861..ea96dfa6b9d5 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -33,6 +33,56 @@
@@ -91,7 +89,7 @@ index e5f00ae39861..ea96dfa6b9d5 100644
  static struct pxa_reg_layout pxa_reg_layout[] = {
  	[REGS_PXA2XX] = {
  		.ibmr =	0x00,
-@@ -96,8 +141,8 @@ static struct pxa_reg_layout pxa_reg_layout[] = {
+@@ -96,8 +141,8 @@ static struct pxa_reg_layout pxa_reg_lay
  		.icr =	0x08,
  		.isr =	0x0c,
  		.isar =	0x10,
@@ -102,7 +100,7 @@ index e5f00ae39861..ea96dfa6b9d5 100644
  	},
  };
  
-@@ -111,58 +156,6 @@ static const struct platform_device_id i2c_pxa_id_table[] = {
+@@ -111,58 +156,6 @@ static const struct platform_device_id i
  };
  MODULE_DEVICE_TABLE(platform, i2c_pxa_id_table);
  
@@ -161,6 +159,3 @@ index e5f00ae39861..ea96dfa6b9d5 100644
  struct pxa_i2c {
  	spinlock_t		lock;
  	wait_queue_head_t	wait;
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch b/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch
index 9d7c5016402..16518b0e667 100644
--- a/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch
+++ b/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch
@@ -15,8 +15,6 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 12 ++++++++----
  1 file changed, 8 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index ea96dfa6b9d5..b3286d7ab75d 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -34,6 +34,9 @@
@@ -29,7 +27,7 @@ index ea96dfa6b9d5..b3286d7ab75d 100644
  #define ICR_START	(1 << 0)	   /* start bit */
  #define ICR_STOP	(1 << 1)	   /* stop bit */
  #define ICR_ACKNAK	(1 << 2)	   /* send ACK(0) or NAK(1) */
-@@ -335,7 +338,7 @@ static void i2c_pxa_abort(struct pxa_i2c *i2c)
+@@ -335,7 +338,7 @@ static void i2c_pxa_abort(struct pxa_i2c
  		return;
  	}
  
@@ -38,7 +36,7 @@ index ea96dfa6b9d5..b3286d7ab75d 100644
  		unsigned long icr = readl(_ICR(i2c));
  
  		icr &= ~ICR_START;
-@@ -390,7 +393,8 @@ static int i2c_pxa_wait_master(struct pxa_i2c *i2c)
+@@ -390,7 +393,8 @@ static int i2c_pxa_wait_master(struct px
  		 * quick check of the i2c lines themselves to ensure they've
  		 * gone high...
  		 */
@@ -48,7 +46,7 @@ index ea96dfa6b9d5..b3286d7ab75d 100644
  			if (i2c_debug > 0)
  				dev_dbg(&i2c->adap.dev, "%s: done\n", __func__);
  			return 1;
-@@ -575,7 +579,7 @@ static void i2c_pxa_slave_start(struct pxa_i2c *i2c, u32 isr)
+@@ -575,7 +579,7 @@ static void i2c_pxa_slave_start(struct p
  	timeout = 0x10000;
  
  	while (1) {
@@ -57,7 +55,7 @@ index ea96dfa6b9d5..b3286d7ab75d 100644
  			break;
  
  		timeout--;
-@@ -638,7 +642,7 @@ static void i2c_pxa_slave_start(struct pxa_i2c *i2c, u32 isr)
+@@ -638,7 +642,7 @@ static void i2c_pxa_slave_start(struct p
  	timeout = 0x10000;
  
  	while (1) {
@@ -66,6 +64,3 @@ index ea96dfa6b9d5..b3286d7ab75d 100644
  			break;
  
  		timeout--;
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch b/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch
index 2e98c7ba00b..9809d1dbbb9 100644
--- a/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch
+++ b/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch
@@ -15,11 +15,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index b3286d7ab75d..05dbe6bf4633 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -114,6 +114,8 @@ static struct pxa_reg_layout pxa_reg_layout[] = {
+@@ -114,6 +114,8 @@ static struct pxa_reg_layout pxa_reg_lay
  		.icr =	0x10,
  		.isr =	0x18,
  		.isar =	0x20,
@@ -28,7 +26,7 @@ index b3286d7ab75d..05dbe6bf4633 100644
  	},
  	[REGS_PXA3XX] = {
  		.ibmr =	0x00,
-@@ -121,6 +123,8 @@ static struct pxa_reg_layout pxa_reg_layout[] = {
+@@ -121,6 +123,8 @@ static struct pxa_reg_layout pxa_reg_lay
  		.icr =	0x08,
  		.isr =	0x0c,
  		.isar =	0x10,
@@ -37,7 +35,7 @@ index b3286d7ab75d..05dbe6bf4633 100644
  	},
  	[REGS_CE4100] = {
  		.ibmr =	0x14,
-@@ -128,6 +132,8 @@ static struct pxa_reg_layout pxa_reg_layout[] = {
+@@ -128,6 +132,8 @@ static struct pxa_reg_layout pxa_reg_lay
  		.icr =	0x00,
  		.isr =	0x04,
  		/* no isar register */
@@ -46,7 +44,7 @@ index b3286d7ab75d..05dbe6bf4633 100644
  	},
  	[REGS_PXA910] = {
  		.ibmr = 0x00,
-@@ -137,6 +143,8 @@ static struct pxa_reg_layout pxa_reg_layout[] = {
+@@ -137,6 +143,8 @@ static struct pxa_reg_layout pxa_reg_lay
  		.isar = 0x20,
  		.ilcr = 0x28,
  		.iwcr = 0x30,
@@ -55,7 +53,7 @@ index b3286d7ab75d..05dbe6bf4633 100644
  	},
  	[REGS_A3700] = {
  		.ibmr =	0x00,
-@@ -1235,8 +1243,8 @@ static int i2c_pxa_probe(struct platform_device *dev)
+@@ -1232,8 +1240,8 @@ static int i2c_pxa_probe(struct platform
  	i2c->reg_idbr = i2c->reg_base + pxa_reg_layout[i2c_type].idbr;
  	i2c->reg_icr = i2c->reg_base + pxa_reg_layout[i2c_type].icr;
  	i2c->reg_isr = i2c->reg_base + pxa_reg_layout[i2c_type].isr;
@@ -66,6 +64,3 @@ index b3286d7ab75d..05dbe6bf4633 100644
  
  	if (i2c_type != REGS_CE4100)
  		i2c->reg_isar = i2c->reg_base + pxa_reg_layout[i2c_type].isar;
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/810-v5.8-i2c-pxa-move-private-definitions-to-i2c-pxa.c.patch b/target/linux/generic/backport-5.4/810-v5.8-i2c-pxa-move-private-definitions-to-i2c-pxa.c.patch
index a7bbdd95460..dda463052f3 100644
--- a/target/linux/generic/backport-5.4/810-v5.8-i2c-pxa-move-private-definitions-to-i2c-pxa.c.patch
+++ b/target/linux/generic/backport-5.4/810-v5.8-i2c-pxa-move-private-definitions-to-i2c-pxa.c.patch
@@ -17,8 +17,6 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  include/linux/platform_data/i2c-pxa.h | 48 ---------------------------
  2 files changed, 43 insertions(+), 48 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 05dbe6bf4633..482768a9fdd2 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -86,6 +86,49 @@
@@ -71,8 +69,6 @@ index 05dbe6bf4633..482768a9fdd2 100644
  struct pxa_reg_layout {
  	u32 ibmr;
  	u32 idbr;
-diff --git a/include/linux/platform_data/i2c-pxa.h b/include/linux/platform_data/i2c-pxa.h
-index cb290092599c..5c08a6ff3444 100644
 --- a/include/linux/platform_data/i2c-pxa.h
 +++ b/include/linux/platform_data/i2c-pxa.h
 @@ -7,54 +7,6 @@
@@ -130,6 +126,3 @@ index cb290092599c..5c08a6ff3444 100644
  struct i2c_slave_client;
  
  struct i2c_pxa_platform_data {
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch b/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch
index 3f1b96a8d6b..70ef8f35abf 100644
--- a/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch
+++ b/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch
@@ -14,11 +14,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 18 +++++++++---------
  1 file changed, 9 insertions(+), 9 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 482768a9fdd2..760a29fb6af5 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -200,6 +200,15 @@ static struct pxa_reg_layout pxa_reg_layout[] = {
+@@ -200,6 +200,15 @@ static struct pxa_reg_layout pxa_reg_lay
  	},
  };
  
@@ -34,7 +32,7 @@ index 482768a9fdd2..760a29fb6af5 100644
  static const struct platform_device_id i2c_pxa_id_table[] = {
  	{ "pxa2xx-i2c",		REGS_PXA2XX },
  	{ "pxa3xx-pwri2c",	REGS_PXA3XX },
-@@ -1184,15 +1193,6 @@ static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
+@@ -1181,15 +1190,6 @@ static const struct i2c_algorithm i2c_px
  	.functionality	= i2c_pxa_functionality,
  };
  
@@ -50,6 +48,3 @@ index 482768a9fdd2..760a29fb6af5 100644
  static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
  			    enum pxa_i2c_types *i2c_types)
  {
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/812-v5.8-i2c-pxa-fix-i2c_pxa_scream_blue_murder-debug-output.patch b/target/linux/generic/backport-5.4/812-v5.8-i2c-pxa-fix-i2c_pxa_scream_blue_murder-debug-output.patch
index 6c912e62549..0afb29472bc 100644
--- a/target/linux/generic/backport-5.4/812-v5.8-i2c-pxa-fix-i2c_pxa_scream_blue_murder-debug-output.patch
+++ b/target/linux/generic/backport-5.4/812-v5.8-i2c-pxa-fix-i2c_pxa_scream_blue_murder-debug-output.patch
@@ -28,11 +28,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 7 +++----
  1 file changed, 3 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 760a29fb6af5..f3a11050053c 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -364,11 +364,10 @@ static void i2c_pxa_scream_blue_murder(struct pxa_i2c *i2c, const char *why)
+@@ -364,11 +364,10 @@ static void i2c_pxa_scream_blue_murder(s
  	dev_err(dev, "IBMR: %08x IDBR: %08x ICR: %08x ISR: %08x\n",
  		readl(_IBMR(i2c)), readl(_IDBR(i2c)), readl(_ICR(i2c)),
  		readl(_ISR(i2c)));
@@ -47,6 +45,3 @@ index 760a29fb6af5..f3a11050053c 100644
  }
  
  #else /* ifdef DEBUG */
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/813-v5.8-i2c-pxa-clean-up-decode_bits.patch b/target/linux/generic/backport-5.4/813-v5.8-i2c-pxa-clean-up-decode_bits.patch
index 552630eaf7d..adcf969ef6f 100644
--- a/target/linux/generic/backport-5.4/813-v5.8-i2c-pxa-clean-up-decode_bits.patch
+++ b/target/linux/generic/backport-5.4/813-v5.8-i2c-pxa-clean-up-decode_bits.patch
@@ -16,8 +16,6 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 7 +++----
  1 file changed, 3 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index f3a11050053c..b2c7765756e2 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -287,13 +287,14 @@ struct bits {
@@ -53,6 +51,3 @@ index f3a11050053c..b2c7765756e2 100644
  }
  #endif
  
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/814-v5.8-i2c-pxa-fix-i2c_pxa_wait_bus_not_busy-boundary-condi.patch b/target/linux/generic/backport-5.4/814-v5.8-i2c-pxa-fix-i2c_pxa_wait_bus_not_busy-boundary-condi.patch
index d5aded5479c..2aadecc357f 100644
--- a/target/linux/generic/backport-5.4/814-v5.8-i2c-pxa-fix-i2c_pxa_wait_bus_not_busy-boundary-condi.patch
+++ b/target/linux/generic/backport-5.4/814-v5.8-i2c-pxa-fix-i2c_pxa_wait_bus_not_busy-boundary-condi.patch
@@ -17,11 +17,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 17 ++++++++++++-----
  1 file changed, 12 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index b2c7765756e2..19505ffbb8f1 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -417,19 +417,26 @@ static void i2c_pxa_abort(struct pxa_i2c *i2c)
+@@ -417,19 +417,26 @@ static void i2c_pxa_abort(struct pxa_i2c
  static int i2c_pxa_wait_bus_not_busy(struct pxa_i2c *i2c)
  {
  	int timeout = DEF_TIMEOUT;
@@ -53,6 +51,3 @@ index b2c7765756e2..19505ffbb8f1 100644
  }
  
  static int i2c_pxa_wait_master(struct pxa_i2c *i2c)
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch b/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch
index f66759f48be..d5fb1d2cbea 100644
--- a/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch
+++ b/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch
@@ -16,11 +16,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 36 ++++++++++++++++--------------------
  1 file changed, 16 insertions(+), 20 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index c1e50c0b9756..46f1cf97d955 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -1102,18 +1102,20 @@ static int i2c_pxa_do_xfer(struct pxa_i2c *i2c, struct i2c_msg *msg, int num)
+@@ -1061,18 +1061,20 @@ static int i2c_pxa_do_xfer(struct pxa_i2
  	return ret;
  }
  
@@ -46,7 +44,7 @@ index c1e50c0b9756..46f1cf97d955 100644
  		udelay(100);
  	}
  	i2c_pxa_scream_blue_murder(i2c, "exhausted retries");
-@@ -1123,6 +1125,14 @@ static int i2c_pxa_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num
+@@ -1082,6 +1084,14 @@ static int i2c_pxa_xfer(struct i2c_adapt
  	return ret;
  }
  
@@ -61,7 +59,7 @@ index c1e50c0b9756..46f1cf97d955 100644
  static u32 i2c_pxa_functionality(struct i2c_adapter *adap)
  {
  	return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL |
-@@ -1210,7 +1220,6 @@ static int i2c_pxa_pio_xfer(struct i2c_adapter *adap,
+@@ -1165,7 +1175,6 @@ static int i2c_pxa_pio_xfer(struct i2c_a
  			    struct i2c_msg msgs[], int num)
  {
  	struct pxa_i2c *i2c = adap->algo_data;
@@ -69,7 +67,7 @@ index c1e50c0b9756..46f1cf97d955 100644
  
  	/* If the I2C controller is disabled we need to reset it
  	  (probably due to a suspend/resume destroying state). We do
-@@ -1219,20 +1228,7 @@ static int i2c_pxa_pio_xfer(struct i2c_adapter *adap,
+@@ -1174,20 +1183,7 @@ static int i2c_pxa_pio_xfer(struct i2c_a
  	if (!(readl(_ICR(i2c)) & ICR_IUE))
  		i2c_pxa_reset(i2c);
  
@@ -91,6 +89,3 @@ index c1e50c0b9756..46f1cf97d955 100644
  }
  
  static const struct i2c_algorithm i2c_pxa_pio_algorithm = {
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch b/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch
index 308dba0fb9a..f56e5b647f0 100644
--- a/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch
+++ b/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch
@@ -23,11 +23,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 12 ++++++++----
  1 file changed, 8 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 46f1cf97d955..f20f8b905793 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -90,6 +90,7 @@
+@@ -91,6 +91,7 @@
   */
  #define DEF_TIMEOUT             32
  
@@ -35,7 +33,7 @@ index 46f1cf97d955..f20f8b905793 100644
  #define BUS_ERROR               (-EREMOTEIO)
  #define XFER_NAKED              (-ECONNREFUSED)
  #define I2C_RETRY               (-2000) /* an error has occurred retry transmit */
-@@ -881,7 +882,7 @@ static void i2c_pxa_irq_txempty(struct pxa_i2c *i2c, u32 isr)
+@@ -840,7 +841,7 @@ static void i2c_pxa_irq_txempty(struct p
  		 */
  		if (isr & ISR_ACKNAK) {
  			if (i2c->msg_ptr == 0 && i2c->msg_idx == 0)
@@ -44,7 +42,7 @@ index 46f1cf97d955..f20f8b905793 100644
  			else
  				ret = XFER_NAKED;
  		}
-@@ -1109,16 +1110,19 @@ static int i2c_pxa_internal_xfer(struct pxa_i2c *i2c,
+@@ -1068,16 +1069,19 @@ static int i2c_pxa_internal_xfer(struct
  {
  	int ret, i;
  
@@ -67,6 +65,3 @@ index 46f1cf97d955..f20f8b905793 100644
  	ret = -EREMOTEIO;
   out:
  	i2c_pxa_set_slave(i2c, ret);
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch b/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch
index 39ca935ae93..24cda47789c 100644
--- a/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch
+++ b/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch
@@ -14,11 +14,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index f20f8b905793..0becab239476 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -1095,7 +1095,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2c *i2c, struct i2c_msg *msg, int num)
+@@ -1054,7 +1054,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2
  	ret = i2c->msg_idx;
  
  	if (!timeout && i2c->msg_num) {
@@ -27,7 +25,7 @@ index f20f8b905793..0becab239476 100644
  		ret = I2C_RETRY;
  	}
  
-@@ -1169,7 +1169,7 @@ static int i2c_pxa_pio_set_master(struct pxa_i2c *i2c)
+@@ -1124,7 +1124,7 @@ static int i2c_pxa_pio_set_master(struct
  	if (timeout < 0) {
  		show_state(i2c);
  		dev_err(&i2c->adap.dev,
@@ -36,7 +34,7 @@ index f20f8b905793..0becab239476 100644
  		return I2C_RETRY;
  	}
  
-@@ -1213,7 +1213,7 @@ static int i2c_pxa_do_pio_xfer(struct pxa_i2c *i2c,
+@@ -1168,7 +1168,7 @@ static int i2c_pxa_do_pio_xfer(struct px
  
  out:
  	if (timeout == 0) {
@@ -45,6 +43,3 @@ index f20f8b905793..0becab239476 100644
  		ret = I2C_RETRY;
  	}
  
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch b/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch
index 4676d7721f4..f14bb30e384 100644
--- a/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch
+++ b/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch
@@ -18,11 +18,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 0becab239476..db739cce93ac 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -1161,10 +1161,8 @@ static int i2c_pxa_pio_set_master(struct pxa_i2c *i2c)
+@@ -1116,10 +1116,8 @@ static int i2c_pxa_pio_set_master(struct
  	/*
  	 * Wait for the bus to become free.
  	 */
@@ -34,6 +32,3 @@ index 0becab239476..db739cce93ac 100644
  
  	if (timeout < 0) {
  		show_state(i2c);
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/819-v5.8-i2c-pxa-clear-all-master-action-bits-in-i2c_pxa_stop.patch b/target/linux/generic/backport-5.4/819-v5.8-i2c-pxa-clear-all-master-action-bits-in-i2c_pxa_stop.patch
index 997670716f2..70fbffc47f7 100644
--- a/target/linux/generic/backport-5.4/819-v5.8-i2c-pxa-clear-all-master-action-bits-in-i2c_pxa_stop.patch
+++ b/target/linux/generic/backport-5.4/819-v5.8-i2c-pxa-clear-all-master-action-bits-in-i2c_pxa_stop.patch
@@ -20,11 +20,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index db739cce93ac..a72d07bdb793 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -795,11 +795,9 @@ static inline void i2c_pxa_stop_message(struct pxa_i2c *i2c)
+@@ -754,11 +754,9 @@ static inline void i2c_pxa_stop_message(
  {
  	u32 icr;
  
@@ -38,6 +36,3 @@ index db739cce93ac..a72d07bdb793 100644
  	writel(icr, _ICR(i2c));
  }
  
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/820-v5.8-i2c-pxa-use-master-abort-for-device-probes.patch b/target/linux/generic/backport-5.4/820-v5.8-i2c-pxa-use-master-abort-for-device-probes.patch
index 2fde9e7322c..cde9e3fe33a 100644
--- a/target/linux/generic/backport-5.4/820-v5.8-i2c-pxa-use-master-abort-for-device-probes.patch
+++ b/target/linux/generic/backport-5.4/820-v5.8-i2c-pxa-use-master-abort-for-device-probes.patch
@@ -14,11 +14,9 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 10 ++--------
  1 file changed, 2 insertions(+), 8 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index a72d07bdb793..0e194d6cd1b5 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -940,14 +940,8 @@ static void i2c_pxa_irq_txempty(struct pxa_i2c *i2c, u32 isr)
+@@ -899,14 +899,8 @@ static void i2c_pxa_irq_txempty(struct p
  		icr &= ~ICR_ALDIE;
  		icr |= ICR_START | ICR_TB;
  	} else {
@@ -35,6 +33,3 @@ index a72d07bdb793..0e194d6cd1b5 100644
  		i2c_pxa_master_complete(i2c, 0);
  	}
  
--- 
-2.20.1
-
diff --git a/target/linux/generic/backport-5.4/821-v5.8-i2c-pxa-implement-generic-i2c-bus-recovery.patch b/target/linux/generic/backport-5.4/821-v5.8-i2c-pxa-implement-generic-i2c-bus-recovery.patch
index 745cb6567c1..592b763b6af 100644
--- a/target/linux/generic/backport-5.4/821-v5.8-i2c-pxa-implement-generic-i2c-bus-recovery.patch
+++ b/target/linux/generic/backport-5.4/821-v5.8-i2c-pxa-implement-generic-i2c-bus-recovery.patch
@@ -14,8 +14,6 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  drivers/i2c/busses/i2c-pxa.c | 176 +++++++++++++++++++++++++++++++----
  1 file changed, 159 insertions(+), 17 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 0e194d6cd1b5..a7885b8b5031 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -20,6 +20,7 @@
@@ -24,9 +22,9 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  #include <linux/errno.h>
 +#include <linux/gpio/consumer.h>
  #include <linux/i2c.h>
+ #include <linux/i2c-pxa.h>
  #include <linux/init.h>
- #include <linux/interrupt.h>
-@@ -28,6 +29,7 @@
+@@ -29,6 +30,7 @@
  #include <linux/module.h>
  #include <linux/of.h>
  #include <linux/of_device.h>
@@ -34,7 +32,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  #include <linux/platform_device.h>
  #include <linux/platform_data/i2c-pxa.h>
  #include <linux/slab.h>
-@@ -260,6 +262,11 @@ struct pxa_i2c {
+@@ -261,6 +263,11 @@ struct pxa_i2c {
  	bool			highmode_enter;
  	u32			fm_mask;
  	u32			hs_mask;
@@ -46,7 +44,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  };
  
  #define _IBMR(i2c)	((i2c)->reg_ibmr)
-@@ -559,13 +566,8 @@ static void i2c_pxa_set_slave(struct pxa_i2c *i2c, int errcode)
+@@ -560,13 +567,8 @@ static void i2c_pxa_set_slave(struct pxa
  #define i2c_pxa_set_slave(i2c, err)	do { } while (0)
  #endif
  
@@ -61,7 +59,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  	/* reset according to 9.8 */
  	writel(ICR_UR, _ICR(i2c));
  	writel(I2C_ISR_INIT, _ISR(i2c));
-@@ -584,12 +586,25 @@ static void i2c_pxa_reset(struct pxa_i2c *i2c)
+@@ -585,12 +587,25 @@ static void i2c_pxa_reset(struct pxa_i2c
  #endif
  
  	i2c_pxa_set_slave(i2c, 0);
@@ -87,7 +85,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  
  #ifdef CONFIG_I2C_PXA_SLAVE
  /*
-@@ -1043,6 +1058,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2c *i2c, struct i2c_msg *msg, int num)
+@@ -1002,6 +1017,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2
  	ret = i2c_pxa_wait_bus_not_busy(i2c);
  	if (ret) {
  		dev_err(&i2c->adap.dev, "i2c_pxa: timeout waiting for bus free\n");
@@ -95,7 +93,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  		goto out;
  	}
  
-@@ -1088,6 +1104,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2c *i2c, struct i2c_msg *msg, int num)
+@@ -1047,6 +1063,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2
  
  	if (!timeout && i2c->msg_num) {
  		i2c_pxa_scream_blue_murder(i2c, "timeout with active message");
@@ -103,7 +101,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  		ret = I2C_RETRY;
  	}
  
-@@ -1277,6 +1294,129 @@ static int i2c_pxa_probe_pdata(struct platform_device *pdev,
+@@ -1228,6 +1245,129 @@ static int i2c_pxa_probe_pdata(struct pl
  	return 0;
  }
  
@@ -233,7 +231,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  static int i2c_pxa_probe(struct platform_device *dev)
  {
  	struct i2c_pxa_platform_data *plat = dev_get_platdata(&dev->dev);
-@@ -1289,6 +1429,16 @@ static int i2c_pxa_probe(struct platform_device *dev)
+@@ -1240,6 +1380,16 @@ static int i2c_pxa_probe(struct platform
  	if (!i2c)
  		return -ENOMEM;
  
@@ -250,9 +248,9 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  	res = platform_get_resource(dev, IORESOURCE_MEM, 0);
  	i2c->reg_base = devm_ioremap_resource(&dev->dev, res);
  	if (IS_ERR(i2c->reg_base))
-@@ -1298,8 +1448,9 @@ static int i2c_pxa_probe(struct platform_device *dev)
- 	if (irq < 0)
+@@ -1251,8 +1401,9 @@ static int i2c_pxa_probe(struct platform
  		return irq;
+ 	}
  
 -	/* Default adapter num to device id; i2c_pxa_probe_dt can override. */
 -	i2c->adap.nr = dev->id;
@@ -262,7 +260,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  
  	ret = i2c_pxa_probe_dt(dev, i2c, &i2c_type);
  	if (ret > 0)
-@@ -1307,9 +1458,6 @@ static int i2c_pxa_probe(struct platform_device *dev)
+@@ -1260,9 +1411,6 @@ static int i2c_pxa_probe(struct platform
  	if (ret < 0)
  		return ret;
  
@@ -272,7 +270,7 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  	spin_lock_init(&i2c->lock);
  	init_waitqueue_head(&i2c->wait);
  
-@@ -1375,12 +1523,6 @@ static int i2c_pxa_probe(struct platform_device *dev)
+@@ -1332,12 +1480,6 @@ static int i2c_pxa_probe(struct platform
  
  	i2c_pxa_reset(i2c);
  
@@ -285,6 +283,3 @@ index 0e194d6cd1b5..a7885b8b5031 100644
  	ret = i2c_add_numbered_adapter(&i2c->adap);
  	if (ret < 0)
  		goto ereqirq;
--- 
-2.20.1
-
-- 
GitLab