linux/sound/soc/amd/ps/pci-ps.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * AMD Pink Sardine ACP PCI Driver
 *
 * Copyright 2022 Advanced Micro Devices, Inc.
 */

#include <linux/pci.h>
#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/acpi.h>
#include <linux/interrupt.h>
#include <sound/pcm_params.h>
#include <linux/pm_runtime.h>
#include <linux/iopoll.h>
#include <linux/soundwire/sdw_amd.h>
#include "../mach-config.h"

#include "acp63.h"

static int acp63_power_on(void __iomem *acp_base)
{}

static int acp63_reset(void __iomem *acp_base)
{}

static void acp63_enable_interrupts(void __iomem *acp_base)
{}

static void acp63_disable_interrupts(void __iomem *acp_base)
{}

static int acp63_init(void __iomem *acp_base, struct device *dev)
{}

static int acp63_deinit(void __iomem *acp_base, struct device *dev)
{}

static irqreturn_t acp63_irq_thread(int irq, void *context)
{}

static irqreturn_t acp63_irq_handler(int irq, void *dev_id)
{}

#if IS_ENABLED(CONFIG_SND_SOC_AMD_SOUNDWIRE)
static int acp_scan_sdw_devices(struct device *dev, u64 addr)
{}

static int amd_sdw_probe(struct device *dev)
{}

static int amd_sdw_exit(struct acp63_dev_data *acp_data)
{}

static struct snd_soc_acpi_mach *acp63_sdw_machine_select(struct device *dev)
{}
#else
static int acp_scan_sdw_devices(struct device *dev, u64 addr)
{
	return 0;
}

static int amd_sdw_probe(struct device *dev)
{
	return 0;
}

static int amd_sdw_exit(struct acp63_dev_data *acp_data)
{
	return 0;
}

static struct snd_soc_acpi_mach *acp63_sdw_machine_select(struct device *dev)
{
	return NULL;
}
#endif

static int acp63_machine_register(struct device *dev)
{}

static int get_acp63_device_config(struct pci_dev *pci, struct acp63_dev_data *acp_data)
{}

static void acp63_fill_platform_dev_info(struct platform_device_info *pdevinfo,
					 struct device *parent,
					 struct fwnode_handle *fw_node,
					 char *name, unsigned int id,
					 const struct resource *res,
					 unsigned int num_res,
					 const void *data,
					 size_t size_data)
{}

static int create_acp63_platform_devs(struct pci_dev *pci, struct acp63_dev_data *adata, u32 addr)
{}

static int snd_acp63_probe(struct pci_dev *pci,
			   const struct pci_device_id *pci_id)
{}

static bool check_acp_sdw_enable_status(struct acp63_dev_data *adata)
{}

static void handle_acp63_sdw_pme_event(struct acp63_dev_data *adata)
{}

static int __maybe_unused snd_acp63_suspend(struct device *dev)
{}

static int __maybe_unused snd_acp63_runtime_resume(struct device *dev)
{}

static int __maybe_unused snd_acp63_resume(struct device *dev)
{}

static const struct dev_pm_ops acp63_pm_ops =;

static void snd_acp63_remove(struct pci_dev *pci)
{}

static const struct pci_device_id snd_acp63_ids[] =;
MODULE_DEVICE_TABLE(pci, snd_acp63_ids);

static struct pci_driver ps_acp63_driver  =;

module_pci_driver();

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_IMPORT_NS();
MODULE_IMPORT_NS();
MODULE_LICENSE();