Lines Matching +refs:dev +refs:id +refs:attrs

34 	unsigned int id;  member
40 .id = EXTCON_NONE,
47 .id = EXTCON_USB,
52 .id = EXTCON_USB_HOST,
59 .id = EXTCON_CHG_USB_SDP,
64 .id = EXTCON_CHG_USB_DCP,
69 .id = EXTCON_CHG_USB_CDP,
74 .id = EXTCON_CHG_USB_ACA,
79 .id = EXTCON_CHG_USB_FAST,
84 .id = EXTCON_CHG_USB_SLOW,
89 .id = EXTCON_CHG_WPT,
94 .id = EXTCON_CHG_USB_PD,
101 .id = EXTCON_JACK_MICROPHONE,
106 .id = EXTCON_JACK_HEADPHONE,
111 .id = EXTCON_JACK_LINE_IN,
116 .id = EXTCON_JACK_LINE_OUT,
121 .id = EXTCON_JACK_VIDEO_IN,
126 .id = EXTCON_JACK_VIDEO_OUT,
131 .id = EXTCON_JACK_SPDIF_IN,
136 .id = EXTCON_JACK_SPDIF_OUT,
143 .id = EXTCON_DISP_HDMI,
148 .id = EXTCON_DISP_MHL,
153 .id = EXTCON_DISP_DVI,
158 .id = EXTCON_DISP_VGA,
163 .id = EXTCON_DISP_DP,
168 .id = EXTCON_DISP_HMD,
173 .id = EXTCON_DISP_CVBS,
178 .id = EXTCON_DISP_EDP,
185 .id = EXTCON_DOCK,
190 .id = EXTCON_JIG,
195 .id = EXTCON_MECHANICAL,
227 struct attribute *attrs[3]; /* to be fed to attr_g.attrs */ member
266 static int find_cable_index_by_id(struct extcon_dev *edev, const unsigned int id) in find_cable_index_by_id() argument
272 if (edev->supported_cable[i] == id) in find_cable_index_by_id()
307 static bool is_extcon_property_supported(unsigned int id, unsigned int prop) in is_extcon_property_supported() argument
317 return !!(extcon_info[id].type & type); in is_extcon_property_supported()
321 unsigned int id, int index,unsigned int prop) in is_extcon_property_capability() argument
353 static void init_property(struct extcon_dev *edev, unsigned int id, int index) in init_property() argument
355 unsigned int type = extcon_info[id].type; in init_property()
368 static ssize_t state_show(struct device *dev, struct device_attribute *attr, in state_show() argument
372 struct extcon_dev *edev = dev_get_drvdata(dev); in state_show()
387 static ssize_t name_show(struct device *dev, struct device_attribute *attr, in name_show() argument
390 struct extcon_dev *edev = dev_get_drvdata(dev); in name_show()
396 static ssize_t cable_name_show(struct device *dev, in cable_name_show() argument
407 static ssize_t cable_state_show(struct device *dev, in cable_state_show() argument
429 int extcon_sync(struct extcon_dev *edev, unsigned int id) in extcon_sync() argument
444 index = find_cable_index_by_id(edev, id); in extcon_sync()
471 dev_err(&edev->dev, "out of memory in extcon_set_state\n"); in extcon_sync()
472 kobject_uevent(&edev->dev.kobj, KOBJ_CHANGE); in extcon_sync()
477 length = name_show(&edev->dev, NULL, prop_buf); in extcon_sync()
485 length = state_show(&edev->dev, NULL, prop_buf); in extcon_sync()
496 kobject_uevent_env(&edev->dev.kobj, KOBJ_CHANGE, envp); in extcon_sync()
510 int extcon_get_state(struct extcon_dev *edev, const unsigned int id) in extcon_get_state() argument
518 index = find_cable_index_by_id(edev, id); in extcon_get_state()
543 int extcon_set_state(struct extcon_dev *edev, unsigned int id, bool state) in extcon_set_state() argument
551 index = find_cable_index_by_id(edev, id); in extcon_set_state()
572 init_property(edev, id, index); in extcon_set_state()
598 int extcon_set_state_sync(struct extcon_dev *edev, unsigned int id, bool state) in extcon_set_state_sync() argument
602 ret = extcon_set_state(edev, id, state); in extcon_set_state_sync()
606 return extcon_sync(edev, id); in extcon_set_state_sync()
624 int extcon_get_property(struct extcon_dev *edev, unsigned int id, in extcon_get_property() argument
638 if (!is_extcon_property_supported(id, prop)) in extcon_get_property()
642 index = find_cable_index_by_id(edev, id); in extcon_get_property()
649 if (!is_extcon_property_capability(edev, id, index, prop)) { in extcon_get_property()
703 int extcon_set_property(struct extcon_dev *edev, unsigned int id, in extcon_set_property() argument
715 if (!is_extcon_property_supported(id, prop)) in extcon_set_property()
719 index = find_cable_index_by_id(edev, id); in extcon_set_property()
726 if (!is_extcon_property_capability(edev, id, index, prop)) { in extcon_set_property()
771 int extcon_set_property_sync(struct extcon_dev *edev, unsigned int id, in extcon_set_property_sync() argument
777 ret = extcon_set_property(edev, id, prop, prop_val); in extcon_set_property_sync()
781 return extcon_sync(edev, id); in extcon_set_property_sync()
794 int extcon_get_property_capability(struct extcon_dev *edev, unsigned int id, in extcon_get_property_capability() argument
803 if (!is_extcon_property_supported(id, prop)) in extcon_get_property_capability()
807 index = find_cable_index_by_id(edev, id); in extcon_get_property_capability()
811 return is_extcon_property_capability(edev, id, index, prop); in extcon_get_property_capability()
828 int extcon_set_property_capability(struct extcon_dev *edev, unsigned int id, in extcon_set_property_capability() argument
838 if (!is_extcon_property_supported(id, prop)) in extcon_set_property_capability()
842 index = find_cable_index_by_id(edev, id); in extcon_set_property_capability()
913 int extcon_register_notifier(struct extcon_dev *edev, unsigned int id, in extcon_register_notifier() argument
922 idx = find_cable_index_by_id(edev, id); in extcon_register_notifier()
942 int extcon_unregister_notifier(struct extcon_dev *edev, unsigned int id, in extcon_unregister_notifier() argument
951 idx = find_cable_index_by_id(edev, id); in extcon_unregister_notifier()
1036 static void extcon_dev_release(struct device *dev) in extcon_dev_release() argument
1041 static void dummy_sysfs_dev_release(struct device *dev) in dummy_sysfs_dev_release() argument
1122 cable->attrs[0] = &cable->attr_name.attr; in extcon_alloc_cables()
1123 cable->attrs[1] = &cable->attr_state.attr; in extcon_alloc_cables()
1124 cable->attrs[2] = NULL; in extcon_alloc_cables()
1126 cable->attr_g.attrs = cable->attrs; in extcon_alloc_cables()
1192 edev->attr_g_muex.attrs = edev->attrs_muex; in extcon_alloc_muex()
1219 edev->extcon_dev_type.name = dev_name(&edev->dev); in extcon_alloc_groups()
1228 edev->dev.type = &edev->extcon_dev_type; in extcon_alloc_groups()
1262 dev_err(&edev->dev, in extcon_dev_register()
1267 edev->dev.class = extcon_class; in extcon_dev_register()
1268 edev->dev.release = extcon_dev_release; in extcon_dev_register()
1270 edev->name = dev_name(edev->dev.parent); in extcon_dev_register()
1272 dev_err(&edev->dev, in extcon_dev_register()
1281 edev->id = ret; in extcon_dev_register()
1283 dev_set_name(&edev->dev, "extcon%d", edev->id); in extcon_dev_register()
1312 dev_set_drvdata(&edev->dev, edev); in extcon_dev_register()
1315 ret = device_register(&edev->dev); in extcon_dev_register()
1317 put_device(&edev->dev); in extcon_dev_register()
1346 ida_free(&extcon_dev_ids, edev->id); in extcon_dev_register()
1370 if (!get_device(&edev->dev)) { in extcon_dev_unregister()
1371 dev_err(&edev->dev, "Failed to unregister extcon_dev\n"); in extcon_dev_unregister()
1375 ida_free(&extcon_dev_ids, edev->id); in extcon_dev_unregister()
1377 device_unregister(&edev->dev); in extcon_dev_unregister()
1396 put_device(&edev->dev); in extcon_dev_unregister()
1414 if (edev->dev.parent && device_match_of_node(edev->dev.parent, node)) in extcon_find_edev_by_node()
1430 struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, int index) in extcon_get_edev_by_phandle() argument
1432 struct device_node *node, *np = dev_of_node(dev); in extcon_get_edev_by_phandle()
1436 dev_dbg(dev, "device does not have a device node entry\n"); in extcon_get_edev_by_phandle()
1442 dev_dbg(dev, "failed to get phandle in %pOF node\n", np); in extcon_get_edev_by_phandle()
1459 struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, int index) in extcon_get_edev_by_phandle() argument