diff options
Diffstat (limited to 'target/linux')
20 files changed, 49 insertions, 191 deletions
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 311d4ed448..0000000000 --- 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 8aaa6c9b3c..c20a00c7f4 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 ed4a3d5928..6a911325dd 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 ccca8d1dc7..4d6dc7f071 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 efe7071de4..ff631cf352 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 348da2a5f2..afade04877 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 9d7c501640..16518b0e66 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 2e98c7ba00..9809d1dbbb 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 a7bbdd9546..dda463052f 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 3f1b96a8d6..70ef8f35ab 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 6c912e6254..0afb29472b 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 552630eaf7..adcf969ef6 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 d5aded5479..2aadecc357 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 f66759f48b..d5fb1d2cbe 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 308dba0fb9..f56e5b647f 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 39ca935ae9..24cda47789 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 4676d7721f..f14bb30e38 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 997670716f..70fbffc47f 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 2fde9e7322..cde9e3fe33 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 745cb6567c..592b763b6a 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 - |