• Home
  • Raw
  • Download

Lines Matching refs:pd

81 	struct dsa_chip_data *pd = dst->pd->chip + index;  in dsa_switch_setup()  local
92 drv = dsa_switch_probe(bus, pd->sw_addr, &name); in dsa_switch_setup()
111 ds->pd = dst->pd->chip + index; in dsa_switch_setup()
122 name = pd->port_names[i]; in dsa_switch_setup()
188 slave_dev = dsa_slave_create(ds, parent, i, pd->port_names[i]); in dsa_switch_setup()
193 index, i, pd->port_names[i]); in dsa_switch_setup()
222 for (i = 0; i < dst->pd->nr_chips; i++) { in dsa_link_poll_work()
295 static int dsa_of_setup_routing_table(struct dsa_platform_data *pd, in dsa_of_setup_routing_table() argument
317 if (link_sw_addr >= pd->nr_chips) in dsa_of_setup_routing_table()
322 cd->rtable = kmalloc(pd->nr_chips * sizeof(s8), GFP_KERNEL); in dsa_of_setup_routing_table()
327 memset(cd->rtable, -1, pd->nr_chips * sizeof(s8)); in dsa_of_setup_routing_table()
346 static void dsa_of_free_platform_data(struct dsa_platform_data *pd) in dsa_of_free_platform_data() argument
351 for (i = 0; i < pd->nr_chips; i++) { in dsa_of_free_platform_data()
354 if (pd->chip[i].port_names[port_index]) in dsa_of_free_platform_data()
355 kfree(pd->chip[i].port_names[port_index]); in dsa_of_free_platform_data()
358 kfree(pd->chip[i].rtable); in dsa_of_free_platform_data()
360 kfree(pd->chip); in dsa_of_free_platform_data()
369 struct dsa_platform_data *pd; in dsa_of_probe() local
392 pd = kzalloc(sizeof(*pd), GFP_KERNEL); in dsa_of_probe()
393 if (!pd) in dsa_of_probe()
396 pdev->dev.platform_data = pd; in dsa_of_probe()
397 pd->netdev = &ethernet_dev->dev; in dsa_of_probe()
398 pd->nr_chips = of_get_child_count(np); in dsa_of_probe()
399 if (pd->nr_chips > DSA_MAX_SWITCHES) in dsa_of_probe()
400 pd->nr_chips = DSA_MAX_SWITCHES; in dsa_of_probe()
402 pd->chip = kzalloc(pd->nr_chips * sizeof(struct dsa_chip_data), in dsa_of_probe()
404 if (!pd->chip) { in dsa_of_probe()
411 cd = &pd->chip[chip_index]; in dsa_of_probe()
444 pd->nr_chips > 1) { in dsa_of_probe()
445 ret = dsa_of_setup_routing_table(pd, cd, in dsa_of_probe()
459 dsa_of_free_platform_data(pd); in dsa_of_probe()
461 kfree(pd); in dsa_of_probe()
468 struct dsa_platform_data *pd = pdev->dev.platform_data; in dsa_of_remove() local
473 dsa_of_free_platform_data(pd); in dsa_of_remove()
474 kfree(pd); in dsa_of_remove()
490 struct dsa_platform_data *pd = pdev->dev.platform_data; in dsa_probe() local
504 pd = pdev->dev.platform_data; in dsa_probe()
507 if (pd == NULL || pd->netdev == NULL) in dsa_probe()
510 dev = dev_to_net_device(pd->netdev); in dsa_probe()
531 dst->pd = pd; in dsa_probe()
536 for (i = 0; i < pd->nr_chips; i++) { in dsa_probe()
540 bus = dev_to_mii_bus(pd->chip[i].mii_bus); in dsa_probe()
595 for (i = 0; i < dst->pd->nr_chips; i++) { in dsa_remove()