Lines Matching full:slave
146 if (!rt5682->slave) in rt5682_sdw_hw_params()
167 retval = sdw_stream_add_slave(rt5682->slave, &stream_config, in rt5682_sdw_hw_params()
265 if (!rt5682->slave) in rt5682_sdw_hw_free()
268 sdw_stream_remove_slave(rt5682->slave, stream->sdw_stream); in rt5682_sdw_hw_free()
333 struct sdw_slave *slave) in rt5682_sdw_init() argument
343 rt5682->slave = slave; in rt5682_sdw_init()
370 dev_dbg(&slave->dev, "%s\n", __func__); in rt5682_sdw_init()
375 static int rt5682_io_init(struct device *dev, struct sdw_slave *slave) in rt5682_io_init() argument
391 * PM runtime is only enabled when a Slave reports as Attached in rt5682_io_init()
395 pm_runtime_set_autosuspend_delay(&slave->dev, 3000); in rt5682_io_init()
396 pm_runtime_use_autosuspend(&slave->dev); in rt5682_io_init()
399 pm_runtime_set_active(&slave->dev); in rt5682_io_init()
402 pm_runtime_mark_last_busy(&slave->dev); in rt5682_io_init()
404 pm_runtime_enable(&slave->dev); in rt5682_io_init()
407 pm_runtime_get_noresume(&slave->dev); in rt5682_io_init()
477 /* Mark Slave initialization complete */ in rt5682_io_init()
481 pm_runtime_mark_last_busy(&slave->dev); in rt5682_io_init()
482 pm_runtime_put_autosuspend(&slave->dev); in rt5682_io_init()
484 dev_dbg(&slave->dev, "%s hw_init complete\n", __func__); in rt5682_io_init()
516 static int rt5682_update_status(struct sdw_slave *slave, in rt5682_update_status() argument
519 struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev); in rt5682_update_status()
528 * Perform initialization only if slave status is present and in rt5682_update_status()
534 /* perform I/O transfers required for Slave initialization */ in rt5682_update_status()
535 return rt5682_io_init(&slave->dev, slave); in rt5682_update_status()
538 static int rt5682_read_prop(struct sdw_slave *slave) in rt5682_read_prop() argument
540 struct sdw_slave_prop *prop = &slave->prop; in rt5682_read_prop()
557 prop->src_dpn_prop = devm_kcalloc(&slave->dev, nval, in rt5682_read_prop()
576 prop->sink_dpn_prop = devm_kcalloc(&slave->dev, nval, in rt5682_read_prop()
648 static int rt5682_bus_config(struct sdw_slave *slave, in rt5682_bus_config() argument
651 struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev); in rt5682_bus_config()
656 ret = rt5682_clock_config(&slave->dev); in rt5682_bus_config()
658 dev_err(&slave->dev, "Invalid clk config"); in rt5682_bus_config()
663 static int rt5682_interrupt_callback(struct sdw_slave *slave, in rt5682_interrupt_callback() argument
666 struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev); in rt5682_interrupt_callback()
668 dev_dbg(&slave->dev, in rt5682_interrupt_callback()
686 static int rt5682_sdw_probe(struct sdw_slave *slave, in rt5682_sdw_probe() argument
692 regmap = devm_regmap_init_sdw(slave, &rt5682_sdw_regmap); in rt5682_sdw_probe()
696 rt5682_sdw_init(&slave->dev, regmap, slave); in rt5682_sdw_probe()
701 static int rt5682_sdw_remove(struct sdw_slave *slave) in rt5682_sdw_remove() argument
703 struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev); in rt5682_sdw_remove()
732 struct sdw_slave *slave = dev_to_sdw_dev(dev); in rt5682_dev_resume() local
739 if (!slave->unattach_request) in rt5682_dev_resume()
742 time = wait_for_completion_timeout(&slave->initialization_complete, in rt5682_dev_resume()
745 dev_err(&slave->dev, "Initialization not complete, timed out\n"); in rt5682_dev_resume()
750 slave->unattach_request = 0; in rt5682_dev_resume()