• Home
  • Raw
  • Download

Lines Matching refs:ds

73 	struct dsa_switch *ds;  in dsa_switch_setup()  local
94 ds = kzalloc(sizeof(*ds) + drv->priv_size, GFP_KERNEL); in dsa_switch_setup()
95 if (ds == NULL) in dsa_switch_setup()
98 ds->pd = pd; in dsa_switch_setup()
99 ds->master_netdev = dev; in dsa_switch_setup()
100 ds->master_mii_bus = bus; in dsa_switch_setup()
102 ds->drv = drv; in dsa_switch_setup()
103 ds->tag_protocol = drv->tag_protocol; in dsa_switch_setup()
109 ds->cpu_port = -1; in dsa_switch_setup()
118 if (ds->cpu_port != -1) { in dsa_switch_setup()
123 ds->cpu_port = i; in dsa_switch_setup()
125 ds->valid_port_mask |= 1 << i; in dsa_switch_setup()
129 if (ds->cpu_port == -1) { in dsa_switch_setup()
143 dev->dsa_ptr = (void *)ds; in dsa_switch_setup()
149 ret = drv->setup(ds); in dsa_switch_setup()
153 ret = drv->set_addr(ds, dev->dev_addr); in dsa_switch_setup()
157 ds->slave_mii_bus = mdiobus_alloc(); in dsa_switch_setup()
158 if (ds->slave_mii_bus == NULL) { in dsa_switch_setup()
162 dsa_slave_mii_bus_init(ds); in dsa_switch_setup()
164 ret = mdiobus_register(ds->slave_mii_bus); in dsa_switch_setup()
176 if (!(ds->valid_port_mask & (1 << i))) in dsa_switch_setup()
179 slave_dev = dsa_slave_create(ds, parent, i, pd->port_names[i]); in dsa_switch_setup()
187 ds->ports[i] = slave_dev; in dsa_switch_setup()
190 return ds; in dsa_switch_setup()
193 mdiobus_free(ds->slave_mii_bus); in dsa_switch_setup()
196 kfree(ds); in dsa_switch_setup()
200 static void dsa_switch_destroy(struct dsa_switch *ds) in dsa_switch_destroy() argument
215 struct dsa_switch *ds = dsa_ptr; in dsa_uses_dsa_tags() local
217 return !!(ds->tag_protocol == htons(ETH_P_DSA)); in dsa_uses_dsa_tags()
222 struct dsa_switch *ds = dsa_ptr; in dsa_uses_trailer_tags() local
224 return !!(ds->tag_protocol == htons(ETH_P_TRAILER)); in dsa_uses_trailer_tags()
231 struct dsa_switch *ds; in dsa_link_poll_work() local
233 ds = container_of(ugly, struct dsa_switch, link_poll_work); in dsa_link_poll_work()
235 ds->drv->poll_link(ds); in dsa_link_poll_work()
236 mod_timer(&ds->link_poll_timer, round_jiffies(jiffies + HZ)); in dsa_link_poll_work()
241 struct dsa_switch *ds = (void *)_ds; in dsa_link_poll_timer() local
243 schedule_work(&ds->link_poll_work); in dsa_link_poll_timer()
307 struct dsa_switch *ds; in dsa_probe() local
329 ds = dsa_switch_setup(&pdev->dev, pd, bus, dev); in dsa_probe()
330 if (IS_ERR(ds)) { in dsa_probe()
332 return PTR_ERR(ds); in dsa_probe()
335 if (ds->drv->poll_link != NULL) { in dsa_probe()
336 INIT_WORK(&ds->link_poll_work, dsa_link_poll_work); in dsa_probe()
337 init_timer(&ds->link_poll_timer); in dsa_probe()
338 ds->link_poll_timer.data = (unsigned long)ds; in dsa_probe()
339 ds->link_poll_timer.function = dsa_link_poll_timer; in dsa_probe()
340 ds->link_poll_timer.expires = round_jiffies(jiffies + HZ); in dsa_probe()
341 add_timer(&ds->link_poll_timer); in dsa_probe()
344 platform_set_drvdata(pdev, ds); in dsa_probe()
351 struct dsa_switch *ds = platform_get_drvdata(pdev); in dsa_remove() local
353 if (ds->drv->poll_link != NULL) in dsa_remove()
354 del_timer_sync(&ds->link_poll_timer); in dsa_remove()
358 dsa_switch_destroy(ds); in dsa_remove()