diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2021-12-17 11:33:33 +0100 | 
|---|---|---|
| committer | Thomas Zimmermann <tzimmermann@suse.de> | 2021-12-17 11:33:33 +0100 | 
| commit | 1758047057dbe329be712a31b79db7151b5871f8 (patch) | |
| tree | 00203eb55328f2feda70b3d37c964287b364796f /net/dsa/dsa.c | |
| parent | bcae3af286f49bf4f6cda03f165fbe530f4a6bed (diff) | |
| parent | 1c405ca11bf563de1725e5ecfb4a74ee289d2ee9 (diff) | |
Merge drm/drm-next into drm-misc-next-fixes
Backmerging to bring drm-misc-next-fixes up to the latest state for
the current release cycle.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Diffstat (limited to 'net/dsa/dsa.c')
| -rw-r--r-- | net/dsa/dsa.c | 27 | 
1 files changed, 16 insertions, 11 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 1dc45e40f961..ea5169e671ae 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -280,23 +280,22 @@ static int dsa_switch_rcv(struct sk_buff *skb, struct net_device *dev,  }  #ifdef CONFIG_PM_SLEEP -static bool dsa_is_port_initialized(struct dsa_switch *ds, int p) +static bool dsa_port_is_initialized(const struct dsa_port *dp)  { -	const struct dsa_port *dp = dsa_to_port(ds, p); -  	return dp->type == DSA_PORT_TYPE_USER && dp->slave;  }  int dsa_switch_suspend(struct dsa_switch *ds)  { -	int i, ret = 0; +	struct dsa_port *dp; +	int ret = 0;  	/* Suspend slave network devices */ -	for (i = 0; i < ds->num_ports; i++) { -		if (!dsa_is_port_initialized(ds, i)) +	dsa_switch_for_each_port(dp, ds) { +		if (!dsa_port_is_initialized(dp))  			continue; -		ret = dsa_slave_suspend(dsa_to_port(ds, i)->slave); +		ret = dsa_slave_suspend(dp->slave);  		if (ret)  			return ret;  	} @@ -310,7 +309,8 @@ EXPORT_SYMBOL_GPL(dsa_switch_suspend);  int dsa_switch_resume(struct dsa_switch *ds)  { -	int i, ret = 0; +	struct dsa_port *dp; +	int ret = 0;  	if (ds->ops->resume)  		ret = ds->ops->resume(ds); @@ -319,11 +319,11 @@ int dsa_switch_resume(struct dsa_switch *ds)  		return ret;  	/* Resume slave network devices */ -	for (i = 0; i < ds->num_ports; i++) { -		if (!dsa_is_port_initialized(ds, i)) +	dsa_switch_for_each_port(dp, ds) { +		if (!dsa_port_is_initialized(dp))  			continue; -		ret = dsa_slave_resume(dsa_to_port(ds, i)->slave); +		ret = dsa_slave_resume(dp->slave);  		if (ret)  			return ret;  	} @@ -345,6 +345,11 @@ bool dsa_schedule_work(struct work_struct *work)  	return queue_work(dsa_owq, work);  } +void dsa_flush_workqueue(void) +{ +	flush_workqueue(dsa_owq); +} +  int dsa_devlink_param_get(struct devlink *dl, u32 id,  			  struct devlink_param_gset_ctx *ctx)  {  | 
