Lines Matching refs:ldev
669 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detect_choice_get() local
673 ucontrol->value.integer.value[0] = ldev->switch_on_headphone; in detect_choice_get()
676 ucontrol->value.integer.value[0] = ldev->switch_on_lineout; in detect_choice_get()
687 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detect_choice_put() local
691 ldev->switch_on_headphone = !!ucontrol->value.integer.value[0]; in detect_choice_put()
694 ldev->switch_on_lineout = !!ucontrol->value.integer.value[0]; in detect_choice_put()
725 struct layout_dev *ldev = snd_kcontrol_chip(kcontrol); in detected_get() local
730 v = ldev->gpio.methods->get_detect(&ldev->gpio, in detected_get()
734 v = ldev->gpio.methods->get_detect(&ldev->gpio, in detected_get()
763 struct layout_dev *ldev, in check_codec() argument
774 ref = of_get_property(ldev->sound, propname, NULL); in check_codec()
792 codec->soundbus_dev = ldev->sdev; in check_codec()
793 codec->gpio = &ldev->gpio; in check_codec()
814 struct layout_dev *ldev; in layout_found_codec() local
817 list_for_each_entry(ldev, &layouts_list, list) { in layout_found_codec()
819 if (!ldev->layout->codecs[i].name) in layout_found_codec()
821 if (strcmp(ldev->layout->codecs[i].name, codec->name) == 0) { in layout_found_codec()
823 ldev, in layout_found_codec()
824 &ldev->layout->codecs[i]) == 0) in layout_found_codec()
847 struct layout_dev *ldev; in layout_notify() local
852 ldev = dptr->ptr; in layout_notify()
853 if (data == &ldev->selfptr_headphone) { in layout_notify()
854 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_HEADPHONE); in layout_notify()
855 detected = ldev->headphone_detected_ctrl; in layout_notify()
856 update = ldev->switch_on_headphone; in layout_notify()
858 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); in layout_notify()
859 ldev->gpio.methods->set_headphone(&ldev->gpio, v); in layout_notify()
860 ldev->gpio.methods->set_lineout(&ldev->gpio, 0); in layout_notify()
862 } else if (data == &ldev->selfptr_lineout) { in layout_notify()
863 v = ldev->gpio.methods->get_detect(&ldev->gpio, AOA_NOTIFY_LINE_OUT); in layout_notify()
864 detected = ldev->lineout_detected_ctrl; in layout_notify()
865 update = ldev->switch_on_lineout; in layout_notify()
867 ldev->gpio.methods->set_speakers(&ldev->gpio, !v); in layout_notify()
868 ldev->gpio.methods->set_headphone(&ldev->gpio, 0); in layout_notify()
869 ldev->gpio.methods->set_lineout(&ldev->gpio, v); in layout_notify()
877 c = ldev->headphone_ctrl; in layout_notify()
880 c = ldev->speaker_ctrl; in layout_notify()
883 c = ldev->lineout_ctrl; in layout_notify()
894 struct layout_dev *ldev = layout_device; in layout_attached_codec() local
907 ldev->master_ctrl = ctl; in layout_attached_codec()
913 ldev->gpio.methods->set_speakers(codec->gpio, 1); in layout_attached_codec()
915 ldev->speaker_ctrl = ctl; in layout_attached_codec()
920 ldev->gpio.methods->set_headphone(codec->gpio, 1); in layout_attached_codec()
922 ldev->headphone_ctrl = ctl; in layout_attached_codec()
924 ldev->have_headphone_detect = in layout_attached_codec()
925 !ldev->gpio.methods in layout_attached_codec()
926 ->set_notify(&ldev->gpio, in layout_attached_codec()
929 &ldev->selfptr_headphone); in layout_attached_codec()
930 if (ldev->have_headphone_detect) { in layout_attached_codec()
932 ldev); in layout_attached_codec()
935 ldev); in layout_attached_codec()
936 ldev->headphone_detected_ctrl = ctl; in layout_attached_codec()
942 ldev->gpio.methods->set_lineout(codec->gpio, 1); in layout_attached_codec()
947 ldev->lineout_ctrl = ctl; in layout_attached_codec()
949 ldev->have_lineout_detect = in layout_attached_codec()
950 !ldev->gpio.methods in layout_attached_codec()
951 ->set_notify(&ldev->gpio, in layout_attached_codec()
954 &ldev->selfptr_lineout); in layout_attached_codec()
955 if (ldev->have_lineout_detect) { in layout_attached_codec()
957 ldev); in layout_attached_codec()
964 ldev); in layout_attached_codec()
969 ldev->lineout_detected_ctrl = ctl; in layout_attached_codec()
976 if (ldev->have_headphone_detect) in layout_attached_codec()
977 layout_notify(&ldev->selfptr_headphone); in layout_attached_codec()
978 if (ldev->have_lineout_detect) in layout_attached_codec()
979 layout_notify(&ldev->selfptr_lineout); in layout_attached_codec()
995 struct layout_dev *ldev = NULL; in aoa_fabric_layout_probe() local
1024 ldev = kzalloc(sizeof(struct layout_dev), GFP_KERNEL); in aoa_fabric_layout_probe()
1025 if (!ldev) in aoa_fabric_layout_probe()
1028 layout_device = ldev; in aoa_fabric_layout_probe()
1029 ldev->sdev = sdev; in aoa_fabric_layout_probe()
1030 ldev->sound = sound; in aoa_fabric_layout_probe()
1031 ldev->layout = layout; in aoa_fabric_layout_probe()
1032 ldev->gpio.node = sound->parent; in aoa_fabric_layout_probe()
1038 ldev->gpio.methods = ftr_gpio_methods; in aoa_fabric_layout_probe()
1043 ldev->gpio.methods = pmf_gpio_methods; in aoa_fabric_layout_probe()
1047 ldev->selfptr_headphone.ptr = ldev; in aoa_fabric_layout_probe()
1048 ldev->selfptr_lineout.ptr = ldev; in aoa_fabric_layout_probe()
1049 dev_set_drvdata(&sdev->ofdev.dev, ldev); in aoa_fabric_layout_probe()
1050 list_add(&ldev->list, &layouts_list); in aoa_fabric_layout_probe()
1056 sdev->pcmid = ldev->layout->pcmid; in aoa_fabric_layout_probe()
1057 if (ldev->layout->busname) { in aoa_fabric_layout_probe()
1058 sdev->pcmname = ldev->layout->busname; in aoa_fabric_layout_probe()
1063 ldev->gpio.methods->init(&ldev->gpio); in aoa_fabric_layout_probe()
1073 ldev->switch_on_headphone = 1; in aoa_fabric_layout_probe()
1074 ldev->switch_on_lineout = 1; in aoa_fabric_layout_probe()
1078 ldev->gpio.methods->exit(&ldev->gpio); in aoa_fabric_layout_probe()
1082 list_del(&ldev->list); in aoa_fabric_layout_probe()
1084 kfree(ldev); in aoa_fabric_layout_probe()
1093 struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev); in aoa_fabric_layout_remove() local
1097 if (ldev->codecs[i]) { in aoa_fabric_layout_remove()
1098 aoa_fabric_unlink_codec(ldev->codecs[i]); in aoa_fabric_layout_remove()
1100 ldev->codecs[i] = NULL; in aoa_fabric_layout_remove()
1102 list_del(&ldev->list); in aoa_fabric_layout_remove()
1104 of_node_put(ldev->sound); in aoa_fabric_layout_remove()
1106 ldev->gpio.methods->set_notify(&ldev->gpio, in aoa_fabric_layout_remove()
1110 ldev->gpio.methods->set_notify(&ldev->gpio, in aoa_fabric_layout_remove()
1115 ldev->gpio.methods->exit(&ldev->gpio); in aoa_fabric_layout_remove()
1117 kfree(ldev); in aoa_fabric_layout_remove()
1126 struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev); in aoa_fabric_layout_suspend() local
1128 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off) in aoa_fabric_layout_suspend()
1129 ldev->gpio.methods->all_amps_off(&ldev->gpio); in aoa_fabric_layout_suspend()
1136 struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev); in aoa_fabric_layout_resume() local
1138 if (ldev->gpio.methods && ldev->gpio.methods->all_amps_restore) in aoa_fabric_layout_resume()
1139 ldev->gpio.methods->all_amps_restore(&ldev->gpio); in aoa_fabric_layout_resume()