All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Jun Li <jun.li@nxp.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"linux@roeck-us.net" <linux@roeck-us.net>,
	"a.hajda@samsung.com" <a.hajda@samsung.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"yueyao@google.com" <yueyao@google.com>,
	Peter Chen <peter.chen@nxp.com>,
	"garsilva@embeddedor.com" <garsilva@embeddedor.com>,
	"o_leveque@orange.fr" <o_leveque@orange.fr>,
	"shufan_lee@richtek.com" <shufan_lee@richtek.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>
Subject: [v2,03/12] staging: typec: tcpci: support port config passed via dt
Date: Mon, 5 Mar 2018 13:30:05 +0200	[thread overview]
Message-ID: <20180305113005.GD10598@kuha.fi.intel.com> (raw)

Hi,

On Mon, Mar 05, 2018 at 10:35:07AM +0000, Jun Li wrote:
> > So it actually does make sense to define those properties for the
> > "connector" node instead of TCPC parent. They are generic "Type-C"
> > properties (right?), so we may want to use them with multiport devices as
> > well.
> > 
> 
> Yes, that's the idea of my v2, I will keep this but via fwnode_property*.

Cool. While at it, can you also add a patch to this series where the
fwnode is bind to the port? Something like this:



Thanks,

diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c
index 9bd4412356c9..ac4e7605f9d5 100644
--- a/drivers/staging/typec/tcpci.c
+++ b/drivers/staging/typec/tcpci.c
@@ -452,6 +452,8 @@ static int tcpci_probe(struct i2c_client *client,
        if (IS_ERR(tcpci->regmap))
                return PTR_ERR(tcpci->regmap);

+       tcpci->tcpc.fwnode = device_get_named_child_node(&client->dev, "connector");
+
        tcpci->tcpc.init = tcpci_init;
        tcpci->tcpc.get_vbus = tcpci_get_vbus;
        tcpci->tcpc.set_vbus = tcpci_set_vbus;
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index f4d563ee7690..68a0ead400c0 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -3729,6 +3729,7 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
        else
                port->try_role = TYPEC_NO_PREFERRED_ROLE;

+       port->typec_caps.fwnode = tcpc->fwnode;
        port->typec_caps.prefer_role = tcpc->config->default_role;
        port->typec_caps.type = tcpc->config->type;
        port->typec_caps.revision = 0x0120;     /* Type-C spec release 1.2 */
diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h
index ca1c0b57f03f..a25ebfea054d 100644
--- a/include/linux/usb/tcpm.h
+++ b/include/linux/usb/tcpm.h
@@ -127,6 +127,7 @@ struct tcpc_mux_dev {
 /**
  * struct tcpc_dev - Port configuration and callback functions
  * @config:    Pointer to port configuration
+ * @fwnode:    Pointer to port fwnode
  * @get_vbus:  Called to read current VBUS state
  * @get_current_limit:
  *             Optional; called by the tcpm core when configured as a snk
@@ -155,6 +156,7 @@ struct tcpc_mux_dev {
  */
 struct tcpc_dev {
        const struct tcpc_config *config;
+       struct fwnode_handle *fwnode;

        int (*init)(struct tcpc_dev *dev);
        int (*get_vbus)(struct tcpc_dev *dev);

WARNING: multiple messages have this Message-ID (diff)
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Jun Li <jun.li@nxp.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"linux@roeck-us.net" <linux@roeck-us.net>,
	"a.hajda@samsung.com" <a.hajda@samsung.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"yueyao@google.com" <yueyao@google.com>,
	Peter Chen <peter.chen@nxp.com>,
	"garsilva@embeddedor.com" <garsilva@embeddedor.com>,
	"o_leveque@orange.fr" <o_leveque@orange.fr>,
	"shufan_lee@richtek.com" <shufan_lee@richtek.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>
Subject: Re: [PATCH v2 03/12] staging: typec: tcpci: support port config passed via dt
Date: Mon, 5 Mar 2018 13:30:05 +0200	[thread overview]
Message-ID: <20180305113005.GD10598@kuha.fi.intel.com> (raw)
In-Reply-To: <VI1PR0402MB39173B772C2642C4ECC626B589DA0@VI1PR0402MB3917.eurprd04.prod.outlook.com>

Hi,

On Mon, Mar 05, 2018 at 10:35:07AM +0000, Jun Li wrote:
> > So it actually does make sense to define those properties for the
> > "connector" node instead of TCPC parent. They are generic "Type-C"
> > properties (right?), so we may want to use them with multiport devices as
> > well.
> > 
> 
> Yes, that's the idea of my v2, I will keep this but via fwnode_property*.

Cool. While at it, can you also add a patch to this series where the
fwnode is bind to the port? Something like this:

diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c
index 9bd4412356c9..ac4e7605f9d5 100644
--- a/drivers/staging/typec/tcpci.c
+++ b/drivers/staging/typec/tcpci.c
@@ -452,6 +452,8 @@ static int tcpci_probe(struct i2c_client *client,
        if (IS_ERR(tcpci->regmap))
                return PTR_ERR(tcpci->regmap);

+       tcpci->tcpc.fwnode = device_get_named_child_node(&client->dev, "connector");
+
        tcpci->tcpc.init = tcpci_init;
        tcpci->tcpc.get_vbus = tcpci_get_vbus;
        tcpci->tcpc.set_vbus = tcpci_set_vbus;
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index f4d563ee7690..68a0ead400c0 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -3729,6 +3729,7 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
        else
                port->try_role = TYPEC_NO_PREFERRED_ROLE;

+       port->typec_caps.fwnode = tcpc->fwnode;
        port->typec_caps.prefer_role = tcpc->config->default_role;
        port->typec_caps.type = tcpc->config->type;
        port->typec_caps.revision = 0x0120;     /* Type-C spec release 1.2 */
diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h
index ca1c0b57f03f..a25ebfea054d 100644
--- a/include/linux/usb/tcpm.h
+++ b/include/linux/usb/tcpm.h
@@ -127,6 +127,7 @@ struct tcpc_mux_dev {
 /**
  * struct tcpc_dev - Port configuration and callback functions
  * @config:    Pointer to port configuration
+ * @fwnode:    Pointer to port fwnode
  * @get_vbus:  Called to read current VBUS state
  * @get_current_limit:
  *             Optional; called by the tcpm core when configured as a snk
@@ -155,6 +156,7 @@ struct tcpc_mux_dev {
  */
 struct tcpc_dev {
        const struct tcpc_config *config;
+       struct fwnode_handle *fwnode;

        int (*init)(struct tcpc_dev *dev);
        int (*get_vbus)(struct tcpc_dev *dev);


Thanks,

-- 
heikki

             reply	other threads:[~2018-03-05 11:30 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-05 11:30 Heikki Krogerus [this message]
2018-03-05 11:30 ` [PATCH v2 03/12] staging: typec: tcpci: support port config passed via dt Heikki Krogerus
  -- strict thread matches above, loose matches on Subject: below --
2018-03-09  7:34 [v2,10/12] dt-bindings: connector: add properties for typec power delivery Heikki Krogerus
2018-03-09  7:34 ` [PATCH v2 10/12] " Heikki Krogerus
2018-03-08  1:41 [v2,10/12] " Jun Li
2018-03-08  1:41 ` [PATCH v2 10/12] " Jun Li
2018-03-06 12:02 [v2,10/12] " Heikki Krogerus
2018-03-06 12:02 ` [PATCH v2 10/12] " Heikki Krogerus
2018-03-06 11:54 [v2,10/12] " Andrzej Hajda
2018-03-06 11:54 ` [PATCH v2 10/12] " Andrzej Hajda
2018-03-06  9:38 [v2,10/12] " Jun Li
2018-03-06  9:38 ` [PATCH v2 10/12] " Jun Li
2018-03-05 12:38 [v2,03/12] staging: typec: tcpci: support port config passed via dt Jun Li
2018-03-05 12:38 ` [PATCH v2 03/12] " Jun Li
2018-03-05 12:25 [v2,10/12] dt-bindings: connector: add properties for typec power delivery Jun Li
2018-03-05 12:25 ` [PATCH v2 10/12] " Jun Li
2018-03-05 10:35 [v2,03/12] staging: typec: tcpci: support port config passed via dt Jun Li
2018-03-05 10:35 ` [PATCH v2 03/12] " Jun Li
2018-03-05  9:59 [v2,10/12] dt-bindings: connector: add properties for typec power delivery Andrzej Hajda
2018-03-05  9:59 ` [PATCH v2 10/12] " Andrzej Hajda
2018-03-05  9:53 [v2,03/12] staging: typec: tcpci: support port config passed via dt Heikki Krogerus
2018-03-05  9:53 ` [PATCH v2 03/12] " Heikki Krogerus
2018-03-05  8:53 [v2,03/12] " Jun Li
2018-03-05  8:53 ` [PATCH v2 03/12] " Jun Li
2018-03-05  8:40 [v2,02/12] usb: typec: add API to get sink and source config Jun Li
2018-03-05  8:40 ` [PATCH v2 02/12] " Jun Li
2018-03-05  7:54 [v2,01/12] usb: typec: add API to get port type and preferred role Jun Li
2018-03-05  7:54 ` [PATCH v2 01/12] " Jun Li
2018-03-05  7:52 [v2,10/12] dt-bindings: connector: add properties for typec power delivery Jun Li
2018-03-05  7:52 ` [PATCH v2 10/12] " Jun Li
2018-03-05  7:07 [v2,10/12] " Jun Li
2018-03-05  7:07 ` [PATCH v2 10/12] " Jun Li
2018-03-05  7:00 [v2,10/12] " Jun Li
2018-03-05  7:00 ` [PATCH v2 10/12] " Jun Li
2018-03-02 22:56 [v2,11/12] dt-bindings: usb: add documentation for typec port controller(TCPCI) Rob Herring
2018-03-02 22:56 ` [PATCH v2 11/12] " Rob Herring
2018-03-02 22:38 [v2,10/12] dt-bindings: connector: add properties for typec power delivery Rob Herring
2018-03-02 22:38 ` [PATCH v2 10/12] " Rob Herring
2018-03-02 22:29 [v2,10/12] " Rob Herring
2018-03-02 22:29 ` [PATCH v2 10/12] " Rob Herring
2018-02-27 11:03 [v2,03/12] staging: typec: tcpci: support port config passed via dt Heikki Krogerus
2018-02-27 11:03 ` [PATCH v2 03/12] " Heikki Krogerus
2018-02-27  8:41 [v2,10/12] dt-bindings: connector: add properties for typec power delivery Andrzej Hajda
2018-02-27  8:41 ` [PATCH v2 10/12] " Andrzej Hajda
2018-02-26 14:30 [v2,03/12] staging: typec: tcpci: support port config passed via dt Jun Li
2018-02-26 14:30 ` [PATCH v2 03/12] " Jun Li
2018-02-26 14:06 [v2,03/12] " Heikki Krogerus
2018-02-26 14:06 ` [PATCH v2 03/12] " Heikki Krogerus
2018-02-26 13:32 [v2,02/12] usb: typec: add API to get sink and source config Heikki Krogerus
2018-02-26 13:32 ` [PATCH v2 02/12] " Heikki Krogerus
2018-02-26 13:19 [v2,01/12] usb: typec: add API to get port type and preferred role Heikki Krogerus
2018-02-26 13:19 ` [PATCH v2 01/12] " Heikki Krogerus
2018-02-26 11:49 [v2,12/12] staging: typec: tcpci: move tcpci driver out of staging Jun Li
2018-02-26 11:49 ` [PATCH v2 12/12] " Li Jun
2018-02-26 11:49 [v2,11/12] dt-bindings: usb: add documentation for typec port controller(TCPCI) Jun Li
2018-02-26 11:49 ` [PATCH v2 11/12] " Li Jun
2018-02-26 11:49 [v2,10/12] dt-bindings: connector: add properties for typec power delivery Jun Li
2018-02-26 11:49 ` [PATCH v2 10/12] " Li Jun
2018-02-26 11:49 [v2,09/12] staging: typec: tcpci: Only touch target bit when enable vconn Jun Li
2018-02-26 11:49 ` [PATCH v2 09/12] " Li Jun
2018-02-26 11:49 [v2,08/12] staging: typec: tcpci: keep the uncontact cc line open Jun Li
2018-02-26 11:49 ` [PATCH v2 08/12] " Li Jun
2018-02-26 11:49 [v2,07/12] staging: typec: tcpci: correct drp toggling Jun Li
2018-02-26 11:49 ` [PATCH v2 07/12] " Li Jun
2018-02-26 11:49 [v2,06/12] typec: tcpm: add starting value for " Jun Li
2018-02-26 11:49 ` [PATCH v2 06/12] " Li Jun
2018-02-26 11:49 [v2,05/12] staging: typec: tcpci: enable vbus detection Jun Li
2018-02-26 11:49 ` [PATCH v2 05/12] " Li Jun
2018-02-26 11:49 [v2,04/12] staging: typec: tcpci: register port before request irq Jun Li
2018-02-26 11:49 ` [PATCH v2 04/12] " Li Jun
2018-02-26 11:49 [v2,03/12] staging: typec: tcpci: support port config passed via dt Jun Li
2018-02-26 11:49 ` [PATCH v2 03/12] " Li Jun
2018-02-26 11:49 [v2,02/12] usb: typec: add API to get sink and source config Jun Li
2018-02-26 11:49 ` [PATCH v2 02/12] " Li Jun
2018-02-26 11:49 [v2,01/12] usb: typec: add API to get port type and preferred role Jun Li
2018-02-26 11:49 ` [PATCH v2 01/12] " Li Jun
2018-02-26 11:49 [PATCH v2 00/12] staging: typec: tcpci: move out of staging Li Jun

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=20180305113005.GD10598@kuha.fi.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --cc=a.hajda@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=garsilva@embeddedor.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jun.li@nxp.com \
    --cc=linux-imx@nxp.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=mark.rutland@arm.com \
    --cc=o_leveque@orange.fr \
    --cc=peter.chen@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=shufan_lee@richtek.com \
    --cc=yueyao@google.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.