Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0+ */ 2 : : /* 3 : : * Digital Beep Input Interface for HD-audio codec 4 : : * 5 : : * Author: Matt Ranostay <matt.ranostay@konsulko.com> 6 : : * Copyright (c) 2008 Embedded Alley Solutions Inc 7 : : */ 8 : : 9 : : #ifndef __SOUND_HDA_BEEP_H 10 : : #define __SOUND_HDA_BEEP_H 11 : : 12 : : #include <sound/hda_codec.h> 13 : : 14 : : #define HDA_BEEP_MODE_OFF 0 15 : : #define HDA_BEEP_MODE_ON 1 16 : : 17 : : /* beep information */ 18 : : struct hda_beep { 19 : : struct input_dev *dev; 20 : : struct hda_codec *codec; 21 : : char phys[32]; 22 : : int tone; 23 : : hda_nid_t nid; 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 */ 29 : : struct mutex mutex; 30 : : void (*power_hook)(struct hda_beep *beep, bool on); 31 : : }; 32 : : 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 : : #else 38 : : static inline int snd_hda_attach_beep_device(struct hda_codec *codec, int nid) 39 : : { 40 : : return 0; 41 : : } 42 : 0 : static inline void snd_hda_detach_beep_device(struct hda_codec *codec) 43 : : { 44 : 0 : } 45 : : #endif 46 : : #endif