Messages in this thread Patch in this message | | | From | Jun Li <> | Subject | RE: [PATCH v7] staging: typec: handle vendor defined part and modify drp toggling flow | Date | Mon, 12 Mar 2018 04:33:41 +0000 |
| |
Hi,
> +static irqreturn_t _tcpci_irq(int irq, void *dev_id) { > + struct tcpci *tcpci = dev_id; > + > + return tcpci_irq(tcpci); > +} > ...
> + err = devm_request_threaded_irq(&client->dev, client->irq, NULL, > + _tcpci_irq, > IRQF_ONESHOT | IRQF_TRIGGER_LOW, > - dev_name(tcpci->dev), tcpci); > + dev_name(&client->dev), chip);
- dev_name(&client->dev), chip); + dev_name(&client->dev), chip->tcpci);
Did you ever test this patch?
I noticed Greg already picked this patch[1]: [1] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-testing&id=8f94390226487bcb86c554ddc12eef0d27bdec3b
One more minor comment below.
Jun Li
> diff --git a/drivers/staging/typec/tcpci.h b/drivers/staging/typec/tcpci.h index > fdfb06c..a2c1754 100644 > --- a/drivers/staging/typec/tcpci.h > +++ b/drivers/staging/typec/tcpci.h > @@ -59,6 +59,7 @@ > #define TCPC_POWER_CTRL_VCONN_ENABLE BIT(0) > > #define TCPC_CC_STATUS 0x1d > +#define TCPC_CC_STATUS_DRPRST BIT(5)
Defined but not used.
> #define TCPC_CC_STATUS_TERM BIT(4) > #define TCPC_CC_STATUS_CC2_SHIFT 2 > #define TCPC_CC_STATUS_CC2_MASK 0x3 > @@ -121,4 +122,18 @@ > #define TCPC_VBUS_VOLTAGE_ALARM_HI_CFG 0x76 > #define TCPC_VBUS_VOLTAGE_ALARM_LO_CFG 0x78 > > +struct tcpci; > +struct tcpci_data { > + struct regmap *regmap; > + int (*init)(struct tcpci *tcpci, struct tcpci_data *data); > + int (*set_vconn)(struct tcpci *tcpci, struct tcpci_data *data, > + bool enable); > + int (*start_drp_toggling)(struct tcpci *tcpci, struct tcpci_data *data, > + enum typec_cc_status cc); > +}; > + > +struct tcpci *tcpci_register_port(struct device *dev, struct tcpci_data > +*data); void tcpci_unregister_port(struct tcpci *tcpci); irqreturn_t > +tcpci_irq(struct tcpci *tcpci); > + > #endif /* __LINUX_USB_TCPCI_H */ > -- > 1.9.1
| |