Lines Matching refs:peripheral

26 static int cs35l56_sdw_read_one(struct sdw_slave *peripheral, unsigned int reg, void *buf)
30 ret = sdw_nread_no_pm(peripheral, reg, 4, (u8 *)buf);
32 dev_err(&peripheral->dev, "Read failed @%#x:%d\n", reg, ret);
45 struct sdw_slave *peripheral = context;
54 return cs35l56_sdw_read_one(peripheral, reg, val_buf);
61 ret = sdw_nread_no_pm(peripheral, reg, bytes, buf8);
63 dev_err(&peripheral->dev, "Read failed @%#x..%#x:%d\n",
86 static int cs35l56_sdw_write_one(struct sdw_slave *peripheral, unsigned int reg, const void *buf)
91 ret = sdw_nwrite_no_pm(peripheral, reg, 4, (u8 *)&val_le);
93 dev_err(&peripheral->dev, "Write failed @%#x:%d\n", reg, ret);
104 struct sdw_slave *peripheral = context;
114 return cs35l56_sdw_write_one(peripheral, reg, src_be);
125 ret = sdw_nwrite_no_pm(peripheral, reg, bytes, (u8 *)val_le_buf);
127 dev_err(&peripheral->dev, "Write failed @%#x..%#x:%d\n",
164 static void cs35l56_sdw_init(struct sdw_slave *peripheral)
166 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
185 sdw_write_no_pm(peripheral, CS35L56_SDW_GEN_INT_MASK_1,
194 static int cs35l56_sdw_interrupt(struct sdw_slave *peripheral,
197 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
219 sdw_write_no_pm(peripheral, CS35L56_SDW_GEN_INT_MASK_1, 0);
220 sdw_read_no_pm(peripheral, CS35L56_SDW_GEN_INT_STAT_1);
221 sdw_write_no_pm(peripheral, CS35L56_SDW_GEN_INT_STAT_1, 0xFF);
243 static int cs35l56_sdw_read_prop(struct sdw_slave *peripheral)
245 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
246 struct sdw_slave_prop *prop = &peripheral->prop;
275 static int cs35l56_sdw_update_status(struct sdw_slave *peripheral,
278 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
287 cs35l56_sdw_init(peripheral);
303 struct sdw_slave *peripheral)
311 if (peripheral->bus->params.curr_bank) {
325 curr_scale = sdw_read_no_pm(peripheral, curr_scale_reg);
331 next_scale = sdw_read_no_pm(peripheral, next_scale_reg);
339 ret = sdw_write_no_pm(peripheral, next_scale_reg, next_scale);
348 ret = sdw_write_no_pm(peripheral, curr_scale_reg, CS35L56_SDW_INVALID_BUS_SCALE);
359 static int cs35l56_sdw_bus_config(struct sdw_slave *peripheral,
362 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
370 return cs35l56_a1_kick_divider(cs35l56, peripheral);
375 static int __maybe_unused cs35l56_sdw_clk_stop(struct sdw_slave *peripheral,
379 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
398 struct sdw_slave *peripheral = cs35l56->sdw_peripheral;
400 if (peripheral->unattach_request) {
403 if (!wait_for_completion_timeout(&peripheral->initialization_complete,
409 peripheral->unattach_request = 0;
488 static int cs35l56_sdw_probe(struct sdw_slave *peripheral, const struct sdw_device_id *id)
490 struct device *dev = &peripheral->dev;
499 cs35l56->sdw_peripheral = peripheral;
505 peripheral, &cs35l56_regmap_sdw);
521 static int cs35l56_sdw_remove(struct sdw_slave *peripheral)
523 struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
528 sdw_write_no_pm(peripheral, CS35L56_SDW_GEN_INT_MASK_1, 0);
529 sdw_read_no_pm(peripheral, CS35L56_SDW_GEN_INT_STAT_1);
530 sdw_write_no_pm(peripheral, CS35L56_SDW_GEN_INT_STAT_1, 0xFF);