Message ID | 20190128203731.12681-4-ajayg@nvidia.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for firmware update on Cypres CCGx | expand |
On Mon, Jan 28, 2019 at 12:37:28PM -0800, Ajay Gupta wrote: > Read PD port number information and save. It will be > required while sending PD_PORT_ENABLE command. > > Signed-off-by: Ajay Gupta <ajayg@nvidia.com> > --- > Changes from v1: > - Updated commit message > - Used mask and shift instead of bitfield > > drivers/usb/typec/ucsi/ucsi_ccg.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c > index 3155ee6be357..f71387a21693 100644 > --- a/drivers/usb/typec/ucsi/ucsi_ccg.c > +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c > @@ -172,6 +172,7 @@ struct ucsi_ccg { > #define DEV_CMD_PENDING 1 > struct ccg_resp dev_resp; > u8 cmd_resp; > + int port_num; > }; > > static int ccg_read(struct ucsi_ccg *uc, u16 rab, u8 *data, u32 len) > @@ -526,6 +527,12 @@ static int ucsi_ccg_probe(struct i2c_client *client, > return status; > } > > + if ((uc->info.mode & CCG_DEVINFO_PDPORTS_MASK) >> > + CCG_DEVINFO_PDPORTS_SHIFT) No need to shift. > + uc->port_num = 2; > + else > + uc->port_num = 1; uc->port_num = 1 if (uc->info.mode & CCG_DEVINFO_PDPORTS_MASK) uc->port_num++; Or just: uc->port_num = !!(uc->info.mode & CCG_DEVINFO_PDPORTS_MASK) + 1; thanks,
Hi Heikki, > On Mon, Jan 28, 2019 at 12:37:28PM -0800, Ajay Gupta wrote: > > Read PD port number information and save. It will be required while > > sending PD_PORT_ENABLE command. > > > > Signed-off-by: Ajay Gupta <ajayg@nvidia.com> > > --- > > Changes from v1: > > - Updated commit message > > - Used mask and shift instead of bitfield > > > > drivers/usb/typec/ucsi/ucsi_ccg.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c > > b/drivers/usb/typec/ucsi/ucsi_ccg.c > > index 3155ee6be357..f71387a21693 100644 > > --- a/drivers/usb/typec/ucsi/ucsi_ccg.c > > +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c > > @@ -172,6 +172,7 @@ struct ucsi_ccg { > > #define DEV_CMD_PENDING 1 > > struct ccg_resp dev_resp; > > u8 cmd_resp; > > + int port_num; > > }; > > > > static int ccg_read(struct ucsi_ccg *uc, u16 rab, u8 *data, u32 len) > > @@ -526,6 +527,12 @@ static int ucsi_ccg_probe(struct i2c_client *client, > > return status; > > } > > > > + if ((uc->info.mode & CCG_DEVINFO_PDPORTS_MASK) >> > > + CCG_DEVINFO_PDPORTS_SHIFT) > > No need to shift. Ok. > > > + uc->port_num = 2; > > + else > > + uc->port_num = 1; > > uc->port_num = 1 > > if (uc->info.mode & CCG_DEVINFO_PDPORTS_MASK) > uc->port_num++; This looks better. thanks > nvpublic > Or just: > > uc->port_num = !!(uc->info.mode & CCG_DEVINFO_PDPORTS_MASK) + 1; > > thanks, > > -- > heikki
diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c index 3155ee6be357..f71387a21693 100644 --- a/drivers/usb/typec/ucsi/ucsi_ccg.c +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c @@ -172,6 +172,7 @@ struct ucsi_ccg { #define DEV_CMD_PENDING 1 struct ccg_resp dev_resp; u8 cmd_resp; + int port_num; }; static int ccg_read(struct ucsi_ccg *uc, u16 rab, u8 *data, u32 len) @@ -526,6 +527,12 @@ static int ucsi_ccg_probe(struct i2c_client *client, return status; } + if ((uc->info.mode & CCG_DEVINFO_PDPORTS_MASK) >> + CCG_DEVINFO_PDPORTS_SHIFT) + uc->port_num = 2; + else + uc->port_num = 1; + status = devm_request_threaded_irq(dev, client->irq, NULL, ccg_irq_handler, IRQF_ONESHOT | IRQF_TRIGGER_HIGH,
Read PD port number information and save. It will be required while sending PD_PORT_ENABLE command. Signed-off-by: Ajay Gupta <ajayg@nvidia.com> --- Changes from v1: - Updated commit message - Used mask and shift instead of bitfield drivers/usb/typec/ucsi/ucsi_ccg.c | 7 +++++++ 1 file changed, 7 insertions(+)