mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 09:04:21 +08:00
f98f690fb0
The current interfaces between ASoC and SoundWire are limited by the platform_device infrastructure to an init() and exit() (mapped to the platform driver.probe and .remove) To help with the platform detection, machine driver selection and management of power dependencies between DSP and SoundWire IP, the ASoC side requires: a) an ACPI scan helper, to report if any devices are exposed in the DSDT tables, and if any links are disabled by the BIOS. b) a probe helper that allocates the resources without actually starting the bus. c) a startup helper which does start the bus when all power dependencies are settled. d) an exit helper to free all resources e) an interrupt_enable/disable helper, typically invoked after the startup helper but also used in suspend routines. This patch moves all required interfaces to sdw_intel.h, mainly to allow SoundWire and ASoC parts to be merged separately once the header files are shared between trees. To avoid compilation issues, the conflicts in intel_init.c are blindly removed. This would in theory prevent the code from working, but since there are no users of the Intel Soundwire driver this has no impact. Functionality will be restored when the removal of platform devices is complete. Support for SoundWire + SOF builds will only be provided once all the required pieces are upstream. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20191212014507.28050-6-pierre-louis.bossart@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
31 lines
845 B
C
31 lines
845 B
C
/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
|
|
/* Copyright(c) 2015-17 Intel Corporation. */
|
|
|
|
#ifndef __SDW_INTEL_LOCAL_H
|
|
#define __SDW_INTEL_LOCAL_H
|
|
|
|
/**
|
|
* struct sdw_intel_link_res - Soundwire Intel link resource structure,
|
|
* typically populated by the controller driver.
|
|
* @pdev: platform_device
|
|
* @mmio_base: mmio base of SoundWire registers
|
|
* @registers: Link IO registers base
|
|
* @shim: Audio shim pointer
|
|
* @alh: ALH (Audio Link Hub) pointer
|
|
* @irq: Interrupt line
|
|
* @ops: Shim callback ops
|
|
* @arg: Shim callback ops argument
|
|
*/
|
|
struct sdw_intel_link_res {
|
|
struct platform_device *pdev;
|
|
void __iomem *mmio_base; /* not strictly needed, useful for debug */
|
|
void __iomem *registers;
|
|
void __iomem *shim;
|
|
void __iomem *alh;
|
|
int irq;
|
|
const struct sdw_intel_ops *ops;
|
|
void *arg;
|
|
};
|
|
|
|
#endif /* __SDW_INTEL_LOCAL_H */
|