Lines Matching defs:usb_phy

33 	struct usb_phy *phy;
45 static struct usb_phy *__usb_find_phy(struct list_head *list,
48 struct usb_phy *phy = NULL;
60 static struct usb_phy *__of_usb_find_phy(struct device_node *node)
62 struct usb_phy *phy;
77 static void usb_phy_set_default_current(struct usb_phy *usb_phy)
79 usb_phy->chg_cur.sdp_min = DEFAULT_SDP_CUR_MIN;
80 usb_phy->chg_cur.sdp_max = DEFAULT_SDP_CUR_MAX;
81 usb_phy->chg_cur.dcp_min = DEFAULT_DCP_CUR_MIN;
82 usb_phy->chg_cur.dcp_max = DEFAULT_DCP_CUR_MAX;
83 usb_phy->chg_cur.cdp_min = DEFAULT_CDP_CUR_MIN;
84 usb_phy->chg_cur.cdp_max = DEFAULT_CDP_CUR_MAX;
85 usb_phy->chg_cur.aca_min = DEFAULT_ACA_CUR_MIN;
86 usb_phy->chg_cur.aca_max = DEFAULT_ACA_CUR_MAX;
107 struct usb_phy *usb_phy = container_of(work, struct usb_phy, chg_work);
113 switch (usb_phy->chg_state) {
115 usb_phy_get_charger_current(usb_phy, &min, &max);
117 atomic_notifier_call_chain(&usb_phy->notifier, max, usb_phy);
122 usb_phy_set_default_current(usb_phy);
124 atomic_notifier_call_chain(&usb_phy->notifier, 0, usb_phy);
129 dev_warn(usb_phy->dev, "Unknown USB charger state: %d\n",
130 usb_phy->chg_state);
135 "USB_CHARGER_TYPE=%s", usb_chger_type[usb_phy->chg_type]);
136 kobject_uevent_env(&usb_phy->dev->kobj, KOBJ_CHANGE, envp);
139 static void __usb_phy_get_charger_type(struct usb_phy *usb_phy)
141 if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_SDP) > 0) {
142 usb_phy->chg_type = SDP_TYPE;
143 usb_phy->chg_state = USB_CHARGER_PRESENT;
144 } else if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_CDP) > 0) {
145 usb_phy->chg_type = CDP_TYPE;
146 usb_phy->chg_state = USB_CHARGER_PRESENT;
147 } else if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_DCP) > 0) {
148 usb_phy->chg_type = DCP_TYPE;
149 usb_phy->chg_state = USB_CHARGER_PRESENT;
150 } else if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_ACA) > 0) {
151 usb_phy->chg_type = ACA_TYPE;
152 usb_phy->chg_state = USB_CHARGER_PRESENT;
154 usb_phy->chg_type = UNKNOWN_TYPE;
155 usb_phy->chg_state = USB_CHARGER_ABSENT;
158 schedule_work(&usb_phy->chg_work);
173 struct usb_phy *usb_phy = container_of(nb, struct usb_phy, type_nb);
175 __usb_phy_get_charger_type(usb_phy);
181 * @usb_phy: the USB phy to be used
193 void usb_phy_set_charger_current(struct usb_phy *usb_phy, unsigned int mA)
195 switch (usb_phy->chg_type) {
197 if (usb_phy->chg_cur.sdp_max == mA)
200 usb_phy->chg_cur.sdp_max = (mA > DEFAULT_SDP_CUR_MAX_SS) ?
204 if (usb_phy->chg_cur.dcp_max == mA)
207 usb_phy->chg_cur.dcp_max = (mA > DEFAULT_DCP_CUR_MAX) ?
211 if (usb_phy->chg_cur.cdp_max == mA)
214 usb_phy->chg_cur.cdp_max = (mA > DEFAULT_CDP_CUR_MAX) ?
218 if (usb_phy->chg_cur.aca_max == mA)
221 usb_phy->chg_cur.aca_max = (mA > DEFAULT_ACA_CUR_MAX) ?
228 schedule_work(&usb_phy->chg_work);
234 * @usb_phy: the USB phy to be used
242 void usb_phy_get_charger_current(struct usb_phy *usb_phy,
245 switch (usb_phy->chg_type) {
247 *min = usb_phy->chg_cur.sdp_min;
248 *max = usb_phy->chg_cur.sdp_max;
251 *min = usb_phy->chg_cur.dcp_min;
252 *max = usb_phy->chg_cur.dcp_max;
255 *min = usb_phy->chg_cur.cdp_min;
256 *max = usb_phy->chg_cur.cdp_max;
259 *min = usb_phy->chg_cur.aca_min;
260 *max = usb_phy->chg_cur.aca_max;
272 * @usb_phy: the USB phy to be used
279 void usb_phy_set_charger_state(struct usb_phy *usb_phy,
282 if (usb_phy->chg_state == state || !usb_phy->charger_detect)
285 usb_phy->chg_state = state;
286 if (usb_phy->chg_state == USB_CHARGER_PRESENT)
287 usb_phy->chg_type = usb_phy->charger_detect(usb_phy);
289 usb_phy->chg_type = UNKNOWN_TYPE;
291 schedule_work(&usb_phy->chg_work);
297 struct usb_phy *phy = *(struct usb_phy **)res;
313 struct usb_phy **phy = res;
318 static void usb_charger_init(struct usb_phy *usb_phy)
320 usb_phy->chg_type = UNKNOWN_TYPE;
321 usb_phy->chg_state = USB_CHARGER_DEFAULT;
322 usb_phy_set_default_current(usb_phy);
323 INIT_WORK(&usb_phy->chg_work, usb_phy_notify_charger_work);
326 static int usb_add_extcon(struct usb_phy *x)
426 struct usb_phy *devm_usb_get_phy(struct device *dev, enum usb_phy_type type)
428 struct usb_phy **ptr, *phy;
455 struct usb_phy *usb_get_phy(enum usb_phy_type type)
457 struct usb_phy *phy = NULL;
497 struct usb_phy *devm_usb_get_phy_by_node(struct device *dev,
501 struct usb_phy *phy = ERR_PTR(-ENOMEM);
556 struct usb_phy *devm_usb_get_phy_by_phandle(struct device *dev,
560 struct usb_phy *phy;
589 void devm_usb_put_phy(struct device *dev, struct usb_phy *phy)
606 void usb_put_phy(struct usb_phy *x)
626 int usb_add_phy(struct usb_phy *x, enum usb_phy_type type)
630 struct usb_phy *phy;
672 int usb_add_phy_dev(struct usb_phy *x)
703 void usb_remove_phy(struct usb_phy *x)
721 void usb_phy_set_event(struct usb_phy *x, unsigned long event)