// SPDX-License-Identifier: GPL-2.0-only /* * hdac-ext-bus.c - HD-audio extended core bus functions. * * Copyright (C) 2014-2015 Intel Corp * Author: Jeeja KP <[email protected]> * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ #include <linux/module.h> #include <linux/slab.h> #include <linux/io.h> #include <sound/hdaudio_ext.h> MODULE_DESCRIPTION(…) …; MODULE_LICENSE(…) …; /** * snd_hdac_ext_bus_init - initialize a HD-audio extended bus * @bus: the pointer to HDAC bus object * @dev: device pointer * @ops: bus verb operators * @ext_ops: operators used for ASoC HDA codec drivers * * Returns 0 if successful, or a negative error code. */ int snd_hdac_ext_bus_init(struct hdac_bus *bus, struct device *dev, const struct hdac_bus_ops *ops, const struct hdac_ext_bus_ops *ext_ops) { … } EXPORT_SYMBOL_GPL(…); /** * snd_hdac_ext_bus_exit - clean up a HD-audio extended bus * @bus: the pointer to HDAC bus object */ void snd_hdac_ext_bus_exit(struct hdac_bus *bus) { … } EXPORT_SYMBOL_GPL(…); /** * snd_hdac_ext_bus_device_remove - remove HD-audio extended codec base devices * * @bus: the pointer to HDAC bus object */ void snd_hdac_ext_bus_device_remove(struct hdac_bus *bus) { … } EXPORT_SYMBOL_GPL(…); #define dev_to_hdac(dev) … static inline struct hdac_driver *get_hdrv(struct device *dev) { … } static inline struct hdac_device *get_hdev(struct device *dev) { … } static int hda_ext_drv_probe(struct device *dev) { … } static int hdac_ext_drv_remove(struct device *dev) { … } static void hdac_ext_drv_shutdown(struct device *dev) { … } /** * snd_hda_ext_driver_register - register a driver for ext hda devices * * @drv: ext hda driver structure */ int snd_hda_ext_driver_register(struct hdac_driver *drv) { … } EXPORT_SYMBOL_GPL(…); /** * snd_hda_ext_driver_unregister - unregister a driver for ext hda devices * * @drv: ext hda driver structure */ void snd_hda_ext_driver_unregister(struct hdac_driver *drv) { … } EXPORT_SYMBOL_GPL(…);