Lines Matching refs:slave

15  * @slave: SoundWire Slave Device
22 sdw_get_device_id(struct sdw_slave *slave, struct sdw_driver *drv)
27 if (slave->id.mfg_id == id->mfg_id &&
28 slave->id.part_id == id->part_id &&
30 slave->id.sdw_version == id->sdw_version) &&
32 slave->id.class_id == id->class_id))
40 struct sdw_slave *slave;
45 slave = dev_to_sdw_dev(dev);
48 ret = !!sdw_get_device_id(slave, drv);
53 int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size)
58 slave->id.mfg_id, slave->id.part_id,
59 slave->id.sdw_version, slave->id.class_id);
64 const struct sdw_slave *slave = dev_to_sdw_dev(dev);
67 sdw_slave_modalias(slave, modalias, sizeof(modalias));
83 struct sdw_slave *slave = dev_to_sdw_dev(dev);
98 id = sdw_get_device_id(slave, drv);
109 ret = drv->probe(slave, id);
120 mutex_lock(&slave->sdw_dev_lock);
124 drv->ops->read_prop(slave);
126 if (slave->prop.use_domain_irq)
127 sdw_irq_create_mapping(slave);
130 ret = sdw_slave_sysfs_init(slave);
140 if (slave->prop.clk_stop_timeout == 0)
141 slave->prop.clk_stop_timeout = 300;
143 slave->bus->clk_stop_timeout = max_t(u32, slave->bus->clk_stop_timeout,
144 slave->prop.clk_stop_timeout);
146 slave->probed = true;
154 ret = drv->ops->update_status(slave, slave->status);
159 mutex_unlock(&slave->sdw_dev_lock);
168 struct sdw_slave *slave = dev_to_sdw_dev(dev);
172 mutex_lock(&slave->sdw_dev_lock);
174 slave->probed = false;
176 if (slave->prop.use_domain_irq)
177 sdw_irq_dispose_mapping(slave);
179 mutex_unlock(&slave->sdw_dev_lock);
182 ret = drv->remove(slave);
191 struct sdw_slave *slave = dev_to_sdw_dev(dev);
195 drv->shutdown(slave);