Le 24/08/2016 à 18:33, Florian Fainelli a écrit : > In order to alloc drivers to override specific dsa_switch_driver > callbacks, initialize ds->drv to b53_switch_ops earlier, which avoids > having to expose this structure to glue drivers. > > Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
This will need some refactoring after Vivien's "net: dsa: rename switch operations structure" patch. > --- > drivers/net/dsa/b53/b53_common.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/dsa/b53/b53_common.c > b/drivers/net/dsa/b53/b53_common.c > index 65ecb51f99e5..30377ceb1928 100644 > --- a/drivers/net/dsa/b53/b53_common.c > +++ b/drivers/net/dsa/b53/b53_common.c > @@ -1602,7 +1602,6 @@ static const struct b53_chip_data b53_switch_chips[] = { > > static int b53_switch_init(struct b53_device *dev) > { > - struct dsa_switch *ds = dev->ds; > unsigned int i; > int ret; > > @@ -1618,7 +1617,6 @@ static int b53_switch_init(struct b53_device *dev) > dev->vta_regs[1] = chip->vta_regs[1]; > dev->vta_regs[2] = chip->vta_regs[2]; > dev->jumbo_pm_reg = chip->jumbo_pm_reg; > - ds->drv = &b53_switch_ops; > dev->cpu_port = chip->cpu_port; > dev->num_vlans = chip->vlans; > dev->num_arl_entries = chip->arl_entries; > @@ -1706,6 +1704,7 @@ struct b53_device *b53_switch_alloc(struct device *base, > dev->ds = ds; > dev->priv = priv; > dev->ops = ops; > + ds->drv = &b53_switch_ops; > mutex_init(&dev->reg_mutex); > mutex_init(&dev->stats_mutex); > > -- Florian