diff options
Diffstat (limited to 'drivers/bus')
-rw-r--r-- | drivers/bus/arm-cci.c | 3 | ||||
-rw-r--r-- | drivers/bus/brcmstb_gisb.c | 1 | ||||
-rw-r--r-- | drivers/bus/imx-weim.c | 1 | ||||
-rw-r--r-- | drivers/bus/mvebu-mbus.c | 13 | ||||
-rw-r--r-- | drivers/bus/omap-ocp2scp.c | 1 | ||||
-rw-r--r-- | drivers/bus/omap_l3_noc.c | 1 |
6 files changed, 16 insertions, 4 deletions
diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c index 860da40b78ef..0ce5e2d65a06 100644 --- a/drivers/bus/arm-cci.c +++ b/drivers/bus/arm-cci.c @@ -1312,6 +1312,9 @@ static int cci_probe(void) if (!np) return -ENODEV; + if (!of_device_is_available(np)) + return -ENODEV; + cci_config = of_match_node(arm_cci_matches, np)->data; if (!cci_config) return -ENODEV; diff --git a/drivers/bus/brcmstb_gisb.c b/drivers/bus/brcmstb_gisb.c index 46de8dc39eb4..738612c45266 100644 --- a/drivers/bus/brcmstb_gisb.c +++ b/drivers/bus/brcmstb_gisb.c @@ -389,7 +389,6 @@ static const struct dev_pm_ops brcmstb_gisb_arb_pm_ops = { static struct platform_driver brcmstb_gisb_arb_driver = { .driver = { .name = "brcm-gisb-arb", - .owner = THIS_MODULE, .of_match_table = brcmstb_gisb_arb_of_match, .pm = &brcmstb_gisb_arb_pm_ops, }, diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c index 75c9681f8021..0958b6981773 100644 --- a/drivers/bus/imx-weim.c +++ b/drivers/bus/imx-weim.c @@ -206,7 +206,6 @@ static int __init weim_probe(struct platform_device *pdev) static struct platform_driver weim_driver = { .driver = { .name = "imx-weim", - .owner = THIS_MODULE, .of_match_table = weim_id_table, }, }; diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c index eb7682dc123b..81bf297f1034 100644 --- a/drivers/bus/mvebu-mbus.c +++ b/drivers/bus/mvebu-mbus.c @@ -210,12 +210,25 @@ static void mvebu_mbus_disable_window(struct mvebu_mbus_state *mbus, } /* Checks whether the given window number is available */ + +/* On Armada XP, 375 and 38x the MBus window 13 has the remap + * capability, like windows 0 to 7. However, the mvebu-mbus driver + * isn't currently taking into account this special case, which means + * that when window 13 is actually used, the remap registers are left + * to 0, making the device using this MBus window unavailable. The + * quick fix for stable is to not use window 13. A follow up patch + * will correctly handle this window. +*/ static int mvebu_mbus_window_is_free(struct mvebu_mbus_state *mbus, const int win) { void __iomem *addr = mbus->mbuswins_base + mbus->soc->win_cfg_offset(win); u32 ctrl = readl(addr + WIN_CTRL_OFF); + + if (win == 13) + return false; + return !(ctrl & WIN_CTRL_ENABLE); } diff --git a/drivers/bus/omap-ocp2scp.c b/drivers/bus/omap-ocp2scp.c index 5511f9814ddd..723ec06ad2c8 100644 --- a/drivers/bus/omap-ocp2scp.c +++ b/drivers/bus/omap-ocp2scp.c @@ -77,7 +77,6 @@ static struct platform_driver omap_ocp2scp_driver = { .remove = omap_ocp2scp_remove, .driver = { .name = "omap-ocp2scp", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(omap_ocp2scp_id_table), }, }; diff --git a/drivers/bus/omap_l3_noc.c b/drivers/bus/omap_l3_noc.c index 17d86595951c..029bc73de001 100644 --- a/drivers/bus/omap_l3_noc.c +++ b/drivers/bus/omap_l3_noc.c @@ -358,7 +358,6 @@ static struct platform_driver omap_l3_driver = { .probe = omap_l3_probe, .driver = { .name = "omap_l3_noc", - .owner = THIS_MODULE, .pm = L3_DEV_PM_OPS, .of_match_table = of_match_ptr(l3_noc_match), }, |