at v6.19 50 lines 1.6 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * The MIPI SDCA specification is available for public downloads at 4 * https://www.mipi.org/mipi-sdca-v1-0-download 5 * 6 * Copyright (C) 2025 Cirrus Logic, Inc. and 7 * Cirrus Logic International Semiconductor Ltd. 8 */ 9 10#ifndef __SDCA_UMP_H__ 11#define __SDCA_UMP_H__ 12 13struct regmap; 14struct sdca_control; 15struct sdca_entity; 16struct sdca_function_data; 17struct snd_soc_component; 18struct delayed_work; 19 20int sdca_ump_get_owner_host(struct device *dev, 21 struct regmap *function_regmap, 22 struct sdca_function_data *function, 23 struct sdca_entity *entity, 24 struct sdca_control *control); 25int sdca_ump_set_owner_device(struct device *dev, 26 struct regmap *function_regmap, 27 struct sdca_function_data *function, 28 struct sdca_entity *entity, 29 struct sdca_control *control); 30int sdca_ump_read_message(struct device *dev, 31 struct regmap *device_regmap, 32 struct regmap *function_regmap, 33 struct sdca_function_data *function, 34 struct sdca_entity *entity, 35 unsigned int offset_sel, unsigned int length_sel, 36 void **msg); 37int sdca_ump_write_message(struct device *dev, 38 struct regmap *device_regmap, 39 struct regmap *function_regmap, 40 struct sdca_function_data *function, 41 struct sdca_entity *entity, 42 unsigned int offset_sel, unsigned int msg_offset, 43 unsigned int length_sel, 44 void *msg, int msg_len); 45 46void sdca_ump_cancel_timeout(struct delayed_work *work); 47void sdca_ump_schedule_timeout(struct delayed_work *work, 48 unsigned int timeout_us); 49 50#endif // __SDCA_UMP_H__