/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __ACPI_ACPI_SOUNDWIRE_H__ #define __ACPI_ACPI_SOUNDWIRE_H__ #include <acpi/acpi_device.h> #include <device/soundwire.h> /** * soundwire_dp_prop_cb() - Callback to add custom data port properties. * @dsd: ACPI Device Property handle for this data port. * @port_id: Data Port ID from 0-14. * @codec: Properties that were passed to soundwire_gen_codec(). */ typedef void soundwire_dp_prop_cb(struct acpi_dp *dsd, unsigned int port_id, const struct soundwire_codec *codec); /** * soundwire_gen_codec() - Generate SoundWire properties for codec device. * @dsd: ACPI Device Property handle. * @prop: Properties for codec which includes all other properties. * @dp_prop_cb: Callback to allow custom codec properties. */ void soundwire_gen_codec(struct acpi_dp *dsd, const struct soundwire_codec *codec, soundwire_dp_prop_cb dp_prop_cb); /** * soundwire_link_prop_cb() - Callback to add custom link properties. * @dsd: ACPI Device Property handle for master link. * @link_id: Link number for this master. * @controller: Properties that were passed to soundwire_gen_controller(). */ typedef void soundwire_link_prop_cb(struct acpi_dp *dsd, unsigned int link_id, const struct soundwire_controller *controller); /** * soundwire_gen_controller() - Generate SoundWire properties for master links. * @dsd: ACPI Device Property handle for controller. * @prop: Properties for controller which includes all other properties. * @link_prop_cb: Callback to allow custom link properties. */ void soundwire_gen_controller(struct acpi_dp *dsd, const struct soundwire_controller *prop, soundwire_link_prop_cb link_prop_cb); #endif /* __ACPI_ACPI_SOUNDWIRE_H__ */