Lines Matching refs:ldev
677 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detect_choice_get() local
681 ucontrol->value.integer.value[0] = ldev->switch_on_headphone; in detect_choice_get()
684 ucontrol->value.integer.value[0] = ldev->switch_on_lineout; in detect_choice_get()
695 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detect_choice_put() local
699 ldev->switch_on_headphone = !!ucontrol->value.integer.value[0]; in detect_choice_put()
702 ldev->switch_on_lineout = !!ucontrol->value.integer.value[0]; in detect_choice_put()
733 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detected_get() local
738 v = ldev->gpio.methods->get_detect(&ldev->gpio, in detected_get()
742 v = ldev->gpio.methods->get_detect(&ldev->gpio, in detected_get()
771 struct layout_dev *ldev, in check_codec() argument
782 ref = of_get_property(ldev->sound, propname, NULL); in check_codec()
800 codec->soundbus_dev = ldev->sdev; in check_codec()
801 codec->gpio = &ldev->gpio; in check_codec()
822 struct layout_dev *ldev; in layout_found_codec() local
825 list_for_each_entry(ldev, &layouts_list, list) { in layout_found_codec()
827 if (!ldev->layout->codecs[i].name) in layout_found_codec()
829 if (strcmp(ldev->layout->codecs[i].name, codec->name) == 0) { in layout_found_codec()
831 ldev, in layout_found_codec()
832 &ldev->layout->codecs[i]) == 0) in layout_found_codec()
855 struct layout_dev *ldev; in layout_notify() local
860 ldev = dptr->ptr; in layout_notify()
861 if (data == &ldev->selfptr_headphone) { in layout_notify()
862 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_HEADPHONE); in layout_notify()
863 detected = ldev->headphone_detected_ctrl; in layout_notify()
864 update = ldev->switch_on_headphone; in layout_notify()
866 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); in layout_notify()
867 ldev->gpio.methods->set_headphone(&ldev->gpio, v); in layout_notify()
868 ldev->gpio.methods->set_lineout(&ldev->gpio, 0); in layout_notify()
870 } else if (data == &ldev->selfptr_lineout) { in layout_notify()
871 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_LINE_OUT); in layout_notify()
872 detected = ldev->lineout_detected_ctrl; in layout_notify()
873 update = ldev->switch_on_lineout; in layout_notify()
875 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); in layout_notify()
876 ldev->gpio.methods->set_headphone(&ldev->gpio, 0); in layout_notify()
877 ldev->gpio.methods->set_lineout(&ldev->gpio, v); in layout_notify()
885 c = ldev->headphone_ctrl; in layout_notify()
888 c = ldev->speaker_ctrl; in layout_notify()
891 c = ldev->lineout_ctrl; in layout_notify()
902 struct layout_dev *ldev = layout_device; in layout_attached_codec() local
915 ldev->master_ctrl = ctl; in layout_attached_codec()
921 ldev->gpio.methods->set_speakers(codec->gpio, 1); in layout_attached_codec()
923 ldev->speaker_ctrl = ctl; in layout_attached_codec()
928 ldev->gpio.methods->set_headphone(codec->gpio, 1); in layout_attached_codec()
930 ldev->headphone_ctrl = ctl; in layout_attached_codec()
932 ldev->have_headphone_detect = in layout_attached_codec()
933 !ldev->gpio.methods in layout_attached_codec()
934 ->set_notify(&ldev->gpio, in layout_attached_codec()
937 &ldev->selfptr_headphone); in layout_attached_codec()
938 if (ldev->have_headphone_detect) { in layout_attached_codec()
940 ldev); in layout_attached_codec()
943 ldev); in layout_attached_codec()
944 ldev->headphone_detected_ctrl = ctl; in layout_attached_codec()
950 ldev->gpio.methods->set_lineout(codec->gpio, 1); in layout_attached_codec()
955 ldev->lineout_ctrl = ctl; in layout_attached_codec()
957 ldev->have_lineout_detect = in layout_attached_codec()
958 !ldev->gpio.methods in layout_attached_codec()
959 ->set_notify(&ldev->gpio, in layout_attached_codec()
962 &ldev->selfptr_lineout); in layout_attached_codec()
963 if (ldev->have_lineout_detect) { in layout_attached_codec()
965 ldev); in layout_attached_codec()
972 ldev); in layout_attached_codec()
977 ldev->lineout_detected_ctrl = ctl; in layout_attached_codec()
984 if (ldev->have_headphone_detect) in layout_attached_codec()
985 layout_notify(&ldev->selfptr_headphone); in layout_attached_codec()
986 if (ldev->have_lineout_detect) in layout_attached_codec()
987 layout_notify(&ldev->selfptr_lineout); in layout_attached_codec()
1003 struct layout_dev *ldev = NULL; in aoa_fabric_layout_probe() local
1032 ldev = kzalloc(sizeof(struct layout_dev), GFP_KERNEL); in aoa_fabric_layout_probe()
1033 if (!ldev) in aoa_fabric_layout_probe()
1036 layout_device = ldev; in aoa_fabric_layout_probe()
1037 ldev->sdev = sdev; in aoa_fabric_layout_probe()
1038 ldev->sound = sound; in aoa_fabric_layout_probe()
1039 ldev->layout = layout; in aoa_fabric_layout_probe()
1040 ldev->gpio.node = sound->parent; in aoa_fabric_layout_probe()
1046 ldev->gpio.methods = ftr_gpio_methods; in aoa_fabric_layout_probe()
1051 ldev->gpio.methods = pmf_gpio_methods; in aoa_fabric_layout_probe()
1055 ldev->selfptr_headphone.ptr = ldev; in aoa_fabric_layout_probe()
1056 ldev->selfptr_lineout.ptr = ldev; in aoa_fabric_layout_probe()
1057 dev_set_drvdata(&sdev->ofdev.dev, ldev); in aoa_fabric_layout_probe()
1058 list_add(&ldev->list, &layouts_list); in aoa_fabric_layout_probe()
1064 sdev->pcmid = ldev->layout->pcmid; in aoa_fabric_layout_probe()
1065 if (ldev->layout->busname) { in aoa_fabric_layout_probe()
1066 sdev->pcmname = ldev->layout->busname; in aoa_fabric_layout_probe()
1071 ldev->gpio.methods->init(&ldev->gpio); in aoa_fabric_layout_probe()
1081 ldev->switch_on_headphone = 1; in aoa_fabric_layout_probe()
1082 ldev->switch_on_lineout = 1; in aoa_fabric_layout_probe()
1086 ldev->gpio.methods->exit(&ldev->gpio); in aoa_fabric_layout_probe()
1090 list_del(&ldev->list); in aoa_fabric_layout_probe()
1092 kfree(ldev); in aoa_fabric_layout_probe()
1101 struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev); in aoa_fabric_layout_remove() local
1105 if (ldev->codecs[i]) { in aoa_fabric_layout_remove()
1106 aoa_fabric_unlink_codec(ldev->codecs[i]); in aoa_fabric_layout_remove()
1108 ldev->codecs[i] = NULL; in aoa_fabric_layout_remove()
1110 list_del(&ldev->list); in aoa_fabric_layout_remove()
1112 of_node_put(ldev->sound); in aoa_fabric_layout_remove()
1114 ldev->gpio.methods->set_notify(&ldev->gpio, in aoa_fabric_layout_remove()
1118 ldev->gpio.methods->set_notify(&ldev->gpio, in aoa_fabric_layout_remove()
1123 ldev->gpio.methods->exit(&ldev->gpio); in aoa_fabric_layout_remove()
1125 kfree(ldev); in aoa_fabric_layout_remove()
1134 struct layout_dev *ldev = dev_get_drvdata(dev); in aoa_fabric_layout_suspend() local
1136 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off) in aoa_fabric_layout_suspend()
1137 ldev->gpio.methods->all_amps_off(&ldev->gpio); in aoa_fabric_layout_suspend()
1144 struct layout_dev *ldev = dev_get_drvdata(dev); in aoa_fabric_layout_resume() local
1146 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_restore) in aoa_fabric_layout_resume()
1147 ldev->gpio.methods->all_amps_restore(&ldev->gpio); in aoa_fabric_layout_resume()