Lines Matching refs:power

510 	 * posterity, we're probably about to run out of power. */
536 struct wm831x_power *power;
539 power = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_power),
541 if (power == NULL)
544 power->wm831x = wm831x;
545 platform_set_drvdata(pdev, power);
548 snprintf(power->wall_name, sizeof(power->wall_name),
550 snprintf(power->battery_name, sizeof(power->wall_name),
552 snprintf(power->usb_name, sizeof(power->wall_name),
555 snprintf(power->wall_name, sizeof(power->wall_name),
557 snprintf(power->battery_name, sizeof(power->wall_name),
559 snprintf(power->usb_name, sizeof(power->wall_name),
568 power->wall_desc.name = power->wall_name;
569 power->wall_desc.type = POWER_SUPPLY_TYPE_MAINS;
570 power->wall_desc.properties = wm831x_wall_props;
571 power->wall_desc.num_properties = ARRAY_SIZE(wm831x_wall_props);
572 power->wall_desc.get_property = wm831x_wall_get_prop;
573 power->wall = power_supply_register(&pdev->dev, &power->wall_desc,
575 if (IS_ERR(power->wall)) {
576 ret = PTR_ERR(power->wall);
580 power->usb_desc.name = power->usb_name,
581 power->usb_desc.type = POWER_SUPPLY_TYPE_USB;
582 power->usb_desc.properties = wm831x_usb_props;
583 power->usb_desc.num_properties = ARRAY_SIZE(wm831x_usb_props);
584 power->usb_desc.get_property = wm831x_usb_get_prop;
585 power->usb = power_supply_register(&pdev->dev, &power->usb_desc, NULL);
586 if (IS_ERR(power->usb)) {
587 ret = PTR_ERR(power->usb);
594 power->have_battery = ret & WM831X_CHG_ENA;
596 if (power->have_battery) {
597 power->battery_desc.name = power->battery_name;
598 power->battery_desc.properties = wm831x_bat_props;
599 power->battery_desc.num_properties = ARRAY_SIZE(wm831x_bat_props);
600 power->battery_desc.get_property = wm831x_bat_get_prop;
601 power->battery_desc.use_for_apm = 1;
602 power->battery = power_supply_register(&pdev->dev,
603 &power->battery_desc,
605 if (IS_ERR(power->battery)) {
606 ret = PTR_ERR(power->battery);
613 IRQF_TRIGGER_RISING | IRQF_ONESHOT, "System power low",
614 power);
624 power);
638 power);
647 power->usb_phy = devm_usb_get_phy_by_phandle(&pdev->dev, "phys", 0);
648 ret = PTR_ERR_OR_ZERO(power->usb_phy);
652 power->usb_notify.notifier_call = wm831x_usb_limit_change;
653 ret = usb_register_notifier(power->usb_phy, &power->usb_notify);
663 power->usb_phy = NULL;
680 free_irq(irq, power);
683 free_irq(irq, power);
686 free_irq(irq, power);
688 if (power->have_battery)
689 power_supply_unregister(power->battery);
691 power_supply_unregister(power->usb);
693 power_supply_unregister(power->wall);
733 .name = "wm831x-power",
742 MODULE_ALIAS("platform:wm831x-power");