• Home
  • Raw
  • Download

Lines Matching +full:can +full:- +full:transceiver

8  * This program is free software; you can redistribute it and/or modify
27 return IRQF_SHARED | (res->flags & IRQF_TRIGGER_MASK); in get_irq_flags()
40 static struct usb_phy *transceiver; variable
51 static int new_ac_status = -1;
52 static int new_usb_status = -1;
53 static int ac_status = -1;
54 static int usb_status = -1;
62 if (psy->desc->type == POWER_SUPPLY_TYPE_MAINS) in pda_power_get_property()
63 val->intval = pdata->is_ac_online ? in pda_power_get_property()
64 pdata->is_ac_online() : 0; in pda_power_get_property()
66 val->intval = pdata->is_usb_online ? in pda_power_get_property()
67 pdata->is_usb_online() : 0; in pda_power_get_property()
70 return -EINVAL; in pda_power_get_property()
80 "main-battery",
81 "backup-battery",
102 if (pdata->is_ac_online) in update_status()
103 new_ac_status = !!pdata->is_ac_online(); in update_status()
105 if (pdata->is_usb_online) in update_status()
106 new_usb_status = !!pdata->is_usb_online(); in update_status()
112 int max_uA = pdata->ac_max_uA; in update_charger()
114 if (pdata->set_charge) { in update_charger()
117 pdata->set_charge(PDA_POWER_CHARGE_AC); in update_charger()
120 pdata->set_charge(PDA_POWER_CHARGE_USB); in update_charger()
123 pdata->set_charge(0); in update_charger()
166 msecs_to_jiffies(pdata->wait_for_charger)); in psy_changed()
190 msecs_to_jiffies(pdata->wait_for_status)); in power_changed_isr()
218 msecs_to_jiffies(pdata->polling_interval)); in polling_work_func()
224 return (transceiver->last_event == USB_EVENT_VBUS || in otg_is_usb_online()
225 transceiver->last_event == USB_EVENT_ENUMERATED); in otg_is_usb_online()
230 return (transceiver->last_event == USB_EVENT_CHARGER); in otg_is_ac_online()
258 msecs_to_jiffies(pdata->wait_for_status)); in otg_handle_notification()
269 dev = &pdev->dev; in pda_power_probe()
271 if (pdev->id != -1) { in pda_power_probe()
273 "pda_powers; use id = -1\n"); in pda_power_probe()
274 ret = -EINVAL; in pda_power_probe()
278 pdata = pdev->dev.platform_data; in pda_power_probe()
280 if (pdata->init) { in pda_power_probe()
281 ret = pdata->init(dev); in pda_power_probe()
295 if (!pdata->wait_for_status) in pda_power_probe()
296 pdata->wait_for_status = 500; in pda_power_probe()
298 if (!pdata->wait_for_charger) in pda_power_probe()
299 pdata->wait_for_charger = 500; in pda_power_probe()
301 if (!pdata->polling_interval) in pda_power_probe()
302 pdata->polling_interval = 2000; in pda_power_probe()
304 if (!pdata->ac_max_uA) in pda_power_probe()
305 pdata->ac_max_uA = 500000; in pda_power_probe()
313 if (pdata->supplied_to) { in pda_power_probe()
314 psy_cfg.supplied_to = pdata->supplied_to; in pda_power_probe()
315 psy_cfg.num_supplicants = pdata->num_supplicants; in pda_power_probe()
322 transceiver = usb_get_phy(USB_PHY_TYPE_USB2); in pda_power_probe()
323 if (!IS_ERR_OR_NULL(transceiver)) { in pda_power_probe()
324 if (!pdata->is_usb_online) in pda_power_probe()
325 pdata->is_usb_online = otg_is_usb_online; in pda_power_probe()
326 if (!pdata->is_ac_online) in pda_power_probe()
327 pdata->is_ac_online = otg_is_ac_online; in pda_power_probe()
331 if (pdata->is_ac_online) { in pda_power_probe()
332 pda_psy_ac = power_supply_register(&pdev->dev, in pda_power_probe()
342 ret = request_irq(ac_irq->start, power_changed_isr, in pda_power_probe()
343 get_irq_flags(ac_irq), ac_irq->name, in pda_power_probe()
354 if (pdata->is_usb_online) { in pda_power_probe()
355 pda_psy_usb = power_supply_register(&pdev->dev, in pda_power_probe()
366 ret = request_irq(usb_irq->start, power_changed_isr, in pda_power_probe()
368 usb_irq->name, pda_psy_usb); in pda_power_probe()
379 if (!IS_ERR_OR_NULL(transceiver) && pdata->use_otg_notifier) { in pda_power_probe()
381 ret = usb_register_notifier(transceiver, &otg_nb); in pda_power_probe()
395 msecs_to_jiffies(pdata->polling_interval)); in pda_power_probe()
399 device_init_wakeup(&pdev->dev, 1); in pda_power_probe()
405 if (pdata->is_usb_online && usb_irq) in pda_power_probe()
406 free_irq(usb_irq->start, pda_psy_usb); in pda_power_probe()
409 if (pdata->is_usb_online) in pda_power_probe()
412 if (pdata->is_ac_online && ac_irq) in pda_power_probe()
413 free_irq(ac_irq->start, pda_psy_ac); in pda_power_probe()
415 if (!IS_ERR_OR_NULL(transceiver)) in pda_power_probe()
416 usb_put_phy(transceiver); in pda_power_probe()
419 if (pdata->is_ac_online) in pda_power_probe()
426 if (pdata->exit) in pda_power_probe()
427 pdata->exit(dev); in pda_power_probe()
435 if (pdata->is_usb_online && usb_irq) in pda_power_remove()
436 free_irq(usb_irq->start, pda_psy_usb); in pda_power_remove()
437 if (pdata->is_ac_online && ac_irq) in pda_power_remove()
438 free_irq(ac_irq->start, pda_psy_ac); in pda_power_remove()
445 if (pdata->is_usb_online) in pda_power_remove()
447 if (pdata->is_ac_online) in pda_power_remove()
450 if (!IS_ERR_OR_NULL(transceiver)) in pda_power_remove()
451 usb_put_phy(transceiver); in pda_power_remove()
457 if (pdata->exit) in pda_power_remove()
458 pdata->exit(dev); in pda_power_remove()
469 if (pdata->suspend) { in pda_power_suspend()
470 int ret = pdata->suspend(state); in pda_power_suspend()
476 if (device_may_wakeup(&pdev->dev)) { in pda_power_suspend()
478 ac_wakeup_enabled = !enable_irq_wake(ac_irq->start); in pda_power_suspend()
480 usb_wakeup_enabled = !enable_irq_wake(usb_irq->start); in pda_power_suspend()
488 if (device_may_wakeup(&pdev->dev)) { in pda_power_resume()
490 disable_irq_wake(usb_irq->start); in pda_power_resume()
492 disable_irq_wake(ac_irq->start); in pda_power_resume()
495 if (pdata->resume) in pda_power_resume()
496 return pdata->resume(); in pda_power_resume()
507 .name = "pda-power",
519 MODULE_ALIAS("platform:pda-power");