ALSA: hda - Rework on patch_sigmatel.c for HP HDX16/HDX18
Code rework, comments of mail tiwai@suse.de (2009-03-09) incorporated. Code tested on HP HDX16 (not tested on HDX18 yet). Signed-off-by: Christoph Plattner <christoph.plattner@gmx.at> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
ae6241fbf5
commit
443e26d014
|
@ -4489,14 +4489,10 @@ static int stac92xx_resume(struct hda_codec *codec)
|
|||
*/
|
||||
|
||||
#ifdef CONFIG_SND_HDA_POWER_SAVE
|
||||
static int stac92xx_check_power_status (struct hda_codec * codec, hda_nid_t nid)
|
||||
static int stac92xx_hp_hdx_check_power_status (struct hda_codec * codec, hda_nid_t nid)
|
||||
{
|
||||
struct sigmatel_spec *spec = codec->spec;
|
||||
|
||||
/* only handle on HP HDX */
|
||||
if (spec->board_config != STAC_HP_HDX)
|
||||
return 0;
|
||||
|
||||
if (nid == 0x10)
|
||||
{
|
||||
if (snd_hda_codec_amp_read(codec, nid, 0, HDA_OUTPUT, 0) &
|
||||
|
@ -4535,9 +4531,6 @@ static struct hda_codec_ops stac92xx_patch_ops = {
|
|||
.suspend = stac92xx_suspend,
|
||||
.resume = stac92xx_resume,
|
||||
#endif
|
||||
#ifdef CONFIG_SND_HDA_POWER_SAVE
|
||||
.check_power_status = stac92xx_check_power_status,
|
||||
#endif
|
||||
};
|
||||
|
||||
static int patch_stac9200(struct hda_codec *codec)
|
||||
|
@ -5134,13 +5127,6 @@ again:
|
|||
/* no output amps */
|
||||
spec->num_pwrs = 0;
|
||||
/* fallthru */
|
||||
case 0x111d76b2: /* Codec of HP HDX16/HDX18 */
|
||||
|
||||
/* orange/white mute led on GPIO3, orange=0, white=1 */
|
||||
spec->gpio_mask |= 0x08;
|
||||
spec->gpio_dir |= 0x08;
|
||||
spec->gpio_data |= 0x08; /* set to white */
|
||||
/* fallthru */
|
||||
default:
|
||||
memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer,
|
||||
sizeof(stac92hd71bxx_dmux_amixer));
|
||||
|
@ -5199,6 +5185,20 @@ again:
|
|||
spec->num_dmics = 1;
|
||||
spec->num_dmuxes = 1;
|
||||
spec->num_smuxes = 1;
|
||||
/*
|
||||
* For controlling MUTE LED on HP HDX16/HDX18 notebooks,
|
||||
* the CONFIG_SND_HDA_POWER_SAVE is needed to be set.
|
||||
*/
|
||||
#ifdef CONFIG_SND_HDA_POWER_SAVE
|
||||
/* orange/white mute led on GPIO3, orange=0, white=1 */
|
||||
spec->gpio_mask |= 0x08;
|
||||
spec->gpio_dir |= 0x08;
|
||||
spec->gpio_data |= 0x08; /* set to white */
|
||||
|
||||
/* register check_power_status callback. */
|
||||
codec->patch_ops.check_power_status =
|
||||
stac92xx_hp_hdx_check_power_status;
|
||||
#endif
|
||||
break;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue