linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Biju Das <biju.das@bp.renesas.com>
To: Guenter Roeck <linux@roeck-us.net>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ajay Gupta <ajayg@nvidia.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: RE: [PATCH v3 10/18] usb: typec: hd3ss3220: Give the connector fwnode to the port device
Date: Mon, 4 Nov 2019 07:50:19 +0000	[thread overview]
Message-ID: <OSBPR01MB2103ECF15FAD3E9567DD2952B87F0@OSBPR01MB2103.jpnprd01.prod.outlook.com> (raw)
In-Reply-To: <8f050871-b3b8-21b3-0662-a74a398831c8@roeck-us.net>

Hi Guenter,

> -----Original Message-----
> From: Guenter Roeck <groeck7@gmail.com> On Behalf Of Guenter Roeck
> Sent: Saturday, November 2, 2019 4:11 PM
> To: Heikki Krogerus <heikki.krogerus@linux.intel.com>; Greg Kroah-Hartman
> <gregkh@linuxfoundation.org>
> Cc: Ajay Gupta <ajayg@nvidia.com>; linux-usb@vger.kernel.org; Biju Das
> <biju.das@bp.renesas.com>
> Subject: Re: [PATCH v3 10/18] usb: typec: hd3ss3220: Give the connector
> fwnode to the port device
> 
> On 10/25/19 1:23 AM, Heikki Krogerus wrote:
> > The driver already finds the node in order to get reference to the USB
> > role switch.
> >
> > Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> > Tested-by: Biju Das <biju.das@bp.renesas.com>
> 
> The fusb302 driver retains the fwnode and calls fwnode_handle_put() in the
> remove function. Assuming this isn't necessary here,

It is not required. The purpose is  to get the role switch handle associated with the connecter node.
Once you get the role switch handle,  you don't need the connector handle any more. 

Cheers,
Biju

> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> 
> > ---
> >   drivers/usb/typec/hd3ss3220.c | 12 +++++++++---
> >   1 file changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/usb/typec/hd3ss3220.c
> > b/drivers/usb/typec/hd3ss3220.c index db09fa0d85f2..323dfa8160ab
> > 100644
> > --- a/drivers/usb/typec/hd3ss3220.c
> > +++ b/drivers/usb/typec/hd3ss3220.c
> > @@ -178,15 +178,17 @@ static int hd3ss3220_probe(struct i2c_client
> *client,
> >   		return -ENODEV;
> >
> >   	hd3ss3220->role_sw = fwnode_usb_role_switch_get(connector);
> > -	fwnode_handle_put(connector);
> > -	if (IS_ERR(hd3ss3220->role_sw))
> > -		return PTR_ERR(hd3ss3220->role_sw);
> > +	if (IS_ERR(hd3ss3220->role_sw)) {
> > +		ret = PTR_ERR(hd3ss3220->role_sw);
> > +		goto err_put_fwnode;
> > +	}
> >
> >   	typec_cap.prefer_role = TYPEC_NO_PREFERRED_ROLE;
> >   	typec_cap.driver_data = hd3ss3220;
> >   	typec_cap.type = TYPEC_PORT_DRP;
> >   	typec_cap.data = TYPEC_PORT_DRD;
> >   	typec_cap.ops = &hd3ss3220_ops;
> > +	typec_cap.fwnode = connector;
> >
> >   	hd3ss3220->port = typec_register_port(&client->dev, &typec_cap);
> >   	if (IS_ERR(hd3ss3220->port)) {
> > @@ -220,6 +222,8 @@ static int hd3ss3220_probe(struct i2c_client *client,
> >   	if (ret < 0)
> >   		goto err_unreg_port;
> >
> > +	fwnode_handle_put(connector);
> > +
> >   	dev_info(&client->dev, "probed revision=0x%x\n", ret);
> >
> >   	return 0;
> > @@ -227,6 +231,8 @@ static int hd3ss3220_probe(struct i2c_client *client,
> >   	typec_unregister_port(hd3ss3220->port);
> >   err_put_role:
> >   	usb_role_switch_put(hd3ss3220->role_sw);
> > +err_put_fwnode:
> > +	fwnode_handle_put(connector);
> >
> >   	return ret;
> >   }
> >


  reply	other threads:[~2019-11-04  7:50 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-25  8:23 [PATCH v3 00/18] usb: typec: API improvements Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 01/18] usb: typec: Copy everything from struct typec_capability during registration Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 02/18] usb: typec: Introduce typec_get_drvdata() Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 03/18] usb: typec: Separate the operations vector Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 04/18] usb: typec: tcpm: Start using struct typec_operations Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 05/18] usb: typec: tps6598x: " Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 06/18] usb: typec: ucsi: " Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 07/18] usb: typec: hd3ss3220: " Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 08/18] usb: typec: Remove the callback members from struct typec_capability Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 09/18] usb: typec: Remove unused " Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 10/18] usb: typec: hd3ss3220: Give the connector fwnode to the port device Heikki Krogerus
2019-11-02 16:11   ` Guenter Roeck
2019-11-04  7:50     ` Biju Das [this message]
2019-10-25  8:23 ` [PATCH v3 11/18] usb: typec: ucsi: Simplified registration and I/O API Heikki Krogerus
2019-11-02 16:21   ` Guenter Roeck
2019-10-25  8:23 ` [PATCH v3 12/18] usb: typec: ucsi: acpi: Move to the new API Heikki Krogerus
2019-11-02 16:31   ` Guenter Roeck
2019-11-04  9:07     ` Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 13/18] usb: typec: ucsi: ccg: " Heikki Krogerus
2019-11-02 16:34   ` Guenter Roeck
2019-11-04  8:45     ` Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 14/18] usb: typec: ucsi: Remove the old API Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 15/18] usb: typec: ucsi: Remove struct ucsi_control Heikki Krogerus
2019-11-02 17:00   ` Guenter Roeck
2019-10-25  8:23 ` [PATCH v3 16/18] usb: typec: ucsi: Remove all bit-fields Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 17/18] usb: typec: ucsi: New error codes Heikki Krogerus
2019-10-25  8:23 ` [PATCH v3 18/18] usb: typec: ucsi: Optimise ucsi_unregister() Heikki Krogerus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=OSBPR01MB2103ECF15FAD3E9567DD2952B87F0@OSBPR01MB2103.jpnprd01.prod.outlook.com \
    --to=biju.das@bp.renesas.com \
    --cc=ajayg@nvidia.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).