diff mbox series

[PATCHv2] usb: typec: Group all TCPCI/TCPM code together

Message ID 20180910115824.63709-1-heikki.krogerus@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [PATCHv2] usb: typec: Group all TCPCI/TCPM code together | expand

Commit Message

Heikki Krogerus Sept. 10, 2018, 11:58 a.m. UTC
Moving all the drivers that depend on the Port Controller
Manager under a new directory drivers/usb/typec/tcpm/ and
making Guenter Roeck the designated reviewer of that code.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
Changes since v1:
- Naming the directory tcpm instead of tcpci
- Port controller drivers, not port controller interface drivers

---
 MAINTAINERS                                   |  6 +++
 drivers/usb/typec/Kconfig                     | 45 +---------------
 drivers/usb/typec/Makefile                    |  6 +--
 drivers/usb/typec/fusb302/Kconfig             |  7 ---
 drivers/usb/typec/fusb302/Makefile            |  2 -
 drivers/usb/typec/tcpm/Kconfig                | 52 +++++++++++++++++++
 drivers/usb/typec/tcpm/Makefile               |  7 +++
 drivers/usb/typec/{fusb302 => tcpm}/fusb302.c |  0
 .../usb/typec/{fusb302 => tcpm}/fusb302_reg.h |  0
 drivers/usb/typec/{ => tcpm}/tcpci.c          |  0
 drivers/usb/typec/{ => tcpm}/tcpci.h          |  0
 drivers/usb/typec/{ => tcpm}/tcpci_rt1711h.c  |  0
 drivers/usb/typec/{ => tcpm}/tcpm.c           |  0
 .../usb/typec/{typec_wcove.c => tcpm/wcove.c} |  0
 14 files changed, 67 insertions(+), 58 deletions(-)
 delete mode 100644 drivers/usb/typec/fusb302/Kconfig
 delete mode 100644 drivers/usb/typec/fusb302/Makefile
 create mode 100644 drivers/usb/typec/tcpm/Kconfig
 create mode 100644 drivers/usb/typec/tcpm/Makefile
 rename drivers/usb/typec/{fusb302 => tcpm}/fusb302.c (100%)
 rename drivers/usb/typec/{fusb302 => tcpm}/fusb302_reg.h (100%)
 rename drivers/usb/typec/{ => tcpm}/tcpci.c (100%)
 rename drivers/usb/typec/{ => tcpm}/tcpci.h (100%)
 rename drivers/usb/typec/{ => tcpm}/tcpci_rt1711h.c (100%)
 rename drivers/usb/typec/{ => tcpm}/tcpm.c (100%)
 rename drivers/usb/typec/{typec_wcove.c => tcpm/wcove.c} (100%)

Comments

Guenter Roeck Sept. 10, 2018, 1:21 p.m. UTC | #1
On 09/10/2018 04:58 AM, Heikki Krogerus wrote:
> Moving all the drivers that depend on the Port Controller
> Manager under a new directory drivers/usb/typec/tcpm/ and
> making Guenter Roeck the designated reviewer of that code.
> 
> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

Acked-by: Guenter Roeck <linux@roeck-us.net>

> ---
> Changes since v1:
> - Naming the directory tcpm instead of tcpci
> - Port controller drivers, not port controller interface drivers
> 
> ---
>   MAINTAINERS                                   |  6 +++
>   drivers/usb/typec/Kconfig                     | 45 +---------------
>   drivers/usb/typec/Makefile                    |  6 +--
>   drivers/usb/typec/fusb302/Kconfig             |  7 ---
>   drivers/usb/typec/fusb302/Makefile            |  2 -
>   drivers/usb/typec/tcpm/Kconfig                | 52 +++++++++++++++++++
>   drivers/usb/typec/tcpm/Makefile               |  7 +++
>   drivers/usb/typec/{fusb302 => tcpm}/fusb302.c |  0
>   .../usb/typec/{fusb302 => tcpm}/fusb302_reg.h |  0
>   drivers/usb/typec/{ => tcpm}/tcpci.c          |  0
>   drivers/usb/typec/{ => tcpm}/tcpci.h          |  0
>   drivers/usb/typec/{ => tcpm}/tcpci_rt1711h.c  |  0
>   drivers/usb/typec/{ => tcpm}/tcpm.c           |  0
>   .../usb/typec/{typec_wcove.c => tcpm/wcove.c} |  0
>   14 files changed, 67 insertions(+), 58 deletions(-)
>   delete mode 100644 drivers/usb/typec/fusb302/Kconfig
>   delete mode 100644 drivers/usb/typec/fusb302/Makefile
>   create mode 100644 drivers/usb/typec/tcpm/Kconfig
>   create mode 100644 drivers/usb/typec/tcpm/Makefile
>   rename drivers/usb/typec/{fusb302 => tcpm}/fusb302.c (100%)
>   rename drivers/usb/typec/{fusb302 => tcpm}/fusb302_reg.h (100%)
>   rename drivers/usb/typec/{ => tcpm}/tcpci.c (100%)
>   rename drivers/usb/typec/{ => tcpm}/tcpci.h (100%)
>   rename drivers/usb/typec/{ => tcpm}/tcpci_rt1711h.c (100%)
>   rename drivers/usb/typec/{ => tcpm}/tcpm.c (100%)
>   rename drivers/usb/typec/{typec_wcove.c => tcpm/wcove.c} (100%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index aa5631035ece..e73fc8cc04b3 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15330,6 +15330,12 @@ F:	Documentation/driver-api/usb/typec_bus.rst
>   F:	drivers/usb/typec/altmodes/
>   F:	include/linux/usb/typec_altmode.h
>   
> +USB TYPEC PORT CONTROLLER DRIVERS
> +M:	Guenter Roeck <linux@roeck-us.net>
> +L:	linux-usb@vger.kernel.org
> +S:	Maintained
> +F:	drivers/usb/typec/tcpm/
> +
>   USB UHCI DRIVER
>   M:	Alan Stern <stern@rowland.harvard.edu>
>   L:	linux-usb@vger.kernel.org
> diff --git a/drivers/usb/typec/Kconfig b/drivers/usb/typec/Kconfig
> index 00878c386dd0..30a847c2089d 100644
> --- a/drivers/usb/typec/Kconfig
> +++ b/drivers/usb/typec/Kconfig
> @@ -45,50 +45,7 @@ menuconfig TYPEC
>   
>   if TYPEC
>   
> -config TYPEC_TCPM
> -	tristate "USB Type-C Port Controller Manager"
> -	depends on USB
> -	select USB_ROLE_SWITCH
> -	select POWER_SUPPLY
> -	help
> -	  The Type-C Port Controller Manager provides a USB PD and USB Type-C
> -	  state machine for use with Type-C Port Controllers.
> -
> -if TYPEC_TCPM
> -
> -config TYPEC_TCPCI
> -	tristate "Type-C Port Controller Interface driver"
> -	depends on I2C
> -	select REGMAP_I2C
> -	help
> -	  Type-C Port Controller driver for TCPCI-compliant controller.
> -
> -config TYPEC_RT1711H
> -	tristate "Richtek RT1711H Type-C chip driver"
> -	depends on I2C
> -	select TYPEC_TCPCI
> -	help
> -	  Richtek RT1711H Type-C chip driver that works with
> -	  Type-C Port Controller Manager to provide USB PD and USB
> -	  Type-C functionalities.
> -
> -source "drivers/usb/typec/fusb302/Kconfig"
> -
> -config TYPEC_WCOVE
> -	tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver"
> -	depends on ACPI
> -	depends on INTEL_SOC_PMIC
> -	depends on INTEL_PMC_IPC
> -	depends on BXT_WC_PMIC_OPREGION
> -	help
> -	  This driver adds support for USB Type-C detection on Intel Broxton
> -	  platforms that have Intel Whiskey Cove PMIC. The driver can detect the
> -	  role and cable orientation.
> -
> -	  To compile this driver as module, choose M here: the module will be
> -	  called typec_wcove
> -
> -endif # TYPEC_TCPM
> +source "drivers/usb/typec/tcpm/Kconfig"
>   
>   source "drivers/usb/typec/ucsi/Kconfig"
>   
> diff --git a/drivers/usb/typec/Makefile b/drivers/usb/typec/Makefile
> index 45b0aef428a8..6696b7263d61 100644
> --- a/drivers/usb/typec/Makefile
> +++ b/drivers/usb/typec/Makefile
> @@ -2,11 +2,7 @@
>   obj-$(CONFIG_TYPEC)		+= typec.o
>   typec-y				:= class.o mux.o bus.o
>   obj-$(CONFIG_TYPEC)		+= altmodes/
> -obj-$(CONFIG_TYPEC_TCPM)	+= tcpm.o
> -obj-y				+= fusb302/
> -obj-$(CONFIG_TYPEC_WCOVE)	+= typec_wcove.o
> +obj-$(CONFIG_TYPEC_TCPM)	+= tcpm/
>   obj-$(CONFIG_TYPEC_UCSI)	+= ucsi/
>   obj-$(CONFIG_TYPEC_TPS6598X)	+= tps6598x.o
>   obj-$(CONFIG_TYPEC)		+= mux/
> -obj-$(CONFIG_TYPEC_TCPCI)	+= tcpci.o
> -obj-$(CONFIG_TYPEC_RT1711H)	+= tcpci_rt1711h.o
> diff --git a/drivers/usb/typec/fusb302/Kconfig b/drivers/usb/typec/fusb302/Kconfig
> deleted file mode 100644
> index fce099ff39fe..000000000000
> --- a/drivers/usb/typec/fusb302/Kconfig
> +++ /dev/null
> @@ -1,7 +0,0 @@
> -config TYPEC_FUSB302
> -	tristate "Fairchild FUSB302 Type-C chip driver"
> -	depends on I2C
> -	help
> -	  The Fairchild FUSB302 Type-C chip driver that works with
> -	  Type-C Port Controller Manager to provide USB PD and USB
> -	  Type-C functionalities.
> diff --git a/drivers/usb/typec/fusb302/Makefile b/drivers/usb/typec/fusb302/Makefile
> deleted file mode 100644
> index 3b51b33631a0..000000000000
> --- a/drivers/usb/typec/fusb302/Makefile
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -# SPDX-License-Identifier: GPL-2.0
> -obj-$(CONFIG_TYPEC_FUSB302)	+= fusb302.o
> diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
> new file mode 100644
> index 000000000000..f03ea8a61768
> --- /dev/null
> +++ b/drivers/usb/typec/tcpm/Kconfig
> @@ -0,0 +1,52 @@
> +config TYPEC_TCPM
> +	tristate "USB Type-C Port Controller Manager"
> +	depends on USB
> +	select USB_ROLE_SWITCH
> +	select POWER_SUPPLY
> +	help
> +	  The Type-C Port Controller Manager provides a USB PD and USB Type-C
> +	  state machine for use with Type-C Port Controllers.
> +
> +if TYPEC_TCPM
> +
> +config TYPEC_TCPCI
> +	tristate "Type-C Port Controller Interface driver"
> +	depends on I2C
> +	select REGMAP_I2C
> +	help
> +	  Type-C Port Controller driver for TCPCI-compliant controller.
> +
> +if TYPEC_TCPCI
> +
> +config TYPEC_RT1711H
> +	tristate "Richtek RT1711H Type-C chip driver"
> +	help
> +	  Richtek RT1711H Type-C chip driver that works with
> +	  Type-C Port Controller Manager to provide USB PD and USB
> +	  Type-C functionalities.
> +
> +endif # TYPEC_TCPCI
> +
> +config TYPEC_FUSB302
> +	tristate "Fairchild FUSB302 Type-C chip driver"
> +	depends on I2C
> +	help
> +	  The Fairchild FUSB302 Type-C chip driver that works with
> +	  Type-C Port Controller Manager to provide USB PD and USB
> +	  Type-C functionalities.
> +
> +config TYPEC_WCOVE
> +	tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver"
> +	depends on ACPI
> +	depends on INTEL_SOC_PMIC
> +	depends on INTEL_PMC_IPC
> +	depends on BXT_WC_PMIC_OPREGION
> +	help
> +	  This driver adds support for USB Type-C on Intel Broxton platforms
> +	  that have Intel Whiskey Cove PMIC. The driver works with USB Type-C
> +	  Port Controller Manager to provide USB PD and Type-C functionalities.
> +
> +	  To compile this driver as module, choose M here: the module will be
> +	  called typec_wcove.ko
> +
> +endif # TYPEC_TCPM
> diff --git a/drivers/usb/typec/tcpm/Makefile b/drivers/usb/typec/tcpm/Makefile
> new file mode 100644
> index 000000000000..a5ff6c8eb892
> --- /dev/null
> +++ b/drivers/usb/typec/tcpm/Makefile
> @@ -0,0 +1,7 @@
> +# SPDX-License-Identifier: GPL-2.0
> +obj-$(CONFIG_TYPEC_TCPM)	+= tcpm.o
> +obj-$(CONFIG_TYPEC_FUSB302)	+= fusb302.o
> +obj-$(CONFIG_TYPEC_WCOVE)	+= typec_wcove.o
> +typec_wcove-y			:= wcove.o
> +obj-$(CONFIG_TYPEC_TCPCI)	+= tcpci.o
> +obj-$(CONFIG_TYPEC_RT1711H)	+= tcpci_rt1711h.o
> diff --git a/drivers/usb/typec/fusb302/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
> similarity index 100%
> rename from drivers/usb/typec/fusb302/fusb302.c
> rename to drivers/usb/typec/tcpm/fusb302.c
> diff --git a/drivers/usb/typec/fusb302/fusb302_reg.h b/drivers/usb/typec/tcpm/fusb302_reg.h
> similarity index 100%
> rename from drivers/usb/typec/fusb302/fusb302_reg.h
> rename to drivers/usb/typec/tcpm/fusb302_reg.h
> diff --git a/drivers/usb/typec/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c
> similarity index 100%
> rename from drivers/usb/typec/tcpci.c
> rename to drivers/usb/typec/tcpm/tcpci.c
> diff --git a/drivers/usb/typec/tcpci.h b/drivers/usb/typec/tcpm/tcpci.h
> similarity index 100%
> rename from drivers/usb/typec/tcpci.h
> rename to drivers/usb/typec/tcpm/tcpci.h
> diff --git a/drivers/usb/typec/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
> similarity index 100%
> rename from drivers/usb/typec/tcpci_rt1711h.c
> rename to drivers/usb/typec/tcpm/tcpci_rt1711h.c
> diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> similarity index 100%
> rename from drivers/usb/typec/tcpm.c
> rename to drivers/usb/typec/tcpm/tcpm.c
> diff --git a/drivers/usb/typec/typec_wcove.c b/drivers/usb/typec/tcpm/wcove.c
> similarity index 100%
> rename from drivers/usb/typec/typec_wcove.c
> rename to drivers/usb/typec/tcpm/wcove.c
>
Heikki Krogerus Sept. 11, 2018, 2:51 p.m. UTC | #2
On Mon, Sep 10, 2018 at 06:21:04AM -0700, Guenter Roeck wrote:
> On 09/10/2018 04:58 AM, Heikki Krogerus wrote:
> > Moving all the drivers that depend on the Port Controller
> > Manager under a new directory drivers/usb/typec/tcpm/ and
> > making Guenter Roeck the designated reviewer of that code.
> > 
> > Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> 
> Acked-by: Guenter Roeck <linux@roeck-us.net>

Thanks!

To avoid the little conflict this patch will cause, I'll resend it
together with the other Type-C patches I've collected next week to
Greg (assuming he does not pick them himself before that).

I have all the patches here:
https://github.com/krohei/linux/commits/typec-next

Br,
Greg Kroah-Hartman Sept. 20, 2018, 10:52 a.m. UTC | #3
On Tue, Sep 11, 2018 at 05:51:36PM +0300, Heikki Krogerus wrote:
> On Mon, Sep 10, 2018 at 06:21:04AM -0700, Guenter Roeck wrote:
> > On 09/10/2018 04:58 AM, Heikki Krogerus wrote:
> > > Moving all the drivers that depend on the Port Controller
> > > Manager under a new directory drivers/usb/typec/tcpm/ and
> > > making Guenter Roeck the designated reviewer of that code.
> > > 
> > > Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> > 
> > Acked-by: Guenter Roeck <linux@roeck-us.net>
> 
> Thanks!
> 
> To avoid the little conflict this patch will cause, I'll resend it
> together with the other Type-C patches I've collected next week to
> Greg (assuming he does not pick them himself before that).
> 
> I have all the patches here:
> https://github.com/krohei/linux/commits/typec-next

Yes, please send all of the patches in the correct order as I am
confused as to what needs to be applied where at the moment.

thanks,

greg k-h
Heikki Krogerus Sept. 20, 2018, 11:02 a.m. UTC | #4
On Thu, Sep 20, 2018 at 12:52:35PM +0200, Greg Kroah-Hartman wrote:
> On Tue, Sep 11, 2018 at 05:51:36PM +0300, Heikki Krogerus wrote:
> > On Mon, Sep 10, 2018 at 06:21:04AM -0700, Guenter Roeck wrote:
> > > On 09/10/2018 04:58 AM, Heikki Krogerus wrote:
> > > > Moving all the drivers that depend on the Port Controller
> > > > Manager under a new directory drivers/usb/typec/tcpm/ and
> > > > making Guenter Roeck the designated reviewer of that code.
> > > > 
> > > > Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> > > 
> > > Acked-by: Guenter Roeck <linux@roeck-us.net>
> > 
> > Thanks!
> > 
> > To avoid the little conflict this patch will cause, I'll resend it
> > together with the other Type-C patches I've collected next week to
> > Greg (assuming he does not pick them himself before that).
> > 
> > I have all the patches here:
> > https://github.com/krohei/linux/commits/typec-next
> 
> Yes, please send all of the patches in the correct order as I am
> confused as to what needs to be applied where at the moment.

I was just about to send them :-).


Thanks,
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index aa5631035ece..e73fc8cc04b3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15330,6 +15330,12 @@  F:	Documentation/driver-api/usb/typec_bus.rst
 F:	drivers/usb/typec/altmodes/
 F:	include/linux/usb/typec_altmode.h
 
+USB TYPEC PORT CONTROLLER DRIVERS
+M:	Guenter Roeck <linux@roeck-us.net>
+L:	linux-usb@vger.kernel.org
+S:	Maintained
+F:	drivers/usb/typec/tcpm/
+
 USB UHCI DRIVER
 M:	Alan Stern <stern@rowland.harvard.edu>
 L:	linux-usb@vger.kernel.org
diff --git a/drivers/usb/typec/Kconfig b/drivers/usb/typec/Kconfig
index 00878c386dd0..30a847c2089d 100644
--- a/drivers/usb/typec/Kconfig
+++ b/drivers/usb/typec/Kconfig
@@ -45,50 +45,7 @@  menuconfig TYPEC
 
 if TYPEC
 
-config TYPEC_TCPM
-	tristate "USB Type-C Port Controller Manager"
-	depends on USB
-	select USB_ROLE_SWITCH
-	select POWER_SUPPLY
-	help
-	  The Type-C Port Controller Manager provides a USB PD and USB Type-C
-	  state machine for use with Type-C Port Controllers.
-
-if TYPEC_TCPM
-
-config TYPEC_TCPCI
-	tristate "Type-C Port Controller Interface driver"
-	depends on I2C
-	select REGMAP_I2C
-	help
-	  Type-C Port Controller driver for TCPCI-compliant controller.
-
-config TYPEC_RT1711H
-	tristate "Richtek RT1711H Type-C chip driver"
-	depends on I2C
-	select TYPEC_TCPCI
-	help
-	  Richtek RT1711H Type-C chip driver that works with
-	  Type-C Port Controller Manager to provide USB PD and USB
-	  Type-C functionalities.
-
-source "drivers/usb/typec/fusb302/Kconfig"
-
-config TYPEC_WCOVE
-	tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver"
-	depends on ACPI
-	depends on INTEL_SOC_PMIC
-	depends on INTEL_PMC_IPC
-	depends on BXT_WC_PMIC_OPREGION
-	help
-	  This driver adds support for USB Type-C detection on Intel Broxton
-	  platforms that have Intel Whiskey Cove PMIC. The driver can detect the
-	  role and cable orientation.
-
-	  To compile this driver as module, choose M here: the module will be
-	  called typec_wcove
-
-endif # TYPEC_TCPM
+source "drivers/usb/typec/tcpm/Kconfig"
 
 source "drivers/usb/typec/ucsi/Kconfig"
 
diff --git a/drivers/usb/typec/Makefile b/drivers/usb/typec/Makefile
index 45b0aef428a8..6696b7263d61 100644
--- a/drivers/usb/typec/Makefile
+++ b/drivers/usb/typec/Makefile
@@ -2,11 +2,7 @@ 
 obj-$(CONFIG_TYPEC)		+= typec.o
 typec-y				:= class.o mux.o bus.o
 obj-$(CONFIG_TYPEC)		+= altmodes/
-obj-$(CONFIG_TYPEC_TCPM)	+= tcpm.o
-obj-y				+= fusb302/
-obj-$(CONFIG_TYPEC_WCOVE)	+= typec_wcove.o
+obj-$(CONFIG_TYPEC_TCPM)	+= tcpm/
 obj-$(CONFIG_TYPEC_UCSI)	+= ucsi/
 obj-$(CONFIG_TYPEC_TPS6598X)	+= tps6598x.o
 obj-$(CONFIG_TYPEC)		+= mux/
-obj-$(CONFIG_TYPEC_TCPCI)	+= tcpci.o
-obj-$(CONFIG_TYPEC_RT1711H)	+= tcpci_rt1711h.o
diff --git a/drivers/usb/typec/fusb302/Kconfig b/drivers/usb/typec/fusb302/Kconfig
deleted file mode 100644
index fce099ff39fe..000000000000
--- a/drivers/usb/typec/fusb302/Kconfig
+++ /dev/null
@@ -1,7 +0,0 @@ 
-config TYPEC_FUSB302
-	tristate "Fairchild FUSB302 Type-C chip driver"
-	depends on I2C
-	help
-	  The Fairchild FUSB302 Type-C chip driver that works with
-	  Type-C Port Controller Manager to provide USB PD and USB
-	  Type-C functionalities.
diff --git a/drivers/usb/typec/fusb302/Makefile b/drivers/usb/typec/fusb302/Makefile
deleted file mode 100644
index 3b51b33631a0..000000000000
--- a/drivers/usb/typec/fusb302/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@ 
-# SPDX-License-Identifier: GPL-2.0
-obj-$(CONFIG_TYPEC_FUSB302)	+= fusb302.o
diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
new file mode 100644
index 000000000000..f03ea8a61768
--- /dev/null
+++ b/drivers/usb/typec/tcpm/Kconfig
@@ -0,0 +1,52 @@ 
+config TYPEC_TCPM
+	tristate "USB Type-C Port Controller Manager"
+	depends on USB
+	select USB_ROLE_SWITCH
+	select POWER_SUPPLY
+	help
+	  The Type-C Port Controller Manager provides a USB PD and USB Type-C
+	  state machine for use with Type-C Port Controllers.
+
+if TYPEC_TCPM
+
+config TYPEC_TCPCI
+	tristate "Type-C Port Controller Interface driver"
+	depends on I2C
+	select REGMAP_I2C
+	help
+	  Type-C Port Controller driver for TCPCI-compliant controller.
+
+if TYPEC_TCPCI
+
+config TYPEC_RT1711H
+	tristate "Richtek RT1711H Type-C chip driver"
+	help
+	  Richtek RT1711H Type-C chip driver that works with
+	  Type-C Port Controller Manager to provide USB PD and USB
+	  Type-C functionalities.
+
+endif # TYPEC_TCPCI
+
+config TYPEC_FUSB302
+	tristate "Fairchild FUSB302 Type-C chip driver"
+	depends on I2C
+	help
+	  The Fairchild FUSB302 Type-C chip driver that works with
+	  Type-C Port Controller Manager to provide USB PD and USB
+	  Type-C functionalities.
+
+config TYPEC_WCOVE
+	tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver"
+	depends on ACPI
+	depends on INTEL_SOC_PMIC
+	depends on INTEL_PMC_IPC
+	depends on BXT_WC_PMIC_OPREGION
+	help
+	  This driver adds support for USB Type-C on Intel Broxton platforms
+	  that have Intel Whiskey Cove PMIC. The driver works with USB Type-C
+	  Port Controller Manager to provide USB PD and Type-C functionalities.
+
+	  To compile this driver as module, choose M here: the module will be
+	  called typec_wcove.ko
+
+endif # TYPEC_TCPM
diff --git a/drivers/usb/typec/tcpm/Makefile b/drivers/usb/typec/tcpm/Makefile
new file mode 100644
index 000000000000..a5ff6c8eb892
--- /dev/null
+++ b/drivers/usb/typec/tcpm/Makefile
@@ -0,0 +1,7 @@ 
+# SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_TYPEC_TCPM)	+= tcpm.o
+obj-$(CONFIG_TYPEC_FUSB302)	+= fusb302.o
+obj-$(CONFIG_TYPEC_WCOVE)	+= typec_wcove.o
+typec_wcove-y			:= wcove.o
+obj-$(CONFIG_TYPEC_TCPCI)	+= tcpci.o
+obj-$(CONFIG_TYPEC_RT1711H)	+= tcpci_rt1711h.o
diff --git a/drivers/usb/typec/fusb302/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
similarity index 100%
rename from drivers/usb/typec/fusb302/fusb302.c
rename to drivers/usb/typec/tcpm/fusb302.c
diff --git a/drivers/usb/typec/fusb302/fusb302_reg.h b/drivers/usb/typec/tcpm/fusb302_reg.h
similarity index 100%
rename from drivers/usb/typec/fusb302/fusb302_reg.h
rename to drivers/usb/typec/tcpm/fusb302_reg.h
diff --git a/drivers/usb/typec/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c
similarity index 100%
rename from drivers/usb/typec/tcpci.c
rename to drivers/usb/typec/tcpm/tcpci.c
diff --git a/drivers/usb/typec/tcpci.h b/drivers/usb/typec/tcpm/tcpci.h
similarity index 100%
rename from drivers/usb/typec/tcpci.h
rename to drivers/usb/typec/tcpm/tcpci.h
diff --git a/drivers/usb/typec/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
similarity index 100%
rename from drivers/usb/typec/tcpci_rt1711h.c
rename to drivers/usb/typec/tcpm/tcpci_rt1711h.c
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
similarity index 100%
rename from drivers/usb/typec/tcpm.c
rename to drivers/usb/typec/tcpm/tcpm.c
diff --git a/drivers/usb/typec/typec_wcove.c b/drivers/usb/typec/tcpm/wcove.c
similarity index 100%
rename from drivers/usb/typec/typec_wcove.c
rename to drivers/usb/typec/tcpm/wcove.c