dsa: Add stub tag driver put method
When a DSA switch driver is unloaded, the lock on the tag driver should be released so the module can be unloaded. Add the needed calls, but leave the actual release code as a stub. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> v2 Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c39e2a1d71
commit
4dad81ee14
@ -137,6 +137,10 @@ const struct dsa_device_ops *dsa_tag_driver_get(int tag_protocol)
|
||||
return ops;
|
||||
}
|
||||
|
||||
void dsa_tag_driver_put(const struct dsa_device_ops *ops)
|
||||
{
|
||||
}
|
||||
|
||||
static int dev_is_class(struct device *dev, void *class)
|
||||
{
|
||||
if (dev->class != NULL && !strcmp(dev->class->name, class))
|
||||
|
@ -335,6 +335,8 @@ static void dsa_port_teardown(struct dsa_port *dp)
|
||||
case DSA_PORT_TYPE_UNUSED:
|
||||
break;
|
||||
case DSA_PORT_TYPE_CPU:
|
||||
dsa_tag_driver_put(dp->tag_ops);
|
||||
/* fall-through */
|
||||
case DSA_PORT_TYPE_DSA:
|
||||
dsa_port_link_unregister_of(dp);
|
||||
break;
|
||||
|
@ -85,6 +85,7 @@ struct dsa_slave_priv {
|
||||
|
||||
/* dsa.c */
|
||||
const struct dsa_device_ops *dsa_tag_driver_get(int tag_protocol);
|
||||
void dsa_tag_driver_put(const struct dsa_device_ops *ops);
|
||||
|
||||
bool dsa_schedule_work(struct work_struct *work);
|
||||
const char *dsa_tag_protocol_to_str(const struct dsa_device_ops *ops);
|
||||
|
@ -163,6 +163,8 @@ static int dsa_switch_setup_one(struct dsa_switch *ds,
|
||||
dst->cpu_dp->dst = dst;
|
||||
}
|
||||
|
||||
dsa_tag_driver_put(dst->cpu_dp->tag_ops);
|
||||
|
||||
memcpy(ds->rtable, cd->rtable, sizeof(ds->rtable));
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user