mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-13 22:14:20 +08:00
23904f7b25
The current code uses calls from the HDA Codec driver to determine when to suspend/resume by calling hooks via the hda_component binding. However, this means the cs35l41 driver relies on the HDA Codec driver to tell it when to suspend or resume, creating an additional external dependency, and potentially creating race conditions in the future. It is better for the cs35l41 hda driver to decide for itself when the part should be suspended or resumed. This makes supporting system suspend easier. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20221011143552.621792-5-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
20 lines
461 B
C
20 lines
461 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/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;
|
|
void (*playback_hook)(struct device *dev, int action);
|
|
};
|