cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hda_beep.h (1186B)


      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 */
     18struct 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
     34int snd_hda_enable_beep_device(struct hda_codec *codec, int enable);
     35int snd_hda_attach_beep_device(struct hda_codec *codec, int nid);
     36void snd_hda_detach_beep_device(struct hda_codec *codec);
     37#else
     38static inline int snd_hda_attach_beep_device(struct hda_codec *codec, int nid)
     39{
     40	return 0;
     41}
     42static inline void snd_hda_detach_beep_device(struct hda_codec *codec)
     43{
     44}
     45#endif
     46#endif