summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_jack.h
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Make is_jack_detectable() as non-inlinedTakashi Iwai2012-02-131-12/+1
| | | | | | It's a bit too big and used too often as an inline function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Merge input-jack helpers to hda_jack.cTakashi Iwai2011-11-161-0/+4
| | | | | | | We can use the very same table in hda_jack.c for managing the list for input-jack elements, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Introduce common helper functions for jack-detection controlTakashi Iwai2011-11-161-1/+0
| | | | | | | | Now move the helper function for creating and reporting the jack-detection to the common place. The driver that needs this functionality should select CONFIG_SND_KCTL_JACK kconfig. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Manage unsol tags in hda_jack.cTakashi Iwai2011-11-161-10/+18
| | | | | | | | | | | | | Manage the tags assigned for unsolicited events dynamically together with the jack-detection routines. Basically this is almost same as what we've done in patch_sigmatel.c. Assign the new tag number for each new unsol event, associate with the given NID and the action type, etc. With this change, now all pins looked over in snd_hda_jack_add_kctls() are actually enabled for detection now even if the pins aren't used for jack-retasking by the driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Create jack-detection kcontrolsTakashi Iwai2011-11-161-0/+12
| | | | | | | | | | | | | | | | Create kcontrols for pin jack-detections, which work similarly like jack-input layer. Each control will notify when the jack is plugged or unplugged, and also user can read the value at any time via the normal control API. The control elements are created with iface=CARD, so that they won't appear in the mixer apps. So far, only the pins that enabled the jack-detection are registered. For covering all pins, the transition of the common unsol-tag handling would be needed. Stay tuned. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Cache the jack-detection valueTakashi Iwai2011-11-161-0/+63
Introduce a table containing the pins and their jack-detection states for avoiding the unnecessary verbs to check the pin status at each time. When the unsol event is enabled via snd_hda_jack_detect_enable(), it automatically adds the given NID to the table. Then the driver supposes that the codec driver will set the dirty flag appropariately when an unsolicited event is invoked for that pin. The behavior for reading other pins that aren't registered in the table doesn't change. Only the pins assigned to the table are cached, so far. In near futre, this table can be extended to use the central place for the unsolicited events of all pins, etc, and eventually include the jack-detect kcontrols that replace the current input-jack stuff. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud