[PATCH v3 4/5] typec: tcpm: Move out of staging

From: Guenter Roeck
Date: Mon Sep 11 2017 - 23:32:59 EST


Move tcpm (USB Type-C Port Manager) out of staging.

Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
v2: Use format-patch -M
v3: No change

drivers/staging/typec/Kconfig | 8 --------
drivers/staging/typec/Makefile | 1 -
drivers/staging/typec/TODO | 10 ----------
drivers/staging/typec/fusb302/fusb302.c | 4 ++--
drivers/staging/typec/tcpci.c | 4 ++--
drivers/usb/typec/Kconfig | 8 ++++++++
drivers/usb/typec/Makefile | 1 +
drivers/{staging => usb}/typec/tcpm.c | 9 ++++-----
{drivers/staging/typec => include/linux/usb}/pd.h | 0
{drivers/staging/typec => include/linux/usb}/pd_bdo.h | 0
{drivers/staging/typec => include/linux/usb}/pd_vdo.h | 0
{drivers/staging/typec => include/linux/usb}/tcpm.h | 0
12 files changed, 17 insertions(+), 28 deletions(-)
rename drivers/{staging => usb}/typec/tcpm.c (99%)
rename {drivers/staging/typec => include/linux/usb}/pd.h (100%)
rename {drivers/staging/typec => include/linux/usb}/pd_bdo.h (100%)
rename {drivers/staging/typec => include/linux/usb}/pd_vdo.h (100%)
rename {drivers/staging/typec => include/linux/usb}/tcpm.h (100%)

diff --git a/drivers/staging/typec/Kconfig b/drivers/staging/typec/Kconfig
index 37a0781b0d0c..31fad23c2553 100644
--- a/drivers/staging/typec/Kconfig
+++ b/drivers/staging/typec/Kconfig
@@ -1,13 +1,5 @@
menu "USB Power Delivery and Type-C drivers"

-config TYPEC_TCPM
- tristate "USB Type-C Port Controller Manager"
- depends on USB
- select TYPEC
- 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
diff --git a/drivers/staging/typec/Makefile b/drivers/staging/typec/Makefile
index 30a7e29cbc9e..e1df3f0fde10 100644
--- a/drivers/staging/typec/Makefile
+++ b/drivers/staging/typec/Makefile
@@ -1,3 +1,2 @@
-obj-$(CONFIG_TYPEC_TCPM) += tcpm.o
obj-$(CONFIG_TYPEC_TCPCI) += tcpci.o
obj-y += fusb302/
diff --git a/drivers/staging/typec/TODO b/drivers/staging/typec/TODO
index bc1f97a2d1bf..53fe2f726c88 100644
--- a/drivers/staging/typec/TODO
+++ b/drivers/staging/typec/TODO
@@ -1,13 +1,3 @@
-tcpm:
-- Add documentation (at the very least for the API to low level drivers)
-- Split PD code into separate file
-- Check if it makes sense to use tracepoints instead of debugfs for debug logs
-- Implement Alternate Mode handling
-- Address "#if 0" code if not addressed with the above
-- Validate all comments marked with "XXX"; either address or remove comments
-- Add support for USB PD 3.0. While not mandatory, at least fast role swap
- as well as authentication support would be very desirable.
-
tcpci:
- Test with real hardware

diff --git a/drivers/staging/typec/fusb302/fusb302.c b/drivers/staging/typec/fusb302/fusb302.c
index fc6a3cf74eb3..e790b67d4953 100644
--- a/drivers/staging/typec/fusb302/fusb302.c
+++ b/drivers/staging/typec/fusb302/fusb302.c
@@ -37,11 +37,11 @@
#include <linux/string.h>
#include <linux/types.h>
#include <linux/usb/typec.h>
+#include <linux/usb/tcpm.h>
+#include <linux/usb/pd.h>
#include <linux/workqueue.h>

#include "fusb302_reg.h"
-#include "../tcpm.h"
-#include "../pd.h"

/*
* When the device is SNK, BC_LVL interrupt is used to monitor cc pins
diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c
index df72d8b01e73..4636804ea1a4 100644
--- a/drivers/staging/typec/tcpci.c
+++ b/drivers/staging/typec/tcpci.c
@@ -20,11 +20,11 @@
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/regmap.h>
+#include <linux/usb/pd.h>
+#include <linux/usb/tcpm.h>
#include <linux/usb/typec.h>

-#include "pd.h"
#include "tcpci.h"
-#include "tcpm.h"

#define PD_RETRY_COUNT 3

diff --git a/drivers/usb/typec/Kconfig b/drivers/usb/typec/Kconfig
index bc1b7745f1d4..888605860091 100644
--- a/drivers/usb/typec/Kconfig
+++ b/drivers/usb/typec/Kconfig
@@ -4,6 +4,14 @@ menu "USB Power Delivery and Type-C drivers"
config TYPEC
tristate

+config TYPEC_TCPM
+ tristate "USB Type-C Port Controller Manager"
+ depends on USB
+ select TYPEC
+ help
+ The Type-C Port Controller Manager provides a USB PD and USB Type-C
+ state machine for use with Type-C Port Controllers.
+
config TYPEC_WCOVE
tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver"
depends on ACPI
diff --git a/drivers/usb/typec/Makefile b/drivers/usb/typec/Makefile
index bc214f15f1b5..eb883984724b 100644
--- a/drivers/usb/typec/Makefile
+++ b/drivers/usb/typec/Makefile
@@ -1,3 +1,4 @@
obj-$(CONFIG_TYPEC) += typec.o
+obj-$(CONFIG_TYPEC_TCPM) += tcpm.o
obj-$(CONFIG_TYPEC_WCOVE) += typec_wcove.o
obj-$(CONFIG_TYPEC_UCSI) += ucsi/
diff --git a/drivers/staging/typec/tcpm.c b/drivers/usb/typec/tcpm.c
similarity index 99%
rename from drivers/staging/typec/tcpm.c
rename to drivers/usb/typec/tcpm.c
index cb25ec8334b0..f557c479fdc2 100644
--- a/drivers/staging/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -26,14 +26,13 @@
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
+#include <linux/usb/pd.h>
+#include <linux/usb/pd_bdo.h>
+#include <linux/usb/pd_vdo.h>
+#include <linux/usb/tcpm.h>
#include <linux/usb/typec.h>
#include <linux/workqueue.h>

-#include "pd.h"
-#include "pd_vdo.h"
-#include "pd_bdo.h"
-#include "tcpm.h"
-
#define FOREACH_STATE(S) \
S(INVALID_STATE), \
S(DRP_TOGGLING), \
diff --git a/drivers/staging/typec/pd.h b/include/linux/usb/pd.h
similarity index 100%
rename from drivers/staging/typec/pd.h
rename to include/linux/usb/pd.h
diff --git a/drivers/staging/typec/pd_bdo.h b/include/linux/usb/pd_bdo.h
similarity index 100%
rename from drivers/staging/typec/pd_bdo.h
rename to include/linux/usb/pd_bdo.h
diff --git a/drivers/staging/typec/pd_vdo.h b/include/linux/usb/pd_vdo.h
similarity index 100%
rename from drivers/staging/typec/pd_vdo.h
rename to include/linux/usb/pd_vdo.h
diff --git a/drivers/staging/typec/tcpm.h b/include/linux/usb/tcpm.h
similarity index 100%
rename from drivers/staging/typec/tcpm.h
rename to include/linux/usb/tcpm.h
--
2.7.4