Lines Matching refs:gp

172 #define do_gpio_write(gp, val) \  argument
173 pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, (gp)->addr, val)
174 #define do_gpio_read(gp) \ argument
175 pmac_call_feature(PMAC_FTR_READ_GPIO, NULL, (gp)->addr, 0)
176 #define tumbler_gpio_free(gp) /* NOP */ argument
178 static void write_audio_gpio(struct pmac_gpio *gp, int active) in write_audio_gpio() argument
180 if (! gp->addr) in write_audio_gpio()
182 active = active ? gp->active_val : gp->inactive_val; in write_audio_gpio()
183 do_gpio_write(gp, active); in write_audio_gpio()
184 DBG("(I) gpio %x write %d\n", gp->addr, active); in write_audio_gpio()
187 static int check_audio_gpio(struct pmac_gpio *gp) in check_audio_gpio() argument
191 if (! gp->addr) in check_audio_gpio()
194 ret = do_gpio_read(gp); in check_audio_gpio()
196 return (ret & 0x1) == (gp->active_val & 0x1); in check_audio_gpio()
199 static int read_audio_gpio(struct pmac_gpio *gp) in read_audio_gpio() argument
202 if (! gp->addr) in read_audio_gpio()
204 ret = do_gpio_read(gp); in read_audio_gpio()
206 return ret == gp->active_state; in read_audio_gpio()
732 struct pmac_gpio *gp; in tumbler_get_mute_switch() local
737 gp = &mix->hp_mute; break; in tumbler_get_mute_switch()
739 gp = &mix->amp_mute; break; in tumbler_get_mute_switch()
741 gp = &mix->line_mute; break; in tumbler_get_mute_switch()
743 gp = NULL; in tumbler_get_mute_switch()
745 if (gp == NULL) in tumbler_get_mute_switch()
747 ucontrol->value.integer.value[0] = !check_audio_gpio(gp); in tumbler_get_mute_switch()
756 struct pmac_gpio *gp; in tumbler_put_mute_switch() local
766 gp = &mix->hp_mute; break; in tumbler_put_mute_switch()
768 gp = &mix->amp_mute; break; in tumbler_put_mute_switch()
770 gp = &mix->line_mute; break; in tumbler_put_mute_switch()
772 gp = NULL; in tumbler_put_mute_switch()
774 if (gp == NULL) in tumbler_put_mute_switch()
776 val = ! check_audio_gpio(gp); in tumbler_put_mute_switch()
778 write_audio_gpio(gp, ! ucontrol->value.integer.value[0]); in tumbler_put_mute_switch()
957 static void check_mute(struct snd_pmac *chip, struct pmac_gpio *gp, int val, int do_notify, in check_mute() argument
960 if (check_audio_gpio(gp) != val) { in check_mute()
961 write_audio_gpio(gp, val); in check_mute()
1098 struct pmac_gpio *gp, int is_compatible) in tumbler_find_device() argument
1130 gp->addr = addr & 0x0000ffff; in tumbler_find_device()
1134 gp->active_state = *base; in tumbler_find_device()
1135 gp->active_val = (*base) ? 0x5 : 0x4; in tumbler_find_device()
1136 gp->inactive_val = (*base) ? 0x4 : 0x5; in tumbler_find_device()
1139 gp->active_state = IS_G4DA in tumbler_find_device()
1141 gp->active_val = 0x4; in tumbler_find_device()
1142 gp->inactive_val = 0x5; in tumbler_find_device()
1151 gp->active_val = 0xd; in tumbler_find_device()
1152 gp->inactive_val = 0xc; in tumbler_find_device()
1155 gp->active_val = 0x5; in tumbler_find_device()
1156 gp->inactive_val = 0x4; in tumbler_find_device()
1162 device, gp->addr, gp->active_state); in tumbler_find_device()