* [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups
@ 2015-01-21 0:41 Florian Fainelli
2015-01-21 0:41 ` [PATCH net-next 1/2] net: phy: fixed: allow setting no update_link callback Florian Fainelli
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Florian Fainelli @ 2015-01-21 0:41 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
Hi David,
These two patches were already present as part of my attempt to make
DSA modules work properly, these are the only two "valid" patches at
this point which should not need any further rework.
Thanks!
Florian Fainelli (2):
net: phy: fixed: allow setting no update_link callback
net: dsa: bcm_sf2: factor interrupt disabling in a function
drivers/net/dsa/bcm_sf2.c | 24 ++++++++++++------------
drivers/net/phy/fixed_phy.c | 2 +-
2 files changed, 13 insertions(+), 13 deletions(-)
--
2.1.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next 1/2] net: phy: fixed: allow setting no update_link callback
2015-01-21 0:41 [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups Florian Fainelli
@ 2015-01-21 0:41 ` Florian Fainelli
2015-01-21 0:42 ` [PATCH net-next 2/2] net: dsa: bcm_sf2: factor interrupt disabling in a function Florian Fainelli
2015-01-26 0:03 ` [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Florian Fainelli @ 2015-01-21 0:41 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
fixed_phy_set_link_update() contains an early check against a NULL
callback pointer, which basically prevents us from removing any
previous callback we may have set. The users of the fp->link_update
callback deal with a NULL callback just fine, so we really want to allow
"removing" a link_update callback to avoid dangling callback pointers
during e.g: module removal.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/phy/fixed_phy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/phy/fixed_phy.c b/drivers/net/phy/fixed_phy.c
index 3ad0e6e16c39..a08a3c78ba97 100644
--- a/drivers/net/phy/fixed_phy.c
+++ b/drivers/net/phy/fixed_phy.c
@@ -168,7 +168,7 @@ int fixed_phy_set_link_update(struct phy_device *phydev,
struct fixed_mdio_bus *fmb = &platform_fmb;
struct fixed_phy *fp;
- if (!link_update || !phydev || !phydev->bus)
+ if (!phydev || !phydev->bus)
return -EINVAL;
list_for_each_entry(fp, &fmb->phys, node) {
--
2.1.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net-next 2/2] net: dsa: bcm_sf2: factor interrupt disabling in a function
2015-01-21 0:41 [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups Florian Fainelli
2015-01-21 0:41 ` [PATCH net-next 1/2] net: phy: fixed: allow setting no update_link callback Florian Fainelli
@ 2015-01-21 0:42 ` Florian Fainelli
2015-01-26 0:03 ` [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Florian Fainelli @ 2015-01-21 0:42 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
Factor the interrupt disabling in a function: bcm_sf2_intr_disable()
since we are doing the same thing in the setup and suspend paths.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/dsa/bcm_sf2.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c
index feb29c4526f7..09f6b3cc1f66 100644
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -400,6 +400,16 @@ static int bcm_sf2_sw_rst(struct bcm_sf2_priv *priv)
return 0;
}
+static void bcm_sf2_intr_disable(struct bcm_sf2_priv *priv)
+{
+ intrl2_0_writel(priv, 0xffffffff, INTRL2_CPU_MASK_SET);
+ intrl2_0_writel(priv, 0xffffffff, INTRL2_CPU_CLEAR);
+ intrl2_0_writel(priv, 0, INTRL2_CPU_MASK_CLEAR);
+ intrl2_1_writel(priv, 0xffffffff, INTRL2_CPU_MASK_SET);
+ intrl2_1_writel(priv, 0xffffffff, INTRL2_CPU_CLEAR);
+ intrl2_1_writel(priv, 0, INTRL2_CPU_MASK_CLEAR);
+}
+
static int bcm_sf2_sw_setup(struct dsa_switch *ds)
{
const char *reg_names[BCM_SF2_REGS_NUM] = BCM_SF2_REGS_NAME;
@@ -440,12 +450,7 @@ static int bcm_sf2_sw_setup(struct dsa_switch *ds)
}
/* Disable all interrupts and request them */
- intrl2_0_writel(priv, 0xffffffff, INTRL2_CPU_MASK_SET);
- intrl2_0_writel(priv, 0xffffffff, INTRL2_CPU_CLEAR);
- intrl2_0_writel(priv, 0, INTRL2_CPU_MASK_CLEAR);
- intrl2_1_writel(priv, 0xffffffff, INTRL2_CPU_MASK_SET);
- intrl2_1_writel(priv, 0xffffffff, INTRL2_CPU_CLEAR);
- intrl2_1_writel(priv, 0, INTRL2_CPU_MASK_CLEAR);
+ bcm_sf2_intr_disable(priv);
ret = request_irq(priv->irq0, bcm_sf2_switch_0_isr, 0,
"switch_0", priv);
@@ -747,12 +752,7 @@ static int bcm_sf2_sw_suspend(struct dsa_switch *ds)
struct bcm_sf2_priv *priv = ds_to_priv(ds);
unsigned int port;
- intrl2_0_writel(priv, 0xffffffff, INTRL2_CPU_MASK_SET);
- intrl2_0_writel(priv, 0xffffffff, INTRL2_CPU_CLEAR);
- intrl2_0_writel(priv, 0, INTRL2_CPU_MASK_CLEAR);
- intrl2_1_writel(priv, 0xffffffff, INTRL2_CPU_MASK_SET);
- intrl2_1_writel(priv, 0xffffffff, INTRL2_CPU_CLEAR);
- intrl2_1_writel(priv, 0, INTRL2_CPU_MASK_CLEAR);
+ bcm_sf2_intr_disable(priv);
/* Disable all ports physically present including the IMP
* port, the other ones have already been disabled during
--
2.1.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups
2015-01-21 0:41 [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups Florian Fainelli
2015-01-21 0:41 ` [PATCH net-next 1/2] net: phy: fixed: allow setting no update_link callback Florian Fainelli
2015-01-21 0:42 ` [PATCH net-next 2/2] net: dsa: bcm_sf2: factor interrupt disabling in a function Florian Fainelli
@ 2015-01-26 0:03 ` David Miller
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2015-01-26 0:03 UTC (permalink / raw)
To: f.fainelli; +Cc: netdev
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Tue, 20 Jan 2015 16:41:58 -0800
> These two patches were already present as part of my attempt to make
> DSA modules work properly, these are the only two "valid" patches at
> this point which should not need any further rework.
Series applied, thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-01-26 0:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-21 0:41 [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups Florian Fainelli
2015-01-21 0:41 ` [PATCH net-next 1/2] net: phy: fixed: allow setting no update_link callback Florian Fainelli
2015-01-21 0:42 ` [PATCH net-next 2/2] net: dsa: bcm_sf2: factor interrupt disabling in a function Florian Fainelli
2015-01-26 0:03 ` [PATCH net-next 0/2] net: phy and dsa random fixes/cleanups David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).