kernel: bump 4.14 to 4.14.125
Refreshed all patches. Altered patches: - 403-net-mvneta-convert-to-phylink.patch - 410-sfp-hack-allow-marvell-10G-phy-support-to-use-SFP.patch Compile-tested on: cns3xxx, imx6, mvebu Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
		| @@ -3,10 +3,10 @@ | |||||||
| LINUX_RELEASE?=1 | LINUX_RELEASE?=1 | ||||||
|  |  | ||||||
| LINUX_VERSION-4.9 = .181 | LINUX_VERSION-4.9 = .181 | ||||||
| LINUX_VERSION-4.14 = .123 | LINUX_VERSION-4.14 = .125 | ||||||
|  |  | ||||||
| LINUX_KERNEL_HASH-4.9.181 = 8fcd223e11cba322801bc38cdb8b581d64c0115f585dcb6604de8561b574fced | LINUX_KERNEL_HASH-4.9.181 = 8fcd223e11cba322801bc38cdb8b581d64c0115f585dcb6604de8561b574fced | ||||||
| LINUX_KERNEL_HASH-4.14.123 = 25f58cb56bde388ac9bcee984f5f2d0ca094b0a8af6b92ad1f5b2fd0e6725b85 | LINUX_KERNEL_HASH-4.14.125 = 3e3dbc20215a28385bf46e2d0b8d9019df38ef1ee677e5e8870c7c3cde2ab318 | ||||||
|  |  | ||||||
| remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) | remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) | ||||||
| sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) | sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ produce a noisy warning. | |||||||
|   |   | ||||||
| --- a/drivers/usb/host/xhci.c | --- a/drivers/usb/host/xhci.c | ||||||
| +++ b/drivers/usb/host/xhci.c | +++ b/drivers/usb/host/xhci.c | ||||||
| @@ -372,10 +372,14 @@ static int xhci_try_enable_msi(struct us | @@ -370,10 +370,14 @@ static int xhci_try_enable_msi(struct us | ||||||
|  		free_irq(hcd->irq, hcd); |  		free_irq(hcd->irq, hcd); | ||||||
|  	hcd->irq = 0; |  	hcd->irq = 0; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -40,7 +40,7 @@ it on BCM4708 family. | |||||||
|  /* called during probe() after chip reset completes */ |  /* called during probe() after chip reset completes */ | ||||||
| --- a/drivers/usb/host/xhci.c | --- a/drivers/usb/host/xhci.c | ||||||
| +++ b/drivers/usb/host/xhci.c | +++ b/drivers/usb/host/xhci.c | ||||||
| @@ -168,6 +168,49 @@ int xhci_start(struct xhci_hcd *xhci) | @@ -166,6 +166,49 @@ int xhci_start(struct xhci_hcd *xhci) | ||||||
|  	return ret; |  	return ret; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -90,7 +90,7 @@ it on BCM4708 family. | |||||||
|  /* |  /* | ||||||
|   * Reset a halted HC. |   * Reset a halted HC. | ||||||
|   * |   * | ||||||
| @@ -551,10 +594,20 @@ static int xhci_init(struct usb_hcd *hcd | @@ -549,10 +592,20 @@ static int xhci_init(struct usb_hcd *hcd | ||||||
|   |   | ||||||
|  static int xhci_run_finished(struct xhci_hcd *xhci) |  static int xhci_run_finished(struct xhci_hcd *xhci) | ||||||
|  { |  { | ||||||
| @@ -114,7 +114,7 @@ it on BCM4708 family. | |||||||
|  	xhci->shared_hcd->state = HC_STATE_RUNNING; |  	xhci->shared_hcd->state = HC_STATE_RUNNING; | ||||||
|  	xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; |  	xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; | ||||||
|   |   | ||||||
| @@ -564,6 +617,10 @@ static int xhci_run_finished(struct xhci | @@ -562,6 +615,10 @@ static int xhci_run_finished(struct xhci | ||||||
|  	xhci_dbg_trace(xhci, trace_xhci_dbg_init, |  	xhci_dbg_trace(xhci, trace_xhci_dbg_init, | ||||||
|  			"Finished xhci_run for USB3 roothub"); |  			"Finished xhci_run for USB3 roothub"); | ||||||
|  	return 0; |  	return 0; | ||||||
|   | |||||||
| @@ -112,7 +112,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|  		ret = PTR_ERR(hcd->usb_phy); |  		ret = PTR_ERR(hcd->usb_phy); | ||||||
| --- a/drivers/usb/host/xhci.c | --- a/drivers/usb/host/xhci.c | ||||||
| +++ b/drivers/usb/host/xhci.c | +++ b/drivers/usb/host/xhci.c | ||||||
| @@ -612,11 +612,7 @@ int xhci_run(struct usb_hcd *hcd) | @@ -610,11 +610,7 @@ int xhci_run(struct usb_hcd *hcd) | ||||||
|  			"// Set the interrupt modulation register"); |  			"// Set the interrupt modulation register"); | ||||||
|  	temp = readl(&xhci->ir_set->irq_control); |  	temp = readl(&xhci->ir_set->irq_control); | ||||||
|  	temp &= ~ER_IRQ_INTERVAL_MASK; |  	temp &= ~ER_IRQ_INTERVAL_MASK; | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | |||||||
|  |  | ||||||
| --- a/drivers/net/phy/sfp.c | --- a/drivers/net/phy/sfp.c | ||||||
| +++ b/drivers/net/phy/sfp.c | +++ b/drivers/net/phy/sfp.c | ||||||
| @@ -248,6 +248,184 @@ static unsigned int sfp_check(void *buf, | @@ -264,6 +264,184 @@ static unsigned int sfp_check(void *buf, | ||||||
|  	return check; |  	return check; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -195,7 +195,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | |||||||
|  /* Helpers */ |  /* Helpers */ | ||||||
|  static void sfp_module_tx_disable(struct sfp *sfp) |  static void sfp_module_tx_disable(struct sfp *sfp) | ||||||
|  { |  { | ||||||
| @@ -416,6 +594,7 @@ static int sfp_sm_mod_probe(struct sfp * | @@ -432,6 +610,7 @@ static int sfp_sm_mod_probe(struct sfp * | ||||||
|  	char sn[17]; |  	char sn[17]; | ||||||
|  	char date[9]; |  	char date[9]; | ||||||
|  	char rev[5]; |  	char rev[5]; | ||||||
| @@ -203,7 +203,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | |||||||
|  	u8 check; |  	u8 check; | ||||||
|  	int err; |  	int err; | ||||||
|   |   | ||||||
| @@ -459,10 +638,83 @@ static int sfp_sm_mod_probe(struct sfp * | @@ -475,10 +654,83 @@ static int sfp_sm_mod_probe(struct sfp * | ||||||
|  	rev[4] = '\0'; |  	rev[4] = '\0'; | ||||||
|  	memcpy(sn, sfp->id.ext.vendor_sn, 16); |  	memcpy(sn, sfp->id.ext.vendor_sn, 16); | ||||||
|  	sn[16] = '\0'; |  	sn[16] = '\0'; | ||||||
|   | |||||||
| @@ -928,10 +928,10 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | |||||||
|  	return 0; |  	return 0; | ||||||
|   |   | ||||||
|  err_netdev: |  err_netdev: | ||||||
| @@ -4386,16 +4492,14 @@ err_netdev: | @@ -4384,16 +4490,14 @@ err_netdev: | ||||||
|  |  		mvneta_bm_pool_destroy(pp->bm_priv, pp->pool_short, | ||||||
|  				       1 << pp->id); |  				       1 << pp->id); | ||||||
|  	} |  	} | ||||||
|  err_free_stats: |  | ||||||
| +	if (pp->phylink) | +	if (pp->phylink) | ||||||
| +		phylink_destroy(pp->phylink); | +		phylink_destroy(pp->phylink); | ||||||
|  	free_percpu(pp->stats); |  	free_percpu(pp->stats); | ||||||
| @@ -947,7 +947,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | |||||||
|  err_free_irq: |  err_free_irq: | ||||||
|  	irq_dispose_mapping(dev->irq); |  	irq_dispose_mapping(dev->irq); | ||||||
|  err_free_netdev: |  err_free_netdev: | ||||||
| @@ -4407,7 +4511,6 @@ err_free_netdev: | @@ -4405,7 +4509,6 @@ err_free_netdev: | ||||||
|  static int mvneta_remove(struct platform_device *pdev) |  static int mvneta_remove(struct platform_device *pdev) | ||||||
|  { |  { | ||||||
|  	struct net_device  *dev = platform_get_drvdata(pdev); |  	struct net_device  *dev = platform_get_drvdata(pdev); | ||||||
| @@ -955,7 +955,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | |||||||
|  	struct mvneta_port *pp = netdev_priv(dev); |  	struct mvneta_port *pp = netdev_priv(dev); | ||||||
|   |   | ||||||
|  	unregister_netdev(dev); |  	unregister_netdev(dev); | ||||||
| @@ -4415,10 +4518,8 @@ static int mvneta_remove(struct platform | @@ -4413,10 +4516,8 @@ static int mvneta_remove(struct platform | ||||||
|  	clk_disable_unprepare(pp->clk); |  	clk_disable_unprepare(pp->clk); | ||||||
|  	free_percpu(pp->ports); |  	free_percpu(pp->ports); | ||||||
|  	free_percpu(pp->stats); |  	free_percpu(pp->stats); | ||||||
| @@ -967,7 +967,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | |||||||
|  	free_netdev(dev); |  	free_netdev(dev); | ||||||
|   |   | ||||||
|  	if (pp->bm_priv) { |  	if (pp->bm_priv) { | ||||||
| @@ -4470,9 +4571,6 @@ static int mvneta_resume(struct device * | @@ -4468,9 +4569,6 @@ static int mvneta_resume(struct device * | ||||||
|  		return err; |  		return err; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -159,7 +159,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  #include <linux/slab.h> |  #include <linux/slab.h> | ||||||
|  #include <linux/rtnetlink.h> |  #include <linux/rtnetlink.h> | ||||||
|  #include <linux/sched/signal.h> |  #include <linux/sched/signal.h> | ||||||
| @@ -2201,6 +2202,9 @@ static int __ethtool_get_module_info(str | @@ -2212,6 +2213,9 @@ static int __ethtool_get_module_info(str | ||||||
|  	const struct ethtool_ops *ops = dev->ethtool_ops; |  	const struct ethtool_ops *ops = dev->ethtool_ops; | ||||||
|  	struct phy_device *phydev = dev->phydev; |  	struct phy_device *phydev = dev->phydev; | ||||||
|   |   | ||||||
| @@ -169,7 +169,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  	if (phydev && phydev->drv && phydev->drv->module_info) |  	if (phydev && phydev->drv && phydev->drv->module_info) | ||||||
|  		return phydev->drv->module_info(phydev, modinfo); |  		return phydev->drv->module_info(phydev, modinfo); | ||||||
|   |   | ||||||
| @@ -2235,6 +2239,9 @@ static int __ethtool_get_module_eeprom(s | @@ -2246,6 +2250,9 @@ static int __ethtool_get_module_eeprom(s | ||||||
|  	const struct ethtool_ops *ops = dev->ethtool_ops; |  	const struct ethtool_ops *ops = dev->ethtool_ops; | ||||||
|  	struct phy_device *phydev = dev->phydev; |  	struct phy_device *phydev = dev->phydev; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -25,8 +25,8 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
| +#include <linux/sfp.h> | +#include <linux/sfp.h> | ||||||
|   |   | ||||||
|  enum { |  enum { | ||||||
|  	MV_PCS_BASE_T		= 0x0000, |  	MV_PMA_BOOT		= 0xc050, | ||||||
| @@ -38,6 +40,11 @@ enum { | @@ -41,6 +43,11 @@ enum { | ||||||
|  	MV_AN_RESULT_SPD_10000	= BIT(15), |  	MV_AN_RESULT_SPD_10000	= BIT(15), | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -38,7 +38,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  static int mv3310_modify(struct phy_device *phydev, int devad, u16 reg, |  static int mv3310_modify(struct phy_device *phydev, int devad, u16 reg, | ||||||
|  			 u16 mask, u16 bits) |  			 u16 mask, u16 bits) | ||||||
|  { |  { | ||||||
| @@ -56,17 +63,52 @@ static int mv3310_modify(struct phy_devi | @@ -59,8 +66,25 @@ static int mv3310_modify(struct phy_devi | ||||||
|  	return ret < 0 ? ret : 1; |  	return ret < 0 ? ret : 1; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -62,14 +62,15 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  { |  { | ||||||
| +	struct mv3310_priv *priv; | +	struct mv3310_priv *priv; | ||||||
|  	u32 mmd_mask = MDIO_DEVS_PMAPMD | MDIO_DEVS_AN; |  	u32 mmd_mask = MDIO_DEVS_PMAPMD | MDIO_DEVS_AN; | ||||||
|  |  	int ret; | ||||||
|   |   | ||||||
|  	if (!phydev->is_c45 || | @@ -78,9 +102,27 @@ static int mv3310_probe(struct phy_devic | ||||||
|  	    (phydev->c45_ids.devices_in_package & mmd_mask) != mmd_mask) |  | ||||||
|  		return -ENODEV; |  		return -ENODEV; | ||||||
|  |  	} | ||||||
|   |   | ||||||
| +	priv = devm_kzalloc(&phydev->mdio.dev, sizeof(*priv), GFP_KERNEL); | +	priv = devm_kzalloc(&phydev->mdio.dev, sizeof(*priv), GFP_KERNEL); | ||||||
| +	if (!priv) | +	if (!priv) | ||||||
| +		return -ENOMEM; | +	return -ENOMEM; | ||||||
| + | + | ||||||
| +	dev_set_drvdata(&phydev->mdio.dev, priv); | +	dev_set_drvdata(&phydev->mdio.dev, priv); | ||||||
| + | + | ||||||
| @@ -91,7 +92,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  /* |  /* | ||||||
|   * Resetting the MV88X3310 causes it to become non-responsive.  Avoid |   * Resetting the MV88X3310 causes it to become non-responsive.  Avoid | ||||||
|   * setting the reset bit(s). |   * setting the reset bit(s). | ||||||
| @@ -78,6 +120,7 @@ static int mv3310_soft_reset(struct phy_ | @@ -92,6 +134,7 @@ static int mv3310_soft_reset(struct phy_ | ||||||
|   |   | ||||||
|  static int mv3310_config_init(struct phy_device *phydev) |  static int mv3310_config_init(struct phy_device *phydev) | ||||||
|  { |  { | ||||||
| @@ -99,7 +100,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  	__ETHTOOL_DECLARE_LINK_MODE_MASK(supported) = { 0, }; |  	__ETHTOOL_DECLARE_LINK_MODE_MASK(supported) = { 0, }; | ||||||
|  	u32 mask; |  	u32 mask; | ||||||
|  	int val; |  	int val; | ||||||
| @@ -166,6 +209,14 @@ static int mv3310_config_init(struct phy | @@ -180,6 +223,14 @@ static int mv3310_config_init(struct phy | ||||||
|  	phydev->supported &= mask; |  	phydev->supported &= mask; | ||||||
|  	phydev->advertising &= phydev->supported; |  	phydev->advertising &= phydev->supported; | ||||||
|   |   | ||||||
| @@ -114,7 +115,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -349,12 +400,13 @@ static struct phy_driver mv3310_drivers[ | @@ -363,12 +414,13 @@ static struct phy_driver mv3310_drivers[ | ||||||
|  				  SUPPORTED_FIBRE | |  				  SUPPORTED_FIBRE | | ||||||
|  				  SUPPORTED_10000baseT_Full | |  				  SUPPORTED_10000baseT_Full | | ||||||
|  				  SUPPORTED_Backplane, |  				  SUPPORTED_Backplane, | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> | |||||||
|  |  | ||||||
| --- a/drivers/net/phy/sfp.c | --- a/drivers/net/phy/sfp.c | ||||||
| +++ b/drivers/net/phy/sfp.c | +++ b/drivers/net/phy/sfp.c | ||||||
| @@ -1148,6 +1148,7 @@ static int sfp_remove(struct platform_de | @@ -1164,6 +1164,7 @@ static int sfp_remove(struct platform_de | ||||||
|   |   | ||||||
|  static const struct of_device_id sfp_of_match[] = { |  static const struct of_device_id sfp_of_match[] = { | ||||||
|  	{ .compatible = "sff,sfp", }, |  	{ .compatible = "sff,sfp", }, | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> | |||||||
|  |  | ||||||
| --- a/drivers/net/phy/sfp.c | --- a/drivers/net/phy/sfp.c | ||||||
| +++ b/drivers/net/phy/sfp.c | +++ b/drivers/net/phy/sfp.c | ||||||
| @@ -489,7 +489,7 @@ static void sfp_sm_phy_detach(struct sfp | @@ -505,7 +505,7 @@ static void sfp_sm_phy_detach(struct sfp | ||||||
|  	sfp->mod_phy = NULL; |  	sfp->mod_phy = NULL; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -22,7 +22,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> | |||||||
|  { |  { | ||||||
|  	struct phy_device *phy; |  	struct phy_device *phy; | ||||||
|  	int err; |  	int err; | ||||||
| @@ -499,11 +499,11 @@ static void sfp_sm_probe_phy(struct sfp | @@ -515,11 +515,11 @@ static void sfp_sm_probe_phy(struct sfp | ||||||
|  	phy = mdiobus_scan(sfp->i2c_mii, SFP_PHY_ADDR); |  	phy = mdiobus_scan(sfp->i2c_mii, SFP_PHY_ADDR); | ||||||
|  	if (phy == ERR_PTR(-ENODEV)) { |  	if (phy == ERR_PTR(-ENODEV)) { | ||||||
|  		dev_info(sfp->dev, "no PHY detected\n"); |  		dev_info(sfp->dev, "no PHY detected\n"); | ||||||
| @@ -36,7 +36,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> | |||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	err = sfp_add_phy(sfp->sfp_bus, phy); |  	err = sfp_add_phy(sfp->sfp_bus, phy); | ||||||
| @@ -511,11 +511,13 @@ static void sfp_sm_probe_phy(struct sfp | @@ -527,11 +527,13 @@ static void sfp_sm_probe_phy(struct sfp | ||||||
|  		phy_device_remove(phy); |  		phy_device_remove(phy); | ||||||
|  		phy_device_free(phy); |  		phy_device_free(phy); | ||||||
|  		dev_err(sfp->dev, "sfp_add_phy failed: %d\n", err); |  		dev_err(sfp->dev, "sfp_add_phy failed: %d\n", err); | ||||||
| @@ -51,7 +51,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void sfp_sm_link_up(struct sfp *sfp) |  static void sfp_sm_link_up(struct sfp *sfp) | ||||||
| @@ -561,14 +563,9 @@ static void sfp_sm_fault(struct sfp *sfp | @@ -577,14 +579,9 @@ static void sfp_sm_fault(struct sfp *sfp | ||||||
|   |   | ||||||
|  static void sfp_sm_mod_init(struct sfp *sfp) |  static void sfp_sm_mod_init(struct sfp *sfp) | ||||||
|  { |  { | ||||||
| @@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> | |||||||
|   |   | ||||||
|  	/* Setting the serdes link mode is guesswork: there's no |  	/* Setting the serdes link mode is guesswork: there's no | ||||||
|  	 * field in the EEPROM which indicates what mode should |  	 * field in the EEPROM which indicates what mode should | ||||||
| @@ -582,7 +579,22 @@ static void sfp_sm_mod_init(struct sfp * | @@ -598,7 +595,22 @@ static void sfp_sm_mod_init(struct sfp * | ||||||
|  	if (sfp->id.base.e1000_base_t || |  	if (sfp->id.base.e1000_base_t || | ||||||
|  	    sfp->id.base.e100_base_lx || |  	    sfp->id.base.e100_base_lx || | ||||||
|  	    sfp->id.base.e100_base_fx) |  	    sfp->id.base.e100_base_fx) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> | |||||||
|  |  | ||||||
| --- a/drivers/tty/serial/serial_core.c | --- a/drivers/tty/serial/serial_core.c | ||||||
| +++ b/drivers/tty/serial/serial_core.c | +++ b/drivers/tty/serial/serial_core.c | ||||||
| @@ -431,6 +431,9 @@ uart_get_baud_rate(struct uart_port *por | @@ -428,6 +428,9 @@ uart_get_baud_rate(struct uart_port *por | ||||||
|  		break; |  		break; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Koen Vandeputte
					Koen Vandeputte