| // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) |
| // Copyright(c) 2015-17 Intel Corporation. |
| |
| #ifndef __SDW_INTEL_H |
| #define __SDW_INTEL_H |
| |
| /** |
| * struct sdw_intel_ops: Intel audio driver callback ops |
| * |
| * @config_stream: configure the stream with the hw_params |
| */ |
| struct sdw_intel_ops { |
| int (*config_stream)(void *arg, void *substream, |
| void *dai, void *hw_params, int stream_num); |
| }; |
| |
| /** |
| * struct sdw_intel_res - Soundwire Intel resource structure |
| * @mmio_base: mmio base of SoundWire registers |
| * @irq: interrupt number |
| * @handle: ACPI parent handle |
| * @parent: parent device |
| * @ops: callback ops |
| * @arg: callback arg |
| */ |
| struct sdw_intel_res { |
| void __iomem *mmio_base; |
| int irq; |
| acpi_handle handle; |
| struct device *parent; |
| const struct sdw_intel_ops *ops; |
| void *arg; |
| }; |
| |
| void *sdw_intel_init(acpi_handle *parent_handle, struct sdw_intel_res *res); |
| void sdw_intel_exit(void *arg); |
| |
| #endif |