drivers/usb/typec/tcpm/tcpci.c
101
ret = regmap_read(tcpci->regmap, TCPC_TCPC_CTRL, ®);
drivers/usb/typec/tcpm/tcpci.c
1012
ret = tcpci_write16(chip->tcpci, TCPC_ALERT_MASK, chip->tcpci->alert_mask);
drivers/usb/typec/tcpm/tcpci.c
150
ret = regmap_write(tcpci->regmap, TCPC_ROLE_CTRL, reg);
drivers/usb/typec/tcpm/tcpci.c
160
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
164
ret = regmap_read(tcpci->regmap, TCPC_ROLE_CTRL, ®);
drivers/usb/typec/tcpm/tcpci.c
175
return regmap_update_bits(tcpci->regmap, TCPC_ROLE_CTRL, polarity == TYPEC_POLARITY_CC1 ?
drivers/usb/typec/tcpm/tcpci.c
185
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
192
if (tcpci->data->start_drp_toggling) {
drivers/usb/typec/tcpm/tcpci.c
193
ret = tcpci->data->start_drp_toggling(tcpci, tcpci->data, cc);
drivers/usb/typec/tcpm/tcpci.c
220
ret = regmap_write(tcpci->regmap, TCPC_ROLE_CTRL, reg);
drivers/usb/typec/tcpm/tcpci.c
223
return regmap_write(tcpci->regmap, TCPC_COMMAND,
drivers/usb/typec/tcpm/tcpci.c
230
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
234
ret = regmap_read(tcpci->regmap, TCPC_ROLE_CTRL, &role_control);
drivers/usb/typec/tcpm/tcpci.c
238
ret = regmap_read(tcpci->regmap, TCPC_CC_STATUS, ®);
drivers/usb/typec/tcpm/tcpci.c
255
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
261
ret = regmap_read(tcpci->regmap, TCPC_ROLE_CTRL, ®);
drivers/usb/typec/tcpm/tcpci.c
303
ret = regmap_write(tcpci->regmap, TCPC_ROLE_CTRL, reg);
drivers/usb/typec/tcpm/tcpci.c
307
return regmap_write(tcpci->regmap, TCPC_TCPC_CTRL,
drivers/usb/typec/tcpm/tcpci.c
315
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
318
if (tcpci->orientation_gpio)
drivers/usb/typec/tcpm/tcpci.c
319
return gpiod_set_value_cansleep(tcpci->orientation_gpio,
drivers/usb/typec/tcpm/tcpci.c
334
return regmap_update_bits(tcpci->regmap, TCPC_CONFIG_STD_OUTPUT,
drivers/usb/typec/tcpm/tcpci.c
340
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
342
if (tcpci->data->set_partner_usb_comm_capable)
drivers/usb/typec/tcpm/tcpci.c
343
tcpci->data->set_partner_usb_comm_capable(tcpci, tcpci->data, capable);
drivers/usb/typec/tcpm/tcpci.c
348
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
352
if (tcpci->data->set_vconn) {
drivers/usb/typec/tcpm/tcpci.c
353
ret = tcpci->data->set_vconn(tcpci, tcpci->data, enable);
drivers/usb/typec/tcpm/tcpci.c
358
return regmap_update_bits(tcpci->regmap, TCPC_POWER_CTRL,
drivers/usb/typec/tcpm/tcpci.c
365
struct tcpci *tcpci = tcpc_to_tcpci(dev);
drivers/usb/typec/tcpm/tcpci.c
368
ret = regmap_update_bits(tcpci->regmap, TCPC_POWER_CTRL, TCPC_POWER_CTRL_AUTO_DISCHARGE,
drivers/usb/typec/tcpm/tcpci.c
377
struct tcpci *tcpci = tcpc_to_tcpci(dev);
drivers/usb/typec/tcpm/tcpci.c
388
ret = regmap_read(tcpci->regmap, TCPC_POWER_CTRL, &pwr_ctrl);
drivers/usb/typec/tcpm/tcpci.c
418
return tcpci_write16(tcpci, TCPC_VBUS_SINK_DISCONNECT_THRESH, threshold);
drivers/usb/typec/tcpm/tcpci.c
423
struct tcpci *tcpci = tcpc_to_tcpci(dev);
drivers/usb/typec/tcpm/tcpci.c
427
ret = tcpci_write16(tcpci, TCPC_VBUS_SINK_DISCONNECT_THRESH, enable ? 0 : 0x8c);
drivers/usb/typec/tcpm/tcpci.c
431
ret = regmap_update_bits(tcpci->regmap, TCPC_POWER_CTRL, TCPC_FAST_ROLE_SWAP_EN, enable ?
drivers/usb/typec/tcpm/tcpci.c
439
struct tcpci *tcpci = tcpc_to_tcpci(dev);
drivers/usb/typec/tcpm/tcpci.c
441
if (tcpci->data->frs_sourcing_vbus)
drivers/usb/typec/tcpm/tcpci.c
442
tcpci->data->frs_sourcing_vbus(tcpci, tcpci->data);
drivers/usb/typec/tcpm/tcpci.c
447
struct tcpci *tcpci = tcpc_to_tcpci(dev);
drivers/usb/typec/tcpm/tcpci.c
449
if (tcpci->data->check_contaminant)
drivers/usb/typec/tcpm/tcpci.c
450
tcpci->data->check_contaminant(tcpci, tcpci->data);
drivers/usb/typec/tcpm/tcpci.c
455
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
457
return regmap_update_bits(tcpci->regmap, TCPC_TCPC_CTRL, TCPC_TCPC_CTRL_BIST_TM,
drivers/usb/typec/tcpm/tcpci.c
464
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
473
ret = regmap_write(tcpci->regmap, TCPC_MSG_HDR_INFO, reg);
drivers/usb/typec/tcpm/tcpci.c
482
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
488
if (tcpci->data->cable_comm_capable)
drivers/usb/typec/tcpm/tcpci.c
491
ret = regmap_write(tcpci->regmap, TCPC_RX_DETECT, reg);
drivers/usb/typec/tcpm/tcpci.c
50
struct tcpci *tcpci;
drivers/usb/typec/tcpm/tcpci.c
500
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
504
ret = regmap_read(tcpci->regmap, TCPC_POWER_STATUS, ®);
drivers/usb/typec/tcpm/tcpci.c
513
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
517
ret = regmap_read(tcpci->regmap, TCPC_EXTENDED_STATUS, ®);
drivers/usb/typec/tcpm/tcpci.c
526
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
529
if (tcpci->data->set_vbus) {
drivers/usb/typec/tcpm/tcpci.c
530
ret = tcpci->data->set_vbus(tcpci, tcpci->data, source, sink);
drivers/usb/typec/tcpm/tcpci.c
539
ret = regmap_write(tcpci->regmap, TCPC_COMMAND,
drivers/usb/typec/tcpm/tcpci.c
54
struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci)
drivers/usb/typec/tcpm/tcpci.c
546
ret = regmap_write(tcpci->regmap, TCPC_COMMAND,
drivers/usb/typec/tcpm/tcpci.c
553
ret = regmap_write(tcpci->regmap, TCPC_COMMAND,
drivers/usb/typec/tcpm/tcpci.c
56
return tcpci->port;
drivers/usb/typec/tcpm/tcpci.c
560
ret = regmap_write(tcpci->regmap, TCPC_COMMAND,
drivers/usb/typec/tcpm/tcpci.c
572
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
583
if (tcpci->data->TX_BUF_BYTE_x_hidden) {
drivers/usb/typec/tcpm/tcpci.c
599
ret = regmap_raw_write(tcpci->regmap, TCPC_TX_BYTE_CNT, buf, pos);
drivers/usb/typec/tcpm/tcpci.c
60
static inline struct tcpci *tcpc_to_tcpci(struct tcpc_dev *tcpc)
drivers/usb/typec/tcpm/tcpci.c
603
ret = regmap_write(tcpci->regmap, TCPC_TX_BYTE_CNT, cnt + 2);
drivers/usb/typec/tcpm/tcpci.c
607
ret = tcpci_write16(tcpci, TCPC_TX_HDR, header);
drivers/usb/typec/tcpm/tcpci.c
612
ret = regmap_raw_write(tcpci->regmap, TCPC_TX_DATA, &msg->payload, cnt);
drivers/usb/typec/tcpm/tcpci.c
62
return container_of(tcpc, struct tcpci, tcpc);
drivers/usb/typec/tcpm/tcpci.c
624
ret = regmap_write(tcpci->regmap, TCPC_TRANSMIT, reg);
drivers/usb/typec/tcpm/tcpci.c
633
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
635
return tcpci->data->cable_comm_capable;
drivers/usb/typec/tcpm/tcpci.c
640
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
642
if (tcpci->data->attempt_vconn_swap_discovery)
drivers/usb/typec/tcpm/tcpci.c
643
return tcpci->data->attempt_vconn_swap_discovery(tcpci, tcpci->data);
drivers/usb/typec/tcpm/tcpci.c
65
static int tcpci_read16(struct tcpci *tcpci, unsigned int reg, u16 *val)
drivers/usb/typec/tcpm/tcpci.c
650
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
656
ret = regmap_read(tcpci->regmap, TCPC_POWER_STATUS, ®);
drivers/usb/typec/tcpm/tcpci.c
666
ret = tcpci_write16(tcpci, TCPC_FAULT_STATUS, TCPC_FAULT_STATUS_ALL_REG_RST_TO_DEFAULT);
drivers/usb/typec/tcpm/tcpci.c
67
return regmap_raw_read(tcpci->regmap, reg, val, sizeof(u16));
drivers/usb/typec/tcpm/tcpci.c
671
if (tcpci->data->init) {
drivers/usb/typec/tcpm/tcpci.c
672
ret = tcpci->data->init(tcpci, tcpci->data);
drivers/usb/typec/tcpm/tcpci.c
678
ret = tcpci_write16(tcpci, TCPC_ALERT, 0xffff);
drivers/usb/typec/tcpm/tcpci.c
682
if (tcpci->controls_vbus)
drivers/usb/typec/tcpm/tcpci.c
686
ret = regmap_write(tcpci->regmap, TCPC_POWER_STATUS_MASK, reg);
drivers/usb/typec/tcpm/tcpci.c
691
ret = regmap_write(tcpci->regmap, TCPC_COMMAND,
drivers/usb/typec/tcpm/tcpci.c
699
if (tcpci->controls_vbus)
drivers/usb/typec/tcpm/tcpci.c
70
static int tcpci_write16(struct tcpci *tcpci, unsigned int reg, u16 val)
drivers/usb/typec/tcpm/tcpci.c
702
if (tcpci->data->vbus_vsafe0v) {
drivers/usb/typec/tcpm/tcpci.c
704
ret = regmap_write(tcpci->regmap, TCPC_EXTENDED_STATUS_MASK,
drivers/usb/typec/tcpm/tcpci.c
710
tcpci->alert_mask = reg;
drivers/usb/typec/tcpm/tcpci.c
715
irqreturn_t tcpci_irq(struct tcpci *tcpci)
drivers/usb/typec/tcpm/tcpci.c
72
return regmap_raw_write(tcpci->regmap, reg, &val, sizeof(u16));
drivers/usb/typec/tcpm/tcpci.c
722
tcpci_read16(tcpci, TCPC_ALERT, &status);
drivers/usb/typec/tcpm/tcpci.c
723
irq_ret = status & tcpci->alert_mask;
drivers/usb/typec/tcpm/tcpci.c
731
tcpci_write16(tcpci, TCPC_ALERT,
drivers/usb/typec/tcpm/tcpci.c
735
tcpm_cc_change(tcpci->port);
drivers/usb/typec/tcpm/tcpci.c
738
regmap_read(tcpci->regmap, TCPC_POWER_STATUS_MASK, &raw);
drivers/usb/typec/tcpm/tcpci.c
744
tcpm_tcpc_reset(tcpci->port);
drivers/usb/typec/tcpm/tcpci.c
746
tcpm_vbus_change(tcpci->port);
drivers/usb/typec/tcpm/tcpci.c
754
regmap_read(tcpci->regmap, TCPC_RX_BYTE_CNT, &cnt);
drivers/usb/typec/tcpm/tcpci.c
766
tcpci_read16(tcpci, TCPC_RX_HDR, &header);
drivers/usb/typec/tcpm/tcpci.c
773
regmap_raw_read(tcpci->regmap, TCPC_RX_DATA,
drivers/usb/typec/tcpm/tcpci.c
777
tcpci_write16(tcpci, TCPC_ALERT, TCPC_ALERT_RX_STATUS);
drivers/usb/typec/tcpm/tcpci.c
779
tcpm_pd_receive(tcpci->port, &msg, TCPC_TX_SOP);
drivers/usb/typec/tcpm/tcpci.c
782
if (tcpci->data->vbus_vsafe0v && (status & TCPC_ALERT_EXTENDED_STATUS)) {
drivers/usb/typec/tcpm/tcpci.c
783
ret = regmap_read(tcpci->regmap, TCPC_EXTENDED_STATUS, &raw);
drivers/usb/typec/tcpm/tcpci.c
785
tcpm_vbus_change(tcpci->port);
drivers/usb/typec/tcpm/tcpci.c
789
tcpm_pd_hard_reset(tcpci->port);
drivers/usb/typec/tcpm/tcpci.c
792
tcpm_pd_transmit_complete(tcpci->port, TCPC_TX_SUCCESS);
drivers/usb/typec/tcpm/tcpci.c
794
tcpm_pd_transmit_complete(tcpci->port, TCPC_TX_DISCARDED);
drivers/usb/typec/tcpm/tcpci.c
796
tcpm_pd_transmit_complete(tcpci->port, TCPC_TX_FAILED);
drivers/usb/typec/tcpm/tcpci.c
798
tcpci_read16(tcpci, TCPC_ALERT, &status);
drivers/usb/typec/tcpm/tcpci.c
800
if (status & tcpci->alert_mask)
drivers/usb/typec/tcpm/tcpci.c
811
return tcpci_irq(chip->tcpci);
drivers/usb/typec/tcpm/tcpci.c
821
static int tcpci_parse_config(struct tcpci *tcpci)
drivers/usb/typec/tcpm/tcpci.c
823
tcpci->controls_vbus = true; /* XXX */
drivers/usb/typec/tcpm/tcpci.c
825
tcpci->tcpc.fwnode = device_get_named_child_node(tcpci->dev,
drivers/usb/typec/tcpm/tcpci.c
827
if (!tcpci->tcpc.fwnode) {
drivers/usb/typec/tcpm/tcpci.c
828
dev_err(tcpci->dev, "Can't find connector node.\n");
drivers/usb/typec/tcpm/tcpci.c
835
struct tcpci *tcpci_register_port(struct device *dev, struct tcpci_data *data)
drivers/usb/typec/tcpm/tcpci.c
837
struct tcpci *tcpci;
drivers/usb/typec/tcpm/tcpci.c
840
tcpci = devm_kzalloc(dev, sizeof(*tcpci), GFP_KERNEL);
drivers/usb/typec/tcpm/tcpci.c
841
if (!tcpci)
drivers/usb/typec/tcpm/tcpci.c
844
tcpci->dev = dev;
drivers/usb/typec/tcpm/tcpci.c
845
tcpci->data = data;
drivers/usb/typec/tcpm/tcpci.c
846
tcpci->regmap = data->regmap;
drivers/usb/typec/tcpm/tcpci.c
848
tcpci->tcpc.init = tcpci_init;
drivers/usb/typec/tcpm/tcpci.c
849
tcpci->tcpc.get_vbus = tcpci_get_vbus;
drivers/usb/typec/tcpm/tcpci.c
850
tcpci->tcpc.set_vbus = tcpci_set_vbus;
drivers/usb/typec/tcpm/tcpci.c
851
tcpci->tcpc.set_cc = tcpci_set_cc;
drivers/usb/typec/tcpm/tcpci.c
852
tcpci->tcpc.apply_rc = tcpci_apply_rc;
drivers/usb/typec/tcpm/tcpci.c
853
tcpci->tcpc.get_cc = tcpci_get_cc;
drivers/usb/typec/tcpm/tcpci.c
854
tcpci->tcpc.set_polarity = tcpci_set_polarity;
drivers/usb/typec/tcpm/tcpci.c
855
tcpci->tcpc.set_vconn = tcpci_set_vconn;
drivers/usb/typec/tcpm/tcpci.c
856
tcpci->tcpc.start_toggling = tcpci_start_toggling;
drivers/usb/typec/tcpm/tcpci.c
858
tcpci->tcpc.set_pd_rx = tcpci_set_pd_rx;
drivers/usb/typec/tcpm/tcpci.c
859
tcpci->tcpc.set_roles = tcpci_set_roles;
drivers/usb/typec/tcpm/tcpci.c
860
tcpci->tcpc.pd_transmit = tcpci_pd_transmit;
drivers/usb/typec/tcpm/tcpci.c
861
tcpci->tcpc.set_bist_data = tcpci_set_bist_data;
drivers/usb/typec/tcpm/tcpci.c
862
tcpci->tcpc.enable_frs = tcpci_enable_frs;
drivers/usb/typec/tcpm/tcpci.c
863
tcpci->tcpc.frs_sourcing_vbus = tcpci_frs_sourcing_vbus;
drivers/usb/typec/tcpm/tcpci.c
864
tcpci->tcpc.set_partner_usb_comm_capable = tcpci_set_partner_usb_comm_capable;
drivers/usb/typec/tcpm/tcpci.c
865
tcpci->tcpc.cable_comm_capable = tcpci_cable_comm_capable;
drivers/usb/typec/tcpm/tcpci.c
866
tcpci->tcpc.attempt_vconn_swap_discovery = tcpci_attempt_vconn_swap_discovery;
drivers/usb/typec/tcpm/tcpci.c
868
if (tcpci->data->check_contaminant)
drivers/usb/typec/tcpm/tcpci.c
869
tcpci->tcpc.check_contaminant = tcpci_check_contaminant;
drivers/usb/typec/tcpm/tcpci.c
871
if (tcpci->data->auto_discharge_disconnect) {
drivers/usb/typec/tcpm/tcpci.c
872
tcpci->tcpc.enable_auto_vbus_discharge = tcpci_enable_auto_vbus_discharge;
drivers/usb/typec/tcpm/tcpci.c
873
tcpci->tcpc.set_auto_vbus_discharge_threshold =
drivers/usb/typec/tcpm/tcpci.c
875
regmap_update_bits(tcpci->regmap, TCPC_POWER_CTRL, TCPC_POWER_CTRL_BLEED_DISCHARGE,
drivers/usb/typec/tcpm/tcpci.c
879
if (tcpci->data->vbus_vsafe0v)
drivers/usb/typec/tcpm/tcpci.c
880
tcpci->tcpc.is_vbus_vsafe0v = tcpci_is_vbus_vsafe0v;
drivers/usb/typec/tcpm/tcpci.c
882
if (tcpci->data->set_orientation)
drivers/usb/typec/tcpm/tcpci.c
883
tcpci->tcpc.set_orientation = tcpci_set_orientation;
drivers/usb/typec/tcpm/tcpci.c
885
err = tcpci_parse_config(tcpci);
drivers/usb/typec/tcpm/tcpci.c
889
tcpci->port = tcpm_register_port(tcpci->dev, &tcpci->tcpc);
drivers/usb/typec/tcpm/tcpci.c
89
struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
drivers/usb/typec/tcpm/tcpci.c
890
if (IS_ERR(tcpci->port)) {
drivers/usb/typec/tcpm/tcpci.c
891
fwnode_handle_put(tcpci->tcpc.fwnode);
drivers/usb/typec/tcpm/tcpci.c
892
return ERR_CAST(tcpci->port);
drivers/usb/typec/tcpm/tcpci.c
895
return tcpci;
drivers/usb/typec/tcpm/tcpci.c
899
void tcpci_unregister_port(struct tcpci *tcpci)
drivers/usb/typec/tcpm/tcpci.c
901
tcpm_unregister_port(tcpci->port);
drivers/usb/typec/tcpm/tcpci.c
902
fwnode_handle_put(tcpci->tcpc.fwnode);
drivers/usb/typec/tcpm/tcpci.c
949
chip->tcpci = tcpci_register_port(&client->dev, &chip->data);
drivers/usb/typec/tcpm/tcpci.c
95
ret = regmap_read(tcpci->regmap, TCPC_POWER_STATUS, ®);
drivers/usb/typec/tcpm/tcpci.c
950
if (IS_ERR(chip->tcpci))
drivers/usb/typec/tcpm/tcpci.c
951
return PTR_ERR(chip->tcpci);
drivers/usb/typec/tcpm/tcpci.c
953
chip->tcpci->orientation_gpio = orient_gpio;
drivers/usb/typec/tcpm/tcpci.c
963
err = tcpci_write16(chip->tcpci, TCPC_ALERT_MASK, chip->tcpci->alert_mask);
drivers/usb/typec/tcpm/tcpci.c
967
device_set_wakeup_capable(chip->tcpci->dev, true);
drivers/usb/typec/tcpm/tcpci.c
972
tcpci_unregister_port(chip->tcpci);
drivers/usb/typec/tcpm/tcpci.c
982
err = tcpci_write16(chip->tcpci, TCPC_ALERT_MASK, 0);
drivers/usb/typec/tcpm/tcpci.c
986
tcpci_unregister_port(chip->tcpci);
drivers/usb/typec/tcpm/tcpci.c
998
ret = tcpci_write16(chip->tcpci, TCPC_ALERT_MASK, 0);
drivers/usb/typec/tcpm/tcpci_maxim.h
57
struct tcpci *tcpci;
drivers/usb/typec/tcpm/tcpci_maxim_core.c
224
static int max_tcpci_set_vbus(struct tcpci *tcpci, struct tcpci_data *tdata, bool source, bool sink)
drivers/usb/typec/tcpm/tcpci_maxim_core.c
271
static void max_tcpci_frs_sourcing_vbus(struct tcpci *tcpci, struct tcpci_data *tdata)
drivers/usb/typec/tcpm/tcpci_maxim_core.c
278
max_tcpci_set_vbus(tcpci, tdata, true, false);
drivers/usb/typec/tcpm/tcpci_maxim_core.c
296
static void max_tcpci_set_partner_usb_comm_capable(struct tcpci *tcpci, struct tcpci_data *data,
drivers/usb/typec/tcpm/tcpci_maxim_core.c
445
static int max_tcpci_start_toggling(struct tcpci *tcpci, struct tcpci_data *tdata,
drivers/usb/typec/tcpm/tcpci_maxim_core.c
455
static int tcpci_init(struct tcpci *tcpci, struct tcpci_data *data)
drivers/usb/typec/tcpm/tcpci_maxim_core.c
464
static void max_tcpci_check_contaminant(struct tcpci *tcpci, struct tcpci_data *tdata)
drivers/usb/typec/tcpm/tcpci_maxim_core.c
473
static bool max_tcpci_attempt_vconn_swap_discovery(struct tcpci *tcpci, struct tcpci_data *tdata)
drivers/usb/typec/tcpm/tcpci_maxim_core.c
485
static void max_tcpci_unregister_tcpci_port(void *tcpci)
drivers/usb/typec/tcpm/tcpci_maxim_core.c
487
tcpci_unregister_port(tcpci);
drivers/usb/typec/tcpm/tcpci_maxim_core.c
528
chip->tcpci = tcpci_register_port(chip->dev, &chip->data);
drivers/usb/typec/tcpm/tcpci_maxim_core.c
529
if (IS_ERR(chip->tcpci))
drivers/usb/typec/tcpm/tcpci_maxim_core.c
530
return dev_err_probe(&client->dev, PTR_ERR(chip->tcpci),
drivers/usb/typec/tcpm/tcpci_maxim_core.c
535
chip->tcpci);
drivers/usb/typec/tcpm/tcpci_maxim_core.c
539
chip->port = tcpci_get_tcpm_port(chip->tcpci);
drivers/usb/typec/tcpm/tcpci_mt6360.c
136
return tcpci_irq(mti->tcpci);
drivers/usb/typec/tcpm/tcpci_mt6360.c
161
mti->tcpci = tcpci_register_port(&pdev->dev, &mti->tdata);
drivers/usb/typec/tcpm/tcpci_mt6360.c
162
if (IS_ERR(mti->tcpci)) {
drivers/usb/typec/tcpm/tcpci_mt6360.c
164
return PTR_ERR(mti->tcpci);
drivers/usb/typec/tcpm/tcpci_mt6360.c
171
tcpci_unregister_port(mti->tcpci);
drivers/usb/typec/tcpm/tcpci_mt6360.c
186
tcpci_unregister_port(mti->tcpci);
drivers/usb/typec/tcpm/tcpci_mt6360.c
41
struct tcpci *tcpci;
drivers/usb/typec/tcpm/tcpci_mt6360.c
52
static int mt6360_tcpc_init(struct tcpci *tcpci, struct tcpci_data *tdata)
drivers/usb/typec/tcpm/tcpci_mt6370.c
101
return tcpci_irq(priv->tcpci);
drivers/usb/typec/tcpm/tcpci_mt6370.c
121
static void mt6370_unregister_tcpci_port(void *tcpci)
drivers/usb/typec/tcpm/tcpci_mt6370.c
123
tcpci_unregister_port(tcpci);
drivers/usb/typec/tcpm/tcpci_mt6370.c
159
priv->tcpci = tcpci_register_port(dev, &priv->tcpci_data);
drivers/usb/typec/tcpm/tcpci_mt6370.c
160
if (IS_ERR(priv->tcpci))
drivers/usb/typec/tcpm/tcpci_mt6370.c
161
return dev_err_probe(dev, PTR_ERR(priv->tcpci),
drivers/usb/typec/tcpm/tcpci_mt6370.c
164
ret = devm_add_action_or_reset(dev, mt6370_unregister_tcpci_port, priv->tcpci);
drivers/usb/typec/tcpm/tcpci_mt6370.c
29
struct tcpci *tcpci;
drivers/usb/typec/tcpm/tcpci_mt6370.c
49
static int mt6370_tcpc_init(struct tcpci *tcpci, struct tcpci_data *data)
drivers/usb/typec/tcpm/tcpci_mt6370.c
69
static int mt6370_tcpc_set_vconn(struct tcpci *tcpci, struct tcpci_data *data,
drivers/usb/typec/tcpm/tcpci_mt6370.c
77
static int mt6370_tcpc_set_vbus(struct tcpci *tcpci, struct tcpci_data *data,
drivers/usb/typec/tcpm/tcpci_rt1711h.c
147
static int rt1711h_set_vbus(struct tcpci *tcpci, struct tcpci_data *tdata,
drivers/usb/typec/tcpm/tcpci_rt1711h.c
166
static int rt1711h_set_vconn(struct tcpci *tcpci, struct tcpci_data *tdata,
drivers/usb/typec/tcpm/tcpci_rt1711h.c
217
static int rt1711h_start_drp_toggling(struct tcpci *tcpci,
drivers/usb/typec/tcpm/tcpci_rt1711h.c
263
if (!chip->tcpci)
drivers/usb/typec/tcpm/tcpci_rt1711h.c
282
return tcpci_irq(chip->tcpci);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
297
static void rt1711h_unregister_tcpci_port(void *tcpci);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
340
chip->tcpci = tcpci_register_port(chip->dev, &chip->data);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
341
if (IS_ERR_OR_NULL(chip->tcpci))
drivers/usb/typec/tcpm/tcpci_rt1711h.c
342
return PTR_ERR(chip->tcpci);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
344
ret = devm_add_action_or_reset(chip->dev, rt1711h_unregister_tcpci_port, chip->tcpci);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
365
static void rt1711h_unregister_tcpci_port(void *tcpci)
drivers/usb/typec/tcpm/tcpci_rt1711h.c
367
tcpci_unregister_port(tcpci);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
57
struct tcpci *tcpci;
drivers/usb/typec/tcpm/tcpci_rt1711h.c
96
static int rt1711h_init(struct tcpci *tcpci, struct tcpci_data *tdata)
include/linux/usb/tcpci.h
175
struct tcpci;
include/linux/usb/tcpci.h
219
int (*init)(struct tcpci *tcpci, struct tcpci_data *data);
include/linux/usb/tcpci.h
220
int (*set_vconn)(struct tcpci *tcpci, struct tcpci_data *data,
include/linux/usb/tcpci.h
222
int (*start_drp_toggling)(struct tcpci *tcpci, struct tcpci_data *data,
include/linux/usb/tcpci.h
224
int (*set_vbus)(struct tcpci *tcpci, struct tcpci_data *data, bool source, bool sink);
include/linux/usb/tcpci.h
225
void (*frs_sourcing_vbus)(struct tcpci *tcpci, struct tcpci_data *data);
include/linux/usb/tcpci.h
226
void (*set_partner_usb_comm_capable)(struct tcpci *tcpci, struct tcpci_data *data,
include/linux/usb/tcpci.h
228
void (*check_contaminant)(struct tcpci *tcpci, struct tcpci_data *data);
include/linux/usb/tcpci.h
229
bool (*attempt_vconn_swap_discovery)(struct tcpci *tcpci, struct tcpci_data *data);
include/linux/usb/tcpci.h
232
struct tcpci *tcpci_register_port(struct device *dev, struct tcpci_data *data);
include/linux/usb/tcpci.h
233
void tcpci_unregister_port(struct tcpci *tcpci);
include/linux/usb/tcpci.h
234
irqreturn_t tcpci_irq(struct tcpci *tcpci);
include/linux/usb/tcpci.h
237
struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci);