#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/of_platform.h>
#include <linux/pinctrl/consumer.h>
#include <linux/reset.h>
#include <sound/dmaengine_pcm.h>
#include <sound/core.h>
#include "stm32_sai.h"
static const struct stm32_sai_conf stm32_sai_conf_f4 = …;
static const struct stm32_sai_conf stm32_sai_conf_h7 = …;
static const struct of_device_id stm32_sai_ids[] = …;
static int stm32_sai_pclk_disable(struct device *dev)
{ … }
static int stm32_sai_pclk_enable(struct device *dev)
{ … }
static int stm32_sai_sync_conf_client(struct stm32_sai_data *sai, int synci)
{ … }
static int stm32_sai_sync_conf_provider(struct stm32_sai_data *sai, int synco)
{ … }
static int stm32_sai_set_sync(struct stm32_sai_data *sai_client,
struct device_node *np_provider,
int synco, int synci)
{ … }
static int stm32_sai_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int stm32_sai_suspend(struct device *dev)
{ … }
static int stm32_sai_resume(struct device *dev)
{ … }
#endif
static const struct dev_pm_ops stm32_sai_pm_ops = …;
MODULE_DEVICE_TABLE(of, stm32_sai_ids);
static struct platform_driver stm32_sai_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_ALIAS(…) …;
MODULE_LICENSE(…) …;