mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-08 14:23:19 +00:00
502629a755
Some systems support a notification from ACPI, which can be used for different things. Only one handler can be registered for the acpi notification, but all amps need to receive that notification, we can register a single handler inside the component master, so that it can then notify through the component framework. This is required to support mute notifications from ACPI. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20230921162849.1988124-2-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
26 lines
742 B
C
26 lines
742 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* HD audio Component Binding Interface
|
|
*
|
|
* Copyright (C) 2021 Cirrus Logic, Inc. and
|
|
* Cirrus Logic International Semiconductor Ltd.
|
|
*/
|
|
|
|
#include <linux/acpi.h>
|
|
#include <linux/component.h>
|
|
|
|
#define HDA_MAX_COMPONENTS 4
|
|
#define HDA_MAX_NAME_SIZE 50
|
|
|
|
struct hda_component {
|
|
struct device *dev;
|
|
char name[HDA_MAX_NAME_SIZE];
|
|
struct hda_codec *codec;
|
|
struct acpi_device *adev;
|
|
bool acpi_notifications_supported;
|
|
void (*acpi_notify)(acpi_handle handle, u32 event, struct device *dev);
|
|
void (*pre_playback_hook)(struct device *dev, int action);
|
|
void (*playback_hook)(struct device *dev, int action);
|
|
void (*post_playback_hook)(struct device *dev, int action);
|
|
};
|