Commit | Line | Data |
---|---|---|
248a380a | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
1cd2224c MR |
2 | /* |
3 | * Digital Beep Input Interface for HD-audio codec | |
4 | * | |
248a380a | 5 | * Author: Matt Ranostay <matt.ranostay@konsulko.com> |
1cd2224c | 6 | * Copyright (c) 2008 Embedded Alley Solutions Inc |
1cd2224c MR |
7 | */ |
8 | ||
9 | #ifndef __SOUND_HDA_BEEP_H | |
10 | #define __SOUND_HDA_BEEP_H | |
11 | ||
be57bfff | 12 | #include <sound/hda_codec.h> |
1cd2224c | 13 | |
9bb1fe39 TI |
14 | #define HDA_BEEP_MODE_OFF 0 |
15 | #define HDA_BEEP_MODE_ON 1 | |
2dca0bba | 16 | |
1cd2224c MR |
17 | /* beep information */ |
18 | struct hda_beep { | |
19 | struct input_dev *dev; | |
20 | struct hda_codec *codec; | |
21 | char phys[32]; | |
22 | int tone; | |
fa797966 | 23 | hda_nid_t nid; |
d604b399 | 24 | unsigned int registered:1; |
fa797966 TI |
25 | unsigned int enabled:1; |
26 | unsigned int linear_tone:1; /* linear tone for IDT/STAC codec */ | |
e914b25e | 27 | unsigned int playing:1; |
1cd2224c | 28 | struct work_struct beep_work; /* scheduled task for beep event */ |
123c07ae | 29 | struct mutex mutex; |
5ccf835c | 30 | void (*power_hook)(struct hda_beep *beep, bool on); |
1cd2224c MR |
31 | }; |
32 | ||
33 | #ifdef CONFIG_SND_HDA_INPUT_BEEP | |
123c07ae | 34 | int snd_hda_enable_beep_device(struct hda_codec *codec, int enable); |
1cd2224c MR |
35 | int snd_hda_attach_beep_device(struct hda_codec *codec, int nid); |
36 | void snd_hda_detach_beep_device(struct hda_codec *codec); | |
d604b399 | 37 | int snd_hda_register_beep_device(struct hda_codec *codec); |
1cd2224c | 38 | #else |
2308f4ad JP |
39 | static inline int snd_hda_attach_beep_device(struct hda_codec *codec, int nid) |
40 | { | |
41 | return 0; | |
42 | } | |
ca2585af | 43 | static inline void snd_hda_detach_beep_device(struct hda_codec *codec) |
2308f4ad JP |
44 | { |
45 | } | |
d604b399 TI |
46 | static inline int snd_hda_register_beep_device(struct hda_codec *codec) |
47 | { | |
48 | return 0; | |
49 | } | |
1cd2224c MR |
50 | #endif |
51 | #endif |