Ejemplo n.º 1
0
static void snd_hda_do_detach(struct hda_beep *beep)
{
	if (beep->registered)
		input_unregister_device(beep->dev);
	else
		input_free_device(beep->dev);
	beep->dev = NULL;
	turn_off_beep(beep);
}
Ejemplo n.º 2
0
static int beep_dev_disconnect(struct snd_device *device)
{
	struct hda_beep *beep = device->device_data;

	if (beep->registered)
		input_unregister_device(beep->dev);
	else
		input_free_device(beep->dev);
	turn_off_beep(beep);
	return 0;
}
Ejemplo n.º 3
0
/**
 * snd_hda_enable_beep_device - Turn on/off beep sound
 * @codec: the HDA codec
 * @enable: flag to turn on/off
 */
int snd_hda_enable_beep_device(struct hda_codec *codec, int enable)
{
	struct hda_beep *beep = codec->beep;
	if (!beep)
		return 0;
	enable = !!enable;
	if (beep->enabled != enable) {
		beep->enabled = enable;
		if (!enable)
			turn_off_beep(beep);
		return 1;
	}
	return 0;
}
Ejemplo n.º 4
0
/**
 * snd_hda_enable_beep_device - Turn on/off beep sound
 * @codec: the HDA codec
 * @enable: flag to turn on/off
 */
int snd_hda_enable_beep_device(struct hda_codec *codec, int enable)
{
	struct hda_beep *beep = codec->beep;
	if (!beep)
		return 0;
	enable = !!enable;
	if (beep->enabled != enable) {
		beep->enabled = enable;
		if (!enable)
			turn_off_beep(beep);
		if (beep->mode == HDA_BEEP_MODE_SWREG) {
			if (enable) {
				cancel_delayed_work(&beep->unregister_work);
				schedule_work(&beep->register_work);
			} else {
				schedule_delayed_work(&beep->unregister_work,
									   HZ);
			}
		}
		return 1;
	}
	return 0;
}