diff options
author | Daniel Golle <daniel@makrotopia.org> | 2022-03-21 01:16:48 +0000 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2022-03-21 13:11:56 +0000 |
commit | 786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch) | |
tree | 926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/generic/backport-5.4/852-v5.10-0001-net-sfp-VSOL-V2801F-CarlitoxxPro-CPGOS03-0490-v2.0-w.patch | |
parent | 9470160c350d15f765c33d6c1db15d6c4709a64c (diff) | |
download | upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2 upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip |
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all
kernel configuration as well as patches for Linux 5.4.
There were no targets still actively using Linux 5.4.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/generic/backport-5.4/852-v5.10-0001-net-sfp-VSOL-V2801F-CarlitoxxPro-CPGOS03-0490-v2.0-w.patch')
-rw-r--r-- | target/linux/generic/backport-5.4/852-v5.10-0001-net-sfp-VSOL-V2801F-CarlitoxxPro-CPGOS03-0490-v2.0-w.patch | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/target/linux/generic/backport-5.4/852-v5.10-0001-net-sfp-VSOL-V2801F-CarlitoxxPro-CPGOS03-0490-v2.0-w.patch b/target/linux/generic/backport-5.4/852-v5.10-0001-net-sfp-VSOL-V2801F-CarlitoxxPro-CPGOS03-0490-v2.0-w.patch deleted file mode 100644 index 1901054a10..0000000000 --- a/target/linux/generic/backport-5.4/852-v5.10-0001-net-sfp-VSOL-V2801F-CarlitoxxPro-CPGOS03-0490-v2.0-w.patch +++ /dev/null @@ -1,144 +0,0 @@ -From 0d035bed2a4a6c4878518749348be61bf082d12a Mon Sep 17 00:00:00 2001 -From: Russell King <rmk+kernel@armlinux.org.uk> -Date: Wed, 9 Dec 2020 11:22:49 +0000 -Subject: [PATCH] net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0 - workaround -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add a workaround for the detection of VSOL V2801F / CarlitoxxPro -CPGOS03-0490 v2.0 GPON module which CarlitoxxPro states needs single -byte I2C reads to the EEPROM. - -Pali Rohár reports that he also has a CarlitoxxPro-based V2801F module, -which reports a manufacturer of "OEM". This manufacturer can't be -matched as it appears in many different modules, so also match the part -number too. - -Reported-by: Thomas Schreiber <tschreibe@gmail.com> -Reported-by: Pali Rohár <pali@kernel.org> -Tested-by: Pali Rohár <pali@kernel.org> -Reviewed-by: Andrew Lunn <andrew@lunn.ch> -Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - drivers/net/phy/sfp.c | 63 +++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 58 insertions(+), 5 deletions(-) - ---- a/drivers/net/phy/sfp.c -+++ b/drivers/net/phy/sfp.c -@@ -191,6 +191,7 @@ struct sfp { - struct sfp_bus *sfp_bus; - struct phy_device *mod_phy; - const struct sff_data *type; -+ size_t i2c_block_size; - u32 max_power_mW; - - unsigned int (*get_state)(struct sfp *); -@@ -305,10 +306,19 @@ static int sfp_i2c_read(struct sfp *sfp, - size_t len) - { - struct i2c_msg msgs[2]; -- u8 bus_addr = a2 ? 0x51 : 0x50; -+ size_t block_size; - size_t this_len; -+ u8 bus_addr; - int ret; - -+ if (a2) { -+ block_size = 16; -+ bus_addr = 0x51; -+ } else { -+ block_size = sfp->i2c_block_size; -+ bus_addr = 0x50; -+ } -+ - msgs[0].addr = bus_addr; - msgs[0].flags = 0; - msgs[0].len = 1; -@@ -320,8 +330,8 @@ static int sfp_i2c_read(struct sfp *sfp, - - while (len) { - this_len = len; -- if (this_len > 16) -- this_len = 16; -+ if (this_len > block_size) -+ this_len = block_size; - - msgs[1].len = this_len; - -@@ -1569,6 +1579,28 @@ static int sfp_sm_mod_hpower(struct sfp - return 0; - } - -+/* Some modules (Nokia 3FE46541AA) lock up if byte 0x51 is read as a -+ * single read. Switch back to reading 16 byte blocks unless we have -+ * a CarlitoxxPro module (rebranded VSOL V2801F). Even more annoyingly, -+ * some VSOL V2801F have the vendor name changed to OEM. -+ */ -+static int sfp_quirk_i2c_block_size(const struct sfp_eeprom_base *base) -+{ -+ if (!memcmp(base->vendor_name, "VSOL ", 16)) -+ return 1; -+ if (!memcmp(base->vendor_name, "OEM ", 16) && -+ !memcmp(base->vendor_pn, "V2801F ", 16)) -+ return 1; -+ -+ /* Some modules can't cope with long reads */ -+ return 16; -+} -+ -+static void sfp_quirks_base(struct sfp *sfp, const struct sfp_eeprom_base *base) -+{ -+ sfp->i2c_block_size = sfp_quirk_i2c_block_size(base); -+} -+ - static int sfp_sm_mod_probe(struct sfp *sfp, bool report) - { - /* SFP module inserted - read I2C data */ -@@ -1577,14 +1609,20 @@ static int sfp_sm_mod_probe(struct sfp * - u8 check; - int ret; - -- ret = sfp_read(sfp, false, 0, &id, sizeof(id)); -+ /* Some modules (CarlitoxxPro CPGOS03-0490) do not support multibyte -+ * reads from the EEPROM, so start by reading the base identifying -+ * information one byte at a time. -+ */ -+ sfp->i2c_block_size = 1; -+ -+ ret = sfp_read(sfp, false, 0, &id.base, sizeof(id.base)); - if (ret < 0) { - if (report) - dev_err(sfp->dev, "failed to read EEPROM: %d\n", ret); - return -EAGAIN; - } - -- if (ret != sizeof(id)) { -+ if (ret != sizeof(id.base)) { - dev_err(sfp->dev, "EEPROM short read: %d\n", ret); - return -EAGAIN; - } -@@ -1612,6 +1650,21 @@ static int sfp_sm_mod_probe(struct sfp * - } - } - -+ /* Apply any early module-specific quirks */ -+ sfp_quirks_base(sfp, &id.base); -+ -+ ret = sfp_read(sfp, false, SFP_CC_BASE + 1, &id.ext, sizeof(id.ext)); -+ if (ret < 0) { -+ if (report) -+ dev_err(sfp->dev, "failed to read EEPROM: %d\n", ret); -+ return -EAGAIN; -+ } -+ -+ if (ret != sizeof(id.ext)) { -+ dev_err(sfp->dev, "EEPROM short read: %d\n", ret); -+ return -EAGAIN; -+ } -+ - check = sfp_check(&id.ext, sizeof(id.ext) - 1); - if (check != id.ext.cc_ext) { - if (cotsworks) { |