Lines Matching refs:charger

25 #define DRV_NAME "cros-usbpd-charger"
41 struct charger_data *charger;
92 return port->port_number >= port->charger->num_usbpd_ports;
95 static int cros_usbpd_charger_ec_command(struct charger_data *charger,
103 struct cros_ec_dev *ec_dev = charger->ec_dev;
119 ret = cros_ec_cmd_xfer_status(charger->ec_device, msg);
127 static int cros_usbpd_charger_get_num_ports(struct charger_data *charger)
132 ret = cros_usbpd_charger_ec_command(charger, 0,
141 static int cros_usbpd_charger_get_usbpd_num_ports(struct charger_data *charger)
146 ret = cros_usbpd_charger_ec_command(charger, 0, EC_CMD_USB_PD_PORTS,
156 struct charger_data *charger = port->charger;
163 ret = cros_usbpd_charger_ec_command(charger, 0,
168 dev_err(charger->dev,
173 dev_dbg(charger->dev, "Port %d: VID = 0x%x, PID=0x%x, PTYPE=0x%x\n",
185 struct charger_data *charger = port->charger;
189 struct device *dev = charger->dev;
193 ret = cros_usbpd_charger_ec_command(charger, 0,
269 * While the EC is trying to determine the type of charger that
270 * has been plugged in, it will report the charger type as
328 static int cros_usbpd_charger_set_ext_power_limit(struct charger_data *charger,
338 ret = cros_usbpd_charger_ec_command(charger, 0,
342 dev_err(charger->dev,
351 struct charger_data *charger = port->charger;
354 for (i = 0; i < charger->num_registered_psy; i++)
355 cros_usbpd_charger_get_port_status(charger->ports[i], false);
363 struct charger_data *charger = port->charger;
364 struct cros_ec_device *ec_device = charger->ec_device;
365 struct device *dev = charger->dev;
450 struct charger_data *charger = port->charger;
451 struct device *dev = charger->dev;
466 ret = cros_usbpd_charger_set_ext_power_limit(charger, intval,
481 ret = cros_usbpd_charger_set_ext_power_limit(charger,
524 struct charger_data *charger = container_of(nb, struct charger_data,
527 cros_usbpd_charger_power_changed(charger->ports[0]->psy);
533 struct charger_data *charger = data;
535 cros_usbpd_unregister_notify(&charger->notifier);
544 struct charger_data *charger;
550 charger = devm_kzalloc(dev, sizeof(struct charger_data),
552 if (!charger)
555 charger->dev = dev;
556 charger->ec_dev = ec_dev;
557 charger->ec_device = ec_device;
559 platform_set_drvdata(pd, charger);
566 charger->num_usbpd_ports =
567 cros_usbpd_charger_get_usbpd_num_ports(charger);
568 if (charger->num_usbpd_ports <= 0) {
576 charger->num_charger_ports = cros_usbpd_charger_get_num_ports(charger);
577 if (charger->num_charger_ports < 0) {
582 * let's set up the number of charger ports equal to the number
585 dev_info(dev, "Could not get charger port count\n");
586 charger->num_charger_ports = charger->num_usbpd_ports;
589 if (charger->num_charger_ports <= 0) {
604 if (charger->num_charger_ports < charger->num_usbpd_ports ||
605 charger->num_charger_ports > (charger->num_usbpd_ports + 1)) {
611 for (i = 0; i < charger->num_charger_ports; i++) {
620 port->charger = charger;
660 charger->ports[charger->num_registered_psy++] = port;
663 if (!charger->num_registered_psy) {
670 charger->notifier.notifier_call = cros_usbpd_charger_ec_event;
671 ret = cros_usbpd_register_notify(&charger->notifier);
677 charger);
695 struct charger_data *charger = dev_get_drvdata(dev);
698 if (!charger)
701 for (i = 0; i < charger->num_registered_psy; i++) {
702 power_supply_changed(charger->ports[i]->psy);
703 charger->ports[i]->last_update =
725 MODULE_DESCRIPTION("ChromeOS EC USBPD charger");