Lines Matching refs:ds

87 	struct dsa_switch *ds = dev_get_drvdata(dev);  in temp1_input_show()  local
90 ret = ds->drv->get_temp(ds, &temp); in temp1_input_show()
101 struct dsa_switch *ds = dev_get_drvdata(dev); in temp1_max_show() local
104 ret = ds->drv->get_temp_limit(ds, &temp); in temp1_max_show()
115 struct dsa_switch *ds = dev_get_drvdata(dev); in temp1_max_store() local
122 ret = ds->drv->set_temp_limit(ds, DIV_ROUND_CLOSEST(temp, 1000)); in temp1_max_store()
133 struct dsa_switch *ds = dev_get_drvdata(dev); in temp1_max_alarm_show() local
137 ret = ds->drv->get_temp_alarm(ds, &alarm); in temp1_max_alarm_show()
156 struct dsa_switch *ds = dev_get_drvdata(dev); in dsa_hwmon_attrs_visible() local
157 struct dsa_switch_driver *drv = ds->drv; in dsa_hwmon_attrs_visible()
180 static int dsa_cpu_dsa_setup(struct dsa_switch *ds, struct net_device *master) in dsa_cpu_dsa_setup() argument
182 struct dsa_chip_data *cd = ds->pd; in dsa_cpu_dsa_setup()
188 if (!(dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port))) in dsa_cpu_dsa_setup()
208 if (ds->drv->adjust_link) in dsa_cpu_dsa_setup()
209 ds->drv->adjust_link(ds, port, phydev); in dsa_cpu_dsa_setup()
215 static int dsa_switch_setup_one(struct dsa_switch *ds, struct device *parent) in dsa_switch_setup_one() argument
217 struct dsa_switch_driver *drv = ds->drv; in dsa_switch_setup_one()
218 struct dsa_switch_tree *dst = ds->dst; in dsa_switch_setup_one()
219 struct dsa_chip_data *pd = ds->pd; in dsa_switch_setup_one()
221 int index = ds->index; in dsa_switch_setup_one()
244 ds->dsa_port_mask |= 1 << i; in dsa_switch_setup_one()
246 ds->phys_port_mask |= 1 << i; in dsa_switch_setup_one()
259 ds->phys_mii_mask = ds->phys_port_mask; in dsa_switch_setup_one()
267 switch (ds->tag_protocol) { in dsa_switch_setup_one()
295 dst->tag_protocol = ds->tag_protocol; in dsa_switch_setup_one()
301 ret = drv->setup(ds); in dsa_switch_setup_one()
305 ret = drv->set_addr(ds, dst->master_netdev->dev_addr); in dsa_switch_setup_one()
309 ds->slave_mii_bus = devm_mdiobus_alloc(parent); in dsa_switch_setup_one()
310 if (ds->slave_mii_bus == NULL) { in dsa_switch_setup_one()
314 dsa_slave_mii_bus_init(ds); in dsa_switch_setup_one()
316 ret = mdiobus_register(ds->slave_mii_bus); in dsa_switch_setup_one()
325 if (!(ds->phys_port_mask & (1 << i))) in dsa_switch_setup_one()
328 ret = dsa_slave_create(ds, parent, i, pd->port_names[i]); in dsa_switch_setup_one()
337 ret = dsa_cpu_dsa_setup(ds, dst->master_netdev); in dsa_switch_setup_one()
360 scnprintf(ds->hwmon_name, sizeof(ds->hwmon_name), "%s_dsa%d", in dsa_switch_setup_one()
362 ds->hwmon_dev = hwmon_device_register_with_groups(NULL, in dsa_switch_setup_one()
363 ds->hwmon_name, ds, dsa_hwmon_groups); in dsa_switch_setup_one()
364 if (IS_ERR(ds->hwmon_dev)) in dsa_switch_setup_one()
365 ds->hwmon_dev = NULL; in dsa_switch_setup_one()
381 struct dsa_switch *ds; in dsa_switch_setup() local
401 ds = devm_kzalloc(parent, sizeof(*ds) + drv->priv_size, GFP_KERNEL); in dsa_switch_setup()
402 if (ds == NULL) in dsa_switch_setup()
405 ds->dst = dst; in dsa_switch_setup()
406 ds->index = index; in dsa_switch_setup()
407 ds->pd = pd; in dsa_switch_setup()
408 ds->drv = drv; in dsa_switch_setup()
409 ds->tag_protocol = drv->tag_protocol; in dsa_switch_setup()
410 ds->master_dev = host_dev; in dsa_switch_setup()
412 ret = dsa_switch_setup_one(ds, parent); in dsa_switch_setup()
416 return ds; in dsa_switch_setup()
419 static void dsa_switch_destroy(struct dsa_switch *ds) in dsa_switch_destroy() argument
423 struct dsa_chip_data *cd = ds->pd; in dsa_switch_destroy()
427 if (ds->hwmon_dev) in dsa_switch_destroy()
428 hwmon_device_unregister(ds->hwmon_dev); in dsa_switch_destroy()
433 if (!(dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port))) in dsa_switch_destroy()
451 if (!(ds->phys_port_mask & (1 << port))) in dsa_switch_destroy()
454 if (!ds->ports[port]) in dsa_switch_destroy()
457 unregister_netdev(ds->ports[port]); in dsa_switch_destroy()
458 free_netdev(ds->ports[port]); in dsa_switch_destroy()
461 mdiobus_unregister(ds->slave_mii_bus); in dsa_switch_destroy()
465 static int dsa_switch_suspend(struct dsa_switch *ds) in dsa_switch_suspend() argument
471 if (!dsa_is_port_initialized(ds, i)) in dsa_switch_suspend()
474 ret = dsa_slave_suspend(ds->ports[i]); in dsa_switch_suspend()
479 if (ds->drv->suspend) in dsa_switch_suspend()
480 ret = ds->drv->suspend(ds); in dsa_switch_suspend()
485 static int dsa_switch_resume(struct dsa_switch *ds) in dsa_switch_resume() argument
489 if (ds->drv->resume) in dsa_switch_resume()
490 ret = ds->drv->resume(ds); in dsa_switch_resume()
497 if (!dsa_is_port_initialized(ds, i)) in dsa_switch_resume()
500 ret = dsa_slave_resume(ds->ports[i]); in dsa_switch_resume()
519 struct dsa_switch *ds = dst->ds[i]; in dsa_link_poll_work() local
521 if (ds != NULL && ds->drv->poll_link != NULL) in dsa_link_poll_work()
522 ds->drv->poll_link(ds); in dsa_link_poll_work()
852 struct dsa_switch *ds; in dsa_setup_dst() local
854 ds = dsa_switch_setup(dst, i, parent, pd->chip[i].host_dev); in dsa_setup_dst()
855 if (IS_ERR(ds)) { in dsa_setup_dst()
857 i, PTR_ERR(ds)); in dsa_setup_dst()
861 dst->ds[i] = ds; in dsa_setup_dst()
862 if (ds->drv->poll_link != NULL) in dsa_setup_dst()
963 struct dsa_switch *ds = dst->ds[i]; in dsa_remove_dst() local
965 if (ds) in dsa_remove_dst()
966 dsa_switch_destroy(ds); in dsa_remove_dst()
1014 struct dsa_switch *ds = dst->ds[i]; in dsa_suspend() local
1016 if (ds != NULL) in dsa_suspend()
1017 ret = dsa_switch_suspend(ds); in dsa_suspend()
1030 struct dsa_switch *ds = dst->ds[i]; in dsa_resume() local
1032 if (ds != NULL) in dsa_resume()
1033 ret = dsa_switch_resume(ds); in dsa_resume()