wcove             179 drivers/usb/typec/tcpm/wcove.c static int wcove_typec_func(struct wcove_typec *wcove,
wcove             189 drivers/usb/typec/tcpm/wcove.c 	obj = acpi_evaluate_dsm(ACPI_HANDLE(wcove->dev), &wcove->guid, 1, func,
wcove             192 drivers/usb/typec/tcpm/wcove.c 		dev_err(wcove->dev, "%s: failed to evaluate _DSM\n", __func__);
wcove             202 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             205 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_write(wcove->regmap, USBC_CONTROL1, 0);
wcove             210 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_write(wcove->regmap, USBC_IRQMASK1, 0);
wcove             214 drivers/usb/typec/tcpm/wcove.c 	return regmap_write(wcove->regmap, USBC_IRQMASK2, 0);
wcove             219 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             223 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_CC1_CTRL, &cc1ctrl);
wcove             227 drivers/usb/typec/tcpm/wcove.c 	wcove->vbus = !!(cc1ctrl & USBC_CC_CTRL_VBUSOK);
wcove             229 drivers/usb/typec/tcpm/wcove.c 	return wcove->vbus;
wcove             234 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             236 drivers/usb/typec/tcpm/wcove.c 	return wcove_typec_func(wcove, WCOVE_FUNC_DRIVE_VBUS, on);
wcove             241 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             243 drivers/usb/typec/tcpm/wcove.c 	return wcove_typec_func(wcove, WCOVE_FUNC_DRIVE_VCONN, on);
wcove             271 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             276 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_CC1_STATUS, &cc1_status);
wcove             280 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_CC2_STATUS, &cc2_status);
wcove             292 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             315 drivers/usb/typec/tcpm/wcove.c 	return regmap_write(wcove->regmap, USBC_CONTROL1, ctrl);
wcove             320 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             322 drivers/usb/typec/tcpm/wcove.c 	return wcove_typec_func(wcove, WCOVE_FUNC_ORIENTATION, pol);
wcove             333 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             337 drivers/usb/typec/tcpm/wcove.c 	ret = wcove_typec_func(wcove, WCOVE_FUNC_ROLE, data == TYPEC_HOST ?
wcove             346 drivers/usb/typec/tcpm/wcove.c 	return regmap_write(wcove->regmap, USBC_PDCFG3, val);
wcove             351 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             353 drivers/usb/typec/tcpm/wcove.c 	return regmap_write(wcove->regmap, USBC_PDCFG2,
wcove             361 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             366 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_TXCMD, &cmd);
wcove             371 drivers/usb/typec/tcpm/wcove.c 		dev_warn(wcove->dev, "%s: Last transmission still ongoing!",
wcove             381 drivers/usb/typec/tcpm/wcove.c 			ret = regmap_write(wcove->regmap, USBC_TX_DATA + i,
wcove             411 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_write(wcove->regmap, USBC_TXINFO,
wcove             416 drivers/usb/typec/tcpm/wcove.c 	return regmap_write(wcove->regmap, USBC_TXCMD, cmd | USBC_TXCMD_START);
wcove             423 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
wcove             443 drivers/usb/typec/tcpm/wcove.c 	return regmap_write(wcove->regmap, USBC_CONTROL1, usbc_ctrl);
wcove             446 drivers/usb/typec/tcpm/wcove.c static int wcove_read_rx_buffer(struct wcove_typec *wcove, void *msg)
wcove             452 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_RXINFO, &info);
wcove             459 drivers/usb/typec/tcpm/wcove.c 		ret = regmap_read(wcove->regmap, USBC_RX_DATA + i, msg + i);
wcove             464 drivers/usb/typec/tcpm/wcove.c 	return regmap_write(wcove->regmap, USBC_RXSTATUS,
wcove             470 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = data;
wcove             476 drivers/usb/typec/tcpm/wcove.c 	mutex_lock(&wcove->lock);
wcove             479 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_IRQ1, &usbc_irq1);
wcove             483 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_IRQ2, &usbc_irq2);
wcove             487 drivers/usb/typec/tcpm/wcove.c 	ret = regmap_read(wcove->regmap, USBC_CC1_CTRL, &cc1ctrl);
wcove             491 drivers/usb/typec/tcpm/wcove.c 	if (!wcove->tcpm)
wcove             496 drivers/usb/typec/tcpm/wcove.c 		dev_err(wcove->dev, "VCONN Switch Over Temperature!\n");
wcove             497 drivers/usb/typec/tcpm/wcove.c 		wcove_typec_func(wcove, WCOVE_FUNC_DRIVE_VCONN, false);
wcove             502 drivers/usb/typec/tcpm/wcove.c 		dev_err(wcove->dev, "VCONN Switch Short Circuit!\n");
wcove             503 drivers/usb/typec/tcpm/wcove.c 		wcove_typec_func(wcove, WCOVE_FUNC_DRIVE_VCONN, false);
wcove             507 drivers/usb/typec/tcpm/wcove.c 	if (wcove->vbus != !!(cc1ctrl & USBC_CC_CTRL_VBUSOK))
wcove             508 drivers/usb/typec/tcpm/wcove.c 		tcpm_vbus_change(wcove->tcpm);
wcove             512 drivers/usb/typec/tcpm/wcove.c 		tcpm_cc_change(wcove->tcpm);
wcove             522 drivers/usb/typec/tcpm/wcove.c 		ret = regmap_read(wcove->regmap, USBC_RXSTATUS, &status);
wcove             530 drivers/usb/typec/tcpm/wcove.c 			ret = wcove_read_rx_buffer(wcove, &msg);
wcove             532 drivers/usb/typec/tcpm/wcove.c 				dev_err(wcove->dev, "%s: RX read failed\n",
wcove             537 drivers/usb/typec/tcpm/wcove.c 			tcpm_pd_receive(wcove->tcpm, &msg);
wcove             539 drivers/usb/typec/tcpm/wcove.c 			ret = regmap_read(wcove->regmap, USBC_RXSTATUS,
wcove             547 drivers/usb/typec/tcpm/wcove.c 		tcpm_pd_hard_reset(wcove->tcpm);
wcove             552 drivers/usb/typec/tcpm/wcove.c 		tcpm_pd_transmit_complete(wcove->tcpm, TCPC_TX_SUCCESS);
wcove             555 drivers/usb/typec/tcpm/wcove.c 		tcpm_pd_transmit_complete(wcove->tcpm, TCPC_TX_FAILED);
wcove             560 drivers/usb/typec/tcpm/wcove.c 		ret = regmap_write(wcove->regmap, USBC_IRQ1, usbc_irq1);
wcove             562 drivers/usb/typec/tcpm/wcove.c 			dev_WARN(wcove->dev, "%s failed to clear IRQ1\n",
wcove             567 drivers/usb/typec/tcpm/wcove.c 		ret = regmap_write(wcove->regmap, USBC_IRQ2, usbc_irq2);
wcove             569 drivers/usb/typec/tcpm/wcove.c 			dev_WARN(wcove->dev, "%s failed to clear IRQ2\n",
wcove             574 drivers/usb/typec/tcpm/wcove.c 	regmap_write(wcove->regmap, WCOVE_CHGRIRQ0, BIT(5));
wcove             576 drivers/usb/typec/tcpm/wcove.c 	mutex_unlock(&wcove->lock);
wcove             607 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove;
wcove             611 drivers/usb/typec/tcpm/wcove.c 	wcove = devm_kzalloc(&pdev->dev, sizeof(*wcove), GFP_KERNEL);
wcove             612 drivers/usb/typec/tcpm/wcove.c 	if (!wcove)
wcove             615 drivers/usb/typec/tcpm/wcove.c 	mutex_init(&wcove->lock);
wcove             616 drivers/usb/typec/tcpm/wcove.c 	wcove->dev = &pdev->dev;
wcove             617 drivers/usb/typec/tcpm/wcove.c 	wcove->regmap = pmic->regmap;
wcove             627 drivers/usb/typec/tcpm/wcove.c 	ret = guid_parse(WCOVE_DSM_UUID, &wcove->guid);
wcove             631 drivers/usb/typec/tcpm/wcove.c 	if (!acpi_check_dsm(ACPI_HANDLE(&pdev->dev), &wcove->guid, 0, 0x1f)) {
wcove             636 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.init = wcove_init;
wcove             637 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.get_vbus = wcove_get_vbus;
wcove             638 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.set_vbus = wcove_set_vbus;
wcove             639 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.set_cc = wcove_set_cc;
wcove             640 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.get_cc = wcove_get_cc;
wcove             641 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.set_polarity = wcove_set_polarity;
wcove             642 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.set_vconn = wcove_set_vconn;
wcove             643 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.set_current_limit = wcove_set_current_limit;
wcove             644 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.start_toggling = wcove_start_toggling;
wcove             646 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.set_pd_rx = wcove_set_pd_rx;
wcove             647 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.set_roles = wcove_set_roles;
wcove             648 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.pd_transmit = wcove_pd_transmit;
wcove             650 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpc.fwnode = fwnode_create_software_node(wcove_props, NULL);
wcove             651 drivers/usb/typec/tcpm/wcove.c 	if (IS_ERR(wcove->tcpc.fwnode))
wcove             652 drivers/usb/typec/tcpm/wcove.c 		return PTR_ERR(wcove->tcpc.fwnode);
wcove             654 drivers/usb/typec/tcpm/wcove.c 	wcove->tcpm = tcpm_register_port(wcove->dev, &wcove->tcpc);
wcove             655 drivers/usb/typec/tcpm/wcove.c 	if (IS_ERR(wcove->tcpm)) {
wcove             656 drivers/usb/typec/tcpm/wcove.c 		fwnode_remove_software_node(wcove->tcpc.fwnode);
wcove             657 drivers/usb/typec/tcpm/wcove.c 		return PTR_ERR(wcove->tcpm);
wcove             662 drivers/usb/typec/tcpm/wcove.c 					"wcove_typec", wcove);
wcove             664 drivers/usb/typec/tcpm/wcove.c 		tcpm_unregister_port(wcove->tcpm);
wcove             665 drivers/usb/typec/tcpm/wcove.c 		fwnode_remove_software_node(wcove->tcpc.fwnode);
wcove             669 drivers/usb/typec/tcpm/wcove.c 	platform_set_drvdata(pdev, wcove);
wcove             675 drivers/usb/typec/tcpm/wcove.c 	struct wcove_typec *wcove = platform_get_drvdata(pdev);
wcove             679 drivers/usb/typec/tcpm/wcove.c 	regmap_read(wcove->regmap, USBC_IRQMASK1, &val);
wcove             680 drivers/usb/typec/tcpm/wcove.c 	regmap_write(wcove->regmap, USBC_IRQMASK1, val | USBC_IRQMASK1_ALL);
wcove             681 drivers/usb/typec/tcpm/wcove.c 	regmap_read(wcove->regmap, USBC_IRQMASK2, &val);
wcove             682 drivers/usb/typec/tcpm/wcove.c 	regmap_write(wcove->regmap, USBC_IRQMASK2, val | USBC_IRQMASK2_ALL);
wcove             684 drivers/usb/typec/tcpm/wcove.c 	tcpm_unregister_port(wcove->tcpm);
wcove             685 drivers/usb/typec/tcpm/wcove.c 	fwnode_remove_software_node(wcove->tcpc.fwnode);