Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e70a303 authored by Banajit Goswami's avatar Banajit Goswami Committed by Gerrit - the friendly Code Review server
Browse files

ALSA: jack: Update supported jack switch types



Change adds support for jack switch types supported
by platform.

This change also squashes the below changes-

include: increase allowed SW INPUT device ID from 15 to 32

Increase the Input device SW ID from 15 to 32. This is needed
to accommodate more input devices.

Change-Id: If77f8b37b4db72ada2b5d8a3095265eef90ab62b
Signed-off-by: default avatarGopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: default avatarBanajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: default avatarSudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: default avatarMeng Wang <mwang@codeaurora.org>
parent e7fcc54d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ struct pcmcia_device_id {
#define INPUT_DEVICE_ID_LED_MAX		0x0f
#define INPUT_DEVICE_ID_SND_MAX		0x07
#define INPUT_DEVICE_ID_FF_MAX		0x7f
#define INPUT_DEVICE_ID_SW_MAX		0x0f
#define INPUT_DEVICE_ID_SW_MAX		0x20
#define INPUT_DEVICE_ID_PROP_MAX	0x1f

#define INPUT_DEVICE_ID_MATCH_BUS	1
+0 −3
Original line number Diff line number Diff line
@@ -71,9 +71,6 @@ enum snd_jack_types {
	SND_JACK_BTN_5		= 0x0200,
};

/* Keep in sync with definitions above */
#define SND_JACK_SWITCH_TYPES 6

struct snd_jack {
	struct list_head kctl_list;
	struct snd_card *card;
+4 −1
Original line number Diff line number Diff line
@@ -786,7 +786,10 @@
#define SW_LINEIN_INSERT	0x0d  /* set = inserted */
#define SW_MUTE_DEVICE		0x0e  /* set = device disabled */
#define SW_PEN_INSERTED		0x0f  /* set = pen inserted */
#define SW_MAX			0x0f
#define SW_HPHL_OVERCURRENT	0x10  /* set = over current on left hph */
#define SW_HPHR_OVERCURRENT	0x11  /* set = over current on right hph */
#define SW_UNSUPPORT_INSERT	0x12  /* set = unsupported device inserted */
#define SW_MAX			0x20
#define SW_CNT			(SW_MAX+1)

/*
+5 −2
Original line number Diff line number Diff line
@@ -33,13 +33,16 @@ struct snd_jack_kctl {
};

#ifdef CONFIG_SND_JACK_INPUT_DEV
static int jack_switch_types[SND_JACK_SWITCH_TYPES] = {
static int jack_switch_types[] = {
	SW_HEADPHONE_INSERT,
	SW_MICROPHONE_INSERT,
	SW_LINEOUT_INSERT,
	SW_JACK_PHYSICAL_INSERT,
	SW_VIDEOOUT_INSERT,
	SW_LINEIN_INSERT,
	SW_HPHL_OVERCURRENT,
	SW_HPHR_OVERCURRENT,
	SW_UNSUPPORT_INSERT,
};
#endif /* CONFIG_SND_JACK_INPUT_DEV */

@@ -250,7 +253,7 @@ int snd_jack_new(struct snd_card *card, const char *id, int type,

		jack->type = type;

		for (i = 0; i < SND_JACK_SWITCH_TYPES; i++)
		for (i = 0; i < ARRAY_SIZE(jack_switch_types); i++)
			if (type & (1 << i))
				input_set_capability(jack->input_dev, EV_SW,
						     jack_switch_types[i]);