mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump 5.10 to 5.10.111 (#9259)
Removed upstreamed: pending-5.10/850-0003-PCI-aardvark-Fix-support-for-MSI-interrupts.patch apm821xx/patches-5.10/150-ata-sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <graysky@archlinux.us> Co-authored-by: John Audia <graysky@archlinux.us>
This commit is contained in:
parent
af54dc279a
commit
c015f9b542
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.10 = .110
|
LINUX_VERSION-5.10 = .111
|
||||||
LINUX_KERNEL_HASH-5.10.110 = dbef6a06325433481551cb8cfca9254d908d0ae950bc809f3da8ade00c485693
|
LINUX_KERNEL_HASH-5.10.111 = 1831b3d8765592ce91e51441bb179d908f6bcfe8c78d03c2bec8c675c4a0ab1a
|
||||||
|
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
/* Device and char device-related information */
|
/* Device and char device-related information */
|
||||||
static DEFINE_IDA(gpio_ida);
|
static DEFINE_IDA(gpio_ida);
|
||||||
static dev_t gpio_devt;
|
static dev_t gpio_devt;
|
||||||
@@ -2444,8 +2446,8 @@ int gpiod_direction_output(struct gpio_d
|
@@ -2463,8 +2465,8 @@ int gpiod_direction_output(struct gpio_d
|
||||||
value = !!value;
|
value = !!value;
|
||||||
|
|
||||||
/* GPIOs used for enabled IRQs shall not be set as output */
|
/* GPIOs used for enabled IRQs shall not be set as output */
|
||||||
@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
gpiod_err(desc,
|
gpiod_err(desc,
|
||||||
"%s: tried to set a GPIO tied to an IRQ as output\n",
|
"%s: tried to set a GPIO tied to an IRQ as output\n",
|
||||||
__func__);
|
__func__);
|
||||||
@@ -3260,8 +3262,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
|
@@ -3279,8 +3281,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
|
||||||
}
|
}
|
||||||
|
|
||||||
/* To be valid for IRQ the line needs to be input or open drain */
|
/* To be valid for IRQ the line needs to be input or open drain */
|
||||||
|
@ -75,7 +75,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
/*** runtime pm ***/
|
/*** runtime pm ***/
|
||||||
static int clk_pm_runtime_get(struct clk_core *core)
|
static int clk_pm_runtime_get(struct clk_core *core)
|
||||||
{
|
{
|
||||||
@@ -1413,10 +1421,14 @@ unsigned long clk_hw_round_rate(struct c
|
@@ -1431,10 +1439,14 @@ unsigned long clk_hw_round_rate(struct c
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct clk_rate_request req;
|
struct clk_rate_request req;
|
||||||
@ -90,7 +90,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
ret = clk_core_round_rate_nolock(hw->core, &req);
|
ret = clk_core_round_rate_nolock(hw->core, &req);
|
||||||
if (ret)
|
if (ret)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1437,6 +1449,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate);
|
@@ -1455,6 +1467,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate);
|
||||||
long clk_round_rate(struct clk *clk, unsigned long rate)
|
long clk_round_rate(struct clk *clk, unsigned long rate)
|
||||||
{
|
{
|
||||||
struct clk_rate_request req;
|
struct clk_rate_request req;
|
||||||
@ -98,7 +98,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!clk)
|
if (!clk)
|
||||||
@@ -1450,6 +1463,9 @@ long clk_round_rate(struct clk *clk, uns
|
@@ -1468,6 +1481,9 @@ long clk_round_rate(struct clk *clk, uns
|
||||||
clk_core_get_boundaries(clk->core, &req.min_rate, &req.max_rate);
|
clk_core_get_boundaries(clk->core, &req.min_rate, &req.max_rate);
|
||||||
req.rate = rate;
|
req.rate = rate;
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
ret = clk_core_round_rate_nolock(clk->core, &req);
|
ret = clk_core_round_rate_nolock(clk->core, &req);
|
||||||
|
|
||||||
if (clk->exclusive_count)
|
if (clk->exclusive_count)
|
||||||
@@ -1917,6 +1933,7 @@ static struct clk_core *clk_calc_new_rat
|
@@ -1935,6 +1951,7 @@ static struct clk_core *clk_calc_new_rat
|
||||||
unsigned long new_rate;
|
unsigned long new_rate;
|
||||||
unsigned long min_rate;
|
unsigned long min_rate;
|
||||||
unsigned long max_rate;
|
unsigned long max_rate;
|
||||||
@ -116,7 +116,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
int p_index = 0;
|
int p_index = 0;
|
||||||
long ret;
|
long ret;
|
||||||
|
|
||||||
@@ -1931,6 +1948,9 @@ static struct clk_core *clk_calc_new_rat
|
@@ -1949,6 +1966,9 @@ static struct clk_core *clk_calc_new_rat
|
||||||
|
|
||||||
clk_core_get_boundaries(core, &min_rate, &max_rate);
|
clk_core_get_boundaries(core, &min_rate, &max_rate);
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
/* find the closest rate and parent clk/rate */
|
/* find the closest rate and parent clk/rate */
|
||||||
if (clk_core_can_round(core)) {
|
if (clk_core_can_round(core)) {
|
||||||
struct clk_rate_request req;
|
struct clk_rate_request req;
|
||||||
@@ -2135,6 +2155,7 @@ static unsigned long clk_core_req_round_
|
@@ -2153,6 +2173,7 @@ static unsigned long clk_core_req_round_
|
||||||
{
|
{
|
||||||
int ret, cnt;
|
int ret, cnt;
|
||||||
struct clk_rate_request req;
|
struct clk_rate_request req;
|
||||||
@ -134,7 +134,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
lockdep_assert_held(&prepare_lock);
|
lockdep_assert_held(&prepare_lock);
|
||||||
|
|
||||||
@@ -2149,6 +2170,9 @@ static unsigned long clk_core_req_round_
|
@@ -2167,6 +2188,9 @@ static unsigned long clk_core_req_round_
|
||||||
clk_core_get_boundaries(core, &req.min_rate, &req.max_rate);
|
clk_core_get_boundaries(core, &req.min_rate, &req.max_rate);
|
||||||
req.rate = req_rate;
|
req.rate = req_rate;
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
ret = clk_core_round_rate_nolock(core, &req);
|
ret = clk_core_round_rate_nolock(core, &req);
|
||||||
|
|
||||||
/* restore the protection */
|
/* restore the protection */
|
||||||
@@ -2242,6 +2266,9 @@ int clk_set_rate(struct clk *clk, unsign
|
@@ -2260,6 +2284,9 @@ int clk_set_rate(struct clk *clk, unsign
|
||||||
|
|
||||||
ret = clk_core_set_rate_nolock(clk->core, rate);
|
ret = clk_core_set_rate_nolock(clk->core, rate);
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
if (clk->exclusive_count)
|
if (clk->exclusive_count)
|
||||||
clk_core_rate_protect(clk->core);
|
clk_core_rate_protect(clk->core);
|
||||||
|
|
||||||
@@ -2402,6 +2429,99 @@ int clk_set_max_rate(struct clk *clk, un
|
@@ -2426,6 +2453,99 @@ int clk_set_max_rate(struct clk *clk, un
|
||||||
EXPORT_SYMBOL_GPL(clk_set_max_rate);
|
EXPORT_SYMBOL_GPL(clk_set_max_rate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -254,7 +254,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
* clk_get_parent - return the parent of a clk
|
* clk_get_parent - return the parent of a clk
|
||||||
* @clk: the clk whose parent gets returned
|
* @clk: the clk whose parent gets returned
|
||||||
*
|
*
|
||||||
@@ -3838,6 +3958,7 @@ __clk_register(struct device *dev, struc
|
@@ -3875,6 +3995,7 @@ __clk_register(struct device *dev, struc
|
||||||
goto fail_parents;
|
goto fail_parents;
|
||||||
|
|
||||||
INIT_HLIST_HEAD(&core->clks);
|
INIT_HLIST_HEAD(&core->clks);
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/drivers/clk/clk.c
|
+++ b/drivers/clk/clk.c
|
||||||
@@ -2498,6 +2498,9 @@ void clk_request_done(struct clk_request
|
@@ -2522,6 +2522,9 @@ void clk_request_done(struct clk_request
|
||||||
{
|
{
|
||||||
struct clk_core *core = req->clk->core;
|
struct clk_core *core = req->clk->core;
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/drivers/clk/clk.c
|
+++ b/drivers/clk/clk.c
|
||||||
@@ -2496,10 +2496,11 @@ EXPORT_SYMBOL_GPL(clk_request_start);
|
@@ -2520,10 +2520,11 @@ EXPORT_SYMBOL_GPL(clk_request_start);
|
||||||
*/
|
*/
|
||||||
void clk_request_done(struct clk_request *req)
|
void clk_request_done(struct clk_request *req)
|
||||||
{
|
{
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|||||||
|
|
||||||
--- a/drivers/clk/clk.c
|
--- a/drivers/clk/clk.c
|
||||||
+++ b/drivers/clk/clk.c
|
+++ b/drivers/clk/clk.c
|
||||||
@@ -1316,6 +1316,8 @@ static int clk_core_determine_round_nolo
|
@@ -1334,6 +1334,8 @@ static int clk_core_determine_round_nolo
|
||||||
if (!core)
|
if (!core)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
|
|
||||||
--- a/kernel/cgroup/cgroup.c
|
--- a/kernel/cgroup/cgroup.c
|
||||||
+++ b/kernel/cgroup/cgroup.c
|
+++ b/kernel/cgroup/cgroup.c
|
||||||
@@ -5720,6 +5720,9 @@ int __init cgroup_init_early(void)
|
@@ -5735,6 +5735,9 @@ int __init cgroup_init_early(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
/**
|
/**
|
||||||
* cgroup_init - cgroup initialization
|
* cgroup_init - cgroup initialization
|
||||||
*
|
*
|
||||||
@@ -5758,6 +5761,12 @@ int __init cgroup_init(void)
|
@@ -5773,6 +5776,12 @@ int __init cgroup_init(void)
|
||||||
|
|
||||||
mutex_unlock(&cgroup_mutex);
|
mutex_unlock(&cgroup_mutex);
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
for_each_subsys(ss, ssid) {
|
for_each_subsys(ss, ssid) {
|
||||||
if (ss->early_init) {
|
if (ss->early_init) {
|
||||||
struct cgroup_subsys_state *css =
|
struct cgroup_subsys_state *css =
|
||||||
@@ -6296,6 +6305,10 @@ static int __init cgroup_disable(char *s
|
@@ -6311,6 +6320,10 @@ static int __init cgroup_disable(char *s
|
||||||
strcmp(token, ss->legacy_name))
|
strcmp(token, ss->legacy_name))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||||||
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
||||||
pr_info("Disabling %s control group subsystem\n",
|
pr_info("Disabling %s control group subsystem\n",
|
||||||
ss->name);
|
ss->name);
|
||||||
@@ -6305,6 +6318,31 @@ static int __init cgroup_disable(char *s
|
@@ -6320,6 +6333,31 @@ static int __init cgroup_disable(char *s
|
||||||
}
|
}
|
||||||
__setup("cgroup_disable=", cgroup_disable);
|
__setup("cgroup_disable=", cgroup_disable);
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
|||||||
}
|
}
|
||||||
--- a/drivers/gpio/gpiolib.c
|
--- a/drivers/gpio/gpiolib.c
|
||||||
+++ b/drivers/gpio/gpiolib.c
|
+++ b/drivers/gpio/gpiolib.c
|
||||||
@@ -1893,7 +1893,8 @@ int gpiochip_add_pingroup_range(struct g
|
@@ -1912,7 +1912,8 @@ int gpiochip_add_pingroup_range(struct g
|
||||||
|
|
||||||
list_add_tail(&pin_range->node, &gdev->pin_ranges);
|
list_add_tail(&pin_range->node, &gdev->pin_ranges);
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(gpiochip_add_pingroup_range);
|
EXPORT_SYMBOL_GPL(gpiochip_add_pingroup_range);
|
||||||
|
|
||||||
@@ -1950,7 +1951,7 @@ int gpiochip_add_pin_range(struct gpio_c
|
@@ -1969,7 +1970,7 @@ int gpiochip_add_pin_range(struct gpio_c
|
||||||
|
|
||||||
list_add_tail(&pin_range->node, &gdev->pin_ranges);
|
list_add_tail(&pin_range->node, &gdev->pin_ranges);
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/net/phy/sfp-bus.c
|
--- a/drivers/net/phy/sfp-bus.c
|
||||||
+++ b/drivers/net/phy/sfp-bus.c
|
+++ b/drivers/net/phy/sfp-bus.c
|
||||||
@@ -280,6 +280,12 @@ void sfp_parse_support(struct sfp_bus *b
|
@@ -286,6 +286,12 @@ void sfp_parse_support(struct sfp_bus *b
|
||||||
br_min <= 1300 && br_max >= 1200)
|
br_min <= 1300 && br_max >= 1200)
|
||||||
phylink_set(modes, 1000baseX_Full);
|
phylink_set(modes, 1000baseX_Full);
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
/* For active or passive cables, select the link modes
|
/* For active or passive cables, select the link modes
|
||||||
* based on the bit rates and the cable compliance bytes.
|
* based on the bit rates and the cable compliance bytes.
|
||||||
*/
|
*/
|
||||||
@@ -399,6 +405,9 @@ phy_interface_t sfp_select_interface(str
|
@@ -405,6 +411,9 @@ phy_interface_t sfp_select_interface(str
|
||||||
if (phylink_test(link_modes, 1000baseX_Full))
|
if (phylink_test(link_modes, 1000baseX_Full))
|
||||||
return PHY_INTERFACE_MODE_1000BASEX;
|
return PHY_INTERFACE_MODE_1000BASEX;
|
||||||
|
|
||||||
|
@ -1398,7 +1398,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
phy_mode = device_get_phy_mode(&pdev->dev);
|
phy_mode = device_get_phy_mode(&pdev->dev);
|
||||||
@@ -644,7 +644,7 @@ void stmmac_remove_config_dt(struct plat
|
@@ -643,7 +643,7 @@ void stmmac_remove_config_dt(struct plat
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
struct plat_stmmacenet_data *
|
struct plat_stmmacenet_data *
|
||||||
@ -1834,7 +1834,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
/*
|
/*
|
||||||
--- a/drivers/staging/wfx/main.c
|
--- a/drivers/staging/wfx/main.c
|
||||||
+++ b/drivers/staging/wfx/main.c
|
+++ b/drivers/staging/wfx/main.c
|
||||||
@@ -334,7 +334,6 @@ int wfx_probe(struct wfx_dev *wdev)
|
@@ -339,7 +339,6 @@ int wfx_probe(struct wfx_dev *wdev)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int err;
|
int err;
|
||||||
@ -1842,7 +1842,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
struct gpio_desc *gpio_saved;
|
struct gpio_desc *gpio_saved;
|
||||||
|
|
||||||
// During first part of boot, gpio_wakeup cannot yet been used. So
|
// During first part of boot, gpio_wakeup cannot yet been used. So
|
||||||
@@ -423,9 +422,9 @@ int wfx_probe(struct wfx_dev *wdev)
|
@@ -428,9 +427,9 @@ int wfx_probe(struct wfx_dev *wdev)
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(wdev->addresses); i++) {
|
for (i = 0; i < ARRAY_SIZE(wdev->addresses); i++) {
|
||||||
eth_zero_addr(wdev->addresses[i].addr);
|
eth_zero_addr(wdev->addresses[i].addr);
|
||||||
|
@ -48,7 +48,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
/* Enable summary interrupt for GIC SPI source */
|
/* Enable summary interrupt for GIC SPI source */
|
||||||
reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
|
reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
|
||||||
@@ -1401,7 +1403,7 @@ static void advk_pcie_handle_msi(struct
|
@@ -1397,7 +1399,7 @@ static void advk_pcie_handle_msi(struct
|
||||||
|
|
||||||
msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
|
msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
|
||||||
msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);
|
msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
--- a/drivers/pci/controller/pci-aardvark.c
|
--- a/drivers/pci/controller/pci-aardvark.c
|
||||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||||
@@ -1700,11 +1700,13 @@ static int advk_pcie_remove(struct platf
|
@@ -1696,11 +1696,13 @@ static int advk_pcie_remove(struct platf
|
||||||
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
|
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
--- a/drivers/pci/controller/pci-aardvark.c
|
--- a/drivers/pci/controller/pci-aardvark.c
|
||||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||||
@@ -1698,6 +1698,7 @@ static int advk_pcie_remove(struct platf
|
@@ -1694,6 +1694,7 @@ static int advk_pcie_remove(struct platf
|
||||||
{
|
{
|
||||||
struct advk_pcie *pcie = platform_get_drvdata(pdev);
|
struct advk_pcie *pcie = platform_get_drvdata(pdev);
|
||||||
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
|
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
|
||||||
@ -27,7 +27,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Remove PCI bus with all devices */
|
/* Remove PCI bus with all devices */
|
||||||
@@ -1706,6 +1707,11 @@ static int advk_pcie_remove(struct platf
|
@@ -1702,6 +1703,11 @@ static int advk_pcie_remove(struct platf
|
||||||
pci_remove_root_bus(bridge->bus);
|
pci_remove_root_bus(bridge->bus);
|
||||||
pci_unlock_rescan_remove();
|
pci_unlock_rescan_remove();
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
--- a/drivers/pci/controller/pci-aardvark.c
|
--- a/drivers/pci/controller/pci-aardvark.c
|
||||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||||
@@ -1712,6 +1712,27 @@ static int advk_pcie_remove(struct platf
|
@@ -1708,6 +1708,27 @@ static int advk_pcie_remove(struct platf
|
||||||
val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
|
val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
|
||||||
advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG);
|
advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG);
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
--- a/drivers/pci/controller/pci-aardvark.c
|
--- a/drivers/pci/controller/pci-aardvark.c
|
||||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||||
@@ -1737,6 +1737,9 @@ static int advk_pcie_remove(struct platf
|
@@ -1733,6 +1733,9 @@ static int advk_pcie_remove(struct platf
|
||||||
advk_pcie_remove_msi_irq_domain(pcie);
|
advk_pcie_remove_msi_irq_domain(pcie);
|
||||||
advk_pcie_remove_irq_domain(pcie);
|
advk_pcie_remove_irq_domain(pcie);
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
--- a/drivers/pci/controller/pci-aardvark.c
|
--- a/drivers/pci/controller/pci-aardvark.c
|
||||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||||
@@ -1740,6 +1740,10 @@ static int advk_pcie_remove(struct platf
|
@@ -1736,6 +1736,10 @@ static int advk_pcie_remove(struct platf
|
||||||
/* Free config space for emulated root bridge */
|
/* Free config space for emulated root bridge */
|
||||||
pci_bridge_emul_cleanup(&pcie->bridge);
|
pci_bridge_emul_cleanup(&pcie->bridge);
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
--- a/drivers/pci/controller/pci-aardvark.c
|
--- a/drivers/pci/controller/pci-aardvark.c
|
||||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||||
@@ -1744,6 +1744,11 @@ static int advk_pcie_remove(struct platf
|
@@ -1740,6 +1740,11 @@ static int advk_pcie_remove(struct platf
|
||||||
if (pcie->reset_gpio)
|
if (pcie->reset_gpio)
|
||||||
gpiod_set_value_cansleep(pcie->reset_gpio, 1);
|
gpiod_set_value_cansleep(pcie->reset_gpio, 1);
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|||||||
|
|
||||||
--- a/drivers/pci/controller/pci-aardvark.c
|
--- a/drivers/pci/controller/pci-aardvark.c
|
||||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||||
@@ -1753,6 +1753,9 @@ static int advk_pcie_remove(struct platf
|
@@ -1749,6 +1749,9 @@ static int advk_pcie_remove(struct platf
|
||||||
for (i = 0; i < OB_WIN_COUNT; i++)
|
for (i = 0; i < OB_WIN_COUNT; i++)
|
||||||
advk_pcie_disable_ob_win(pcie, i);
|
advk_pcie_disable_ob_win(pcie, i);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user