1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Digital Beep Input Interface for HD-audio codec
5 * Author: Matt Ranostay <matt.ranostay@konsulko.com>
6 * Copyright (c) 2008 Embedded Alley Solutions Inc
9 #ifndef __SOUND_HDA_BEEP_H
10 #define __SOUND_HDA_BEEP_H
12 #include "hda_codec.h"
14 #define HDA_BEEP_MODE_OFF 0
15 #define HDA_BEEP_MODE_ON 1
17 /* beep information */
19 struct input_dev
*dev
;
20 struct hda_codec
*codec
;
24 unsigned int registered
:1;
25 unsigned int enabled
:1;
26 unsigned int linear_tone
:1; /* linear tone for IDT/STAC codec */
27 unsigned int playing
:1;
28 struct work_struct beep_work
; /* scheduled task for beep event */
30 void (*power_hook
)(struct hda_beep
*beep
, bool on
);
33 #ifdef CONFIG_SND_HDA_INPUT_BEEP
34 int snd_hda_enable_beep_device(struct hda_codec
*codec
, int enable
);
35 int snd_hda_attach_beep_device(struct hda_codec
*codec
, int nid
);
36 void snd_hda_detach_beep_device(struct hda_codec
*codec
);
37 int snd_hda_register_beep_device(struct hda_codec
*codec
);
39 static inline int snd_hda_attach_beep_device(struct hda_codec
*codec
, int nid
)
43 static inline void snd_hda_detach_beep_device(struct hda_codec
*codec
)
46 static inline int snd_hda_register_beep_device(struct hda_codec
*codec
)