Lines Matching refs:ldev
676 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detect_choice_get() local
680 ucontrol->value.integer.value[0] = ldev->switch_on_headphone; in detect_choice_get()
683 ucontrol->value.integer.value[0] = ldev->switch_on_lineout; in detect_choice_get()
694 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detect_choice_put() local
698 ldev->switch_on_headphone = !!ucontrol->value.integer.value[0]; in detect_choice_put()
701 ldev->switch_on_lineout = !!ucontrol->value.integer.value[0]; in detect_choice_put()
732 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detected_get() local
737 v = ldev->gpio.methods->get_detect(&ldev->gpio, in detected_get()
741 v = ldev->gpio.methods->get_detect(&ldev->gpio, in detected_get()
770 struct layout_dev *ldev, in check_codec() argument
781 ref = of_get_property(ldev->sound, propname, NULL); in check_codec()
799 codec->soundbus_dev = ldev->sdev; in check_codec()
800 codec->gpio = &ldev->gpio; in check_codec()
821 struct layout_dev *ldev; in layout_found_codec() local
824 list_for_each_entry(ldev, &layouts_list, list) { in layout_found_codec()
826 if (!ldev->layout->codecs[i].name) in layout_found_codec()
828 if (strcmp(ldev->layout->codecs[i].name, codec->name) == 0) { in layout_found_codec()
830 ldev, in layout_found_codec()
831 &ldev->layout->codecs[i]) == 0) in layout_found_codec()
854 struct layout_dev *ldev; in layout_notify() local
859 ldev = dptr->ptr; in layout_notify()
860 if (data == &ldev->selfptr_headphone) { in layout_notify()
861 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_HEADPHONE); in layout_notify()
862 detected = ldev->headphone_detected_ctrl; in layout_notify()
863 update = ldev->switch_on_headphone; in layout_notify()
865 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); in layout_notify()
866 ldev->gpio.methods->set_headphone(&ldev->gpio, v); in layout_notify()
867 ldev->gpio.methods->set_lineout(&ldev->gpio, 0); in layout_notify()
869 } else if (data == &ldev->selfptr_lineout) { in layout_notify()
870 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_LINE_OUT); in layout_notify()
871 detected = ldev->lineout_detected_ctrl; in layout_notify()
872 update = ldev->switch_on_lineout; in layout_notify()
874 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); in layout_notify()
875 ldev->gpio.methods->set_headphone(&ldev->gpio, 0); in layout_notify()
876 ldev->gpio.methods->set_lineout(&ldev->gpio, v); in layout_notify()
884 c = ldev->headphone_ctrl; in layout_notify()
887 c = ldev->speaker_ctrl; in layout_notify()
890 c = ldev->lineout_ctrl; in layout_notify()
901 struct layout_dev *ldev = layout_device; in layout_attached_codec() local
914 ldev->master_ctrl = ctl; in layout_attached_codec()
920 ldev->gpio.methods->set_speakers(codec->gpio, 1); in layout_attached_codec()
922 ldev->speaker_ctrl = ctl; in layout_attached_codec()
927 ldev->gpio.methods->set_headphone(codec->gpio, 1); in layout_attached_codec()
929 ldev->headphone_ctrl = ctl; in layout_attached_codec()
931 ldev->have_headphone_detect = in layout_attached_codec()
932 !ldev->gpio.methods in layout_attached_codec()
933 ->set_notify(&ldev->gpio, in layout_attached_codec()
936 &ldev->selfptr_headphone); in layout_attached_codec()
937 if (ldev->have_headphone_detect) { in layout_attached_codec()
939 ldev); in layout_attached_codec()
942 ldev); in layout_attached_codec()
943 ldev->headphone_detected_ctrl = ctl; in layout_attached_codec()
949 ldev->gpio.methods->set_lineout(codec->gpio, 1); in layout_attached_codec()
954 ldev->lineout_ctrl = ctl; in layout_attached_codec()
956 ldev->have_lineout_detect = in layout_attached_codec()
957 !ldev->gpio.methods in layout_attached_codec()
958 ->set_notify(&ldev->gpio, in layout_attached_codec()
961 &ldev->selfptr_lineout); in layout_attached_codec()
962 if (ldev->have_lineout_detect) { in layout_attached_codec()
964 ldev); in layout_attached_codec()
971 ldev); in layout_attached_codec()
976 ldev->lineout_detected_ctrl = ctl; in layout_attached_codec()
983 if (ldev->have_headphone_detect) in layout_attached_codec()
984 layout_notify(&ldev->selfptr_headphone); in layout_attached_codec()
985 if (ldev->have_lineout_detect) in layout_attached_codec()
986 layout_notify(&ldev->selfptr_lineout); in layout_attached_codec()
1002 struct layout_dev *ldev = NULL; in aoa_fabric_layout_probe() local
1031 ldev = kzalloc(sizeof(struct layout_dev), GFP_KERNEL); in aoa_fabric_layout_probe()
1032 if (!ldev) in aoa_fabric_layout_probe()
1035 layout_device = ldev; in aoa_fabric_layout_probe()
1036 ldev->sdev = sdev; in aoa_fabric_layout_probe()
1037 ldev->sound = sound; in aoa_fabric_layout_probe()
1038 ldev->layout = layout; in aoa_fabric_layout_probe()
1039 ldev->gpio.node = sound->parent; in aoa_fabric_layout_probe()
1045 ldev->gpio.methods = ftr_gpio_methods; in aoa_fabric_layout_probe()
1050 ldev->gpio.methods = pmf_gpio_methods; in aoa_fabric_layout_probe()
1054 ldev->selfptr_headphone.ptr = ldev; in aoa_fabric_layout_probe()
1055 ldev->selfptr_lineout.ptr = ldev; in aoa_fabric_layout_probe()
1056 dev_set_drvdata(&sdev->ofdev.dev, ldev); in aoa_fabric_layout_probe()
1057 list_add(&ldev->list, &layouts_list); in aoa_fabric_layout_probe()
1063 sdev->pcmid = ldev->layout->pcmid; in aoa_fabric_layout_probe()
1064 if (ldev->layout->busname) { in aoa_fabric_layout_probe()
1065 sdev->pcmname = ldev->layout->busname; in aoa_fabric_layout_probe()
1070 ldev->gpio.methods->init(&ldev->gpio); in aoa_fabric_layout_probe()
1080 ldev->switch_on_headphone = 1; in aoa_fabric_layout_probe()
1081 ldev->switch_on_lineout = 1; in aoa_fabric_layout_probe()
1085 ldev->gpio.methods->exit(&ldev->gpio); in aoa_fabric_layout_probe()
1089 list_del(&ldev->list); in aoa_fabric_layout_probe()
1091 kfree(ldev); in aoa_fabric_layout_probe()
1100 struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev); in aoa_fabric_layout_remove() local
1104 if (ldev->codecs[i]) { in aoa_fabric_layout_remove()
1105 aoa_fabric_unlink_codec(ldev->codecs[i]); in aoa_fabric_layout_remove()
1107 ldev->codecs[i] = NULL; in aoa_fabric_layout_remove()
1109 list_del(&ldev->list); in aoa_fabric_layout_remove()
1111 of_node_put(ldev->sound); in aoa_fabric_layout_remove()
1113 ldev->gpio.methods->set_notify(&ldev->gpio, in aoa_fabric_layout_remove()
1117 ldev->gpio.methods->set_notify(&ldev->gpio, in aoa_fabric_layout_remove()
1122 ldev->gpio.methods->exit(&ldev->gpio); in aoa_fabric_layout_remove()
1124 kfree(ldev); in aoa_fabric_layout_remove()
1131 struct layout_dev *ldev = dev_get_drvdata(dev); in aoa_fabric_layout_suspend() local
1133 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off) in aoa_fabric_layout_suspend()
1134 ldev->gpio.methods->all_amps_off(&ldev->gpio); in aoa_fabric_layout_suspend()
1141 struct layout_dev *ldev = dev_get_drvdata(dev); in aoa_fabric_layout_resume() local
1143 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_restore) in aoa_fabric_layout_resume()
1144 ldev->gpio.methods->all_amps_restore(&ldev->gpio); in aoa_fabric_layout_resume()