Example #1
0
static void bt_device_deinit(struct bt_dev_data *pdata)
{
      if(pdata->gpio_reset > 0 )
        amlogic_gpio_free(pdata->gpio_reset, BT_RFKILL);
        
    if(pdata->gpio_en > 0 )
        amlogic_gpio_free(pdata->gpio_en, BT_RFKILL);
        
    if(pdata->gpio_wake > 0 ) 
        amlogic_gpio_free(pdata->gpio_wake, BT_RFKILL);     
}
Example #2
0
static void aml_m8_pinmux_deinit(struct snd_soc_card *card)
{
    struct aml_audio_private_data *p_aml_audio;

    p_aml_audio = snd_soc_card_get_drvdata(card);
    if(p_aml_audio->gpio_hp_det)
        amlogic_gpio_free(p_aml_audio->gpio_hp_det,"hp_det");
    if(p_aml_audio->gpio_mute)
        amlogic_gpio_free(p_aml_audio->gpio_mute,"mute_spk");
    if(p_aml_audio->pin_ctl)
        devm_pinctrl_put(p_aml_audio->pin_ctl);
}
Example #3
0
static void aml_m6_pinmux_deinit(struct snd_soc_card *card)
{
    struct aml_audio_private_data *p_aml_audio;

    p_aml_audio = snd_soc_card_get_drvdata(card);

    amlogic_gpio_free(p_aml_audio->gpio_hp_det,"wm8960");
    devm_pinctrl_put(p_aml_audio->pin_ctl);
}
Example #4
0
static int aml_resume_pre(struct snd_soc_card *card)
{
    printk(KERN_INFO "enter %s\n", __func__);
    struct aml_audio_private_data *p_aml_audio;
    p_aml_audio = snd_soc_card_get_drvdata(card);

    if(p_aml_audio->gpio_i2s_m)
        amlogic_gpio_free(p_aml_audio->gpio_i2s_m,"low_mclk");
    if(p_aml_audio->gpio_i2s_s)
        amlogic_gpio_free(p_aml_audio->gpio_i2s_s,"low_sclk");
    if(p_aml_audio->gpio_i2s_r)
        amlogic_gpio_free(p_aml_audio->gpio_i2s_r,"low_lrclk");
    if(p_aml_audio->gpio_i2s_o)
        amlogic_gpio_free(p_aml_audio->gpio_i2s_o,"low_odata");


    p_aml_audio->pin_ctl = devm_pinctrl_get_select(card->dev, "aml_snd_m8");
    return 0;
}
int amlogic_gpio_free_array(const struct gpio *array, size_t num)
{
	int ret=0;
	while (num--){
		ret=amlogic_gpio_free(array->gpio,array->label);
		if(ret)
			return ret;
		array++;
	}
	return ret;
}