Skip to contentSkip to conversation

NET: pc300, move to staging as it is broken

PATCH NAK Jiri Slaby 1 participant 2 messages Mar 28, 2012

Subsystems (3)
lore
Share & tools
lore

Jiri Slaby

author
#0 lore raw

PATCH 1/1 NET: pc300, move to staging as it is broken

It was marked as BROKEN back in 2008. It is because the tty handling in the driver is really broken.

And since nobody stepped in and rewrote the driver, it is time to move it out of line now. And drop it some time later if nobody comes up with patches to fix the driver.

Cc "David S. Miller" <[email protected]>
Cc Alan Cox <[email protected]>
---
 drivers/net/wan/Kconfig                          |   31 ------------------
 drivers/net/wan/Makefile                         |    5 ---
 drivers/staging/Kconfig                          |    2 ++
 drivers/staging/Makefile                         |    1 +
 drivers/staging/net/Kconfig                      |   38 ++++++++++++++++++++++
 drivers/staging/net/Makefile                     |    5 +++
 drivers/staging/net/TODO                         |    5 +++
 drivers/{net/wan => staging/net}/pc300-falc-lh.h |    0
 drivers/{net/wan => staging/net}/pc300.h         |    0
 drivers/{net/wan => staging/net}/pc300_drv.c     |    0
 drivers/{net/wan => staging/net}/pc300_tty.c     |    0
 11 files changed, 51 insertions(+), 36 deletions(-)
 create mode 100644 drivers/staging/net/Kconfig
 create mode 100644 drivers/staging/net/Makefile
 create mode 100644 drivers/staging/net/TODO
 rename drivers/{net/wan => staging/net}/pc300-falc-lh.h (100%)
 rename drivers/{net/wan => staging/net}/pc300.h (100%)
 rename drivers/{net/wan => staging/net}/pc300_drv.c (100%)
 rename drivers/{net/wan => staging/net}/pc300_tty.c (100%)
drivers/net/wan/Kconfig +0 -31
index d70ede7..d58431e 100644
@@ -203,37 +203,6 @@ config WANXL_BUILD_FIRMWARE
 
 	  You should never need this option, say N.
 
-config PC300
-	tristate "Cyclades-PC300 support (RS-232/V.35, X.21, T1/E1 boards)"
-	depends on HDLC && PCI && BROKEN
-	---help---
-	  This driver is broken because of struct tty_driver change.
-
-	  Driver for the Cyclades-PC300 synchronous communication boards.
-
-	  These boards provide synchronous serial interfaces to your
-	  Linux box (interfaces currently available are RS-232/V.35, X.21 and
-	  T1/E1). If you wish to support Multilink PPP, please select the
-	  option later and read the file README.mlppp provided by PC300
-	  package.
-
-	  To compile this as a module, choose M here: the module
-	  will be called pc300.
-
-	  If unsure, say N.
-
-config PC300_MLPPP
-	bool "Cyclades-PC300 MLPPP support"
-	depends on PC300 && PPP_MULTILINK && PPP_SYNC_TTY && HDLC_PPP
-	help
-	  Multilink PPP over the PC300 synchronous communication boards.
-
-comment "Cyclades-PC300 MLPPP support is disabled."
-	depends on HDLC && PC300 && (PPP=n || !PPP_MULTILINK || PPP_SYNC_TTY=n || !HDLC_PPP)
-
-comment "Refer to the file README.mlppp, provided by PC300 package."
-	depends on HDLC && PC300 && (PPP=n || !PPP_MULTILINK || PPP_SYNC_TTY=n || !HDLC_PPP)
-
 config PC300TOO
 	tristate "Cyclades PC300 RSV/X21 alternative support"
 	depends on HDLC && PCI
drivers/net/wan/Makefile +0 -5
index 19d14bc..eac709b 100644
@@ -17,10 +17,6 @@ obj-$(CONFIG_HDLC_FR)		+= hdlc_fr.o
 obj-$(CONFIG_HDLC_PPP)		+= hdlc_ppp.o
 obj-$(CONFIG_HDLC_X25)		+= hdlc_x25.o
 
-pc300-y				:= pc300_drv.o
-pc300-$(CONFIG_PC300_MLPPP)	+= pc300_tty.o
-pc300-objs			:= $(pc300-y)
-
 obj-$(CONFIG_HOSTESS_SV11)	+= z85230.o	hostess_sv11.o
 obj-$(CONFIG_SEALEVEL_4021)	+= z85230.o	sealevel.o
 obj-$(CONFIG_COSA)		+= cosa.o
@@ -35,7 +31,6 @@ obj-$(CONFIG_SDLA)		+= sdla.o
 obj-$(CONFIG_CYCLADES_SYNC)	+= cycx_drv.o cyclomx.o
 obj-$(CONFIG_LAPBETHER)		+= lapbether.o
 obj-$(CONFIG_SBNI)		+= sbni.o
-obj-$(CONFIG_PC300)		+= pc300.o
 obj-$(CONFIG_N2)		+= n2.o
 obj-$(CONFIG_C101)		+= c101.o
 obj-$(CONFIG_WANXL)		+= wanxl.o
drivers/staging/Kconfig +2 -0
index 97d412d..47c6260 100644
@@ -122,6 +122,8 @@ source "drivers/staging/nvec/Kconfig"
 
 source "drivers/staging/media/Kconfig"
 
+source "drivers/staging/net/Kconfig"
+
 source "drivers/staging/omapdrm/Kconfig"
 
 source "drivers/staging/android/Kconfig"
drivers/staging/Makefile +1 -0
index ffe7d44..aa1bbb4 100644
@@ -5,6 +5,7 @@ obj-$(CONFIG_STAGING)		+= staging.o
 
 obj-y				+= serial/
 obj-y				+= media/
+obj-y				+= net/
 obj-$(CONFIG_ET131X)		+= et131x/
 obj-$(CONFIG_SLICOSS)		+= slicoss/
 obj-$(CONFIG_USBIP_CORE)	+= usbip/
drivers/staging/net/Kconfig new file +38 -0
new file mode 100644
index 0000000..a64e56b
@@ -0,0 +1,38 @@
+if NETDEVICES
+
+if WAN
+
+config PC300
+	tristate "Cyclades-PC300 support (RS-232/V.35, X.21, T1/E1 boards)"
+	depends on HDLC && PCI && BROKEN
+	---help---
+	  This driver is broken because of struct tty_driver change.
+
+	  Driver for the Cyclades-PC300 synchronous communication boards.
+
+	  These boards provide synchronous serial interfaces to your
+	  Linux box (interfaces currently available are RS-232/V.35, X.21 and
+	  T1/E1). If you wish to support Multilink PPP, please select the
+	  option later and read the file README.mlppp provided by PC300
+	  package.
+
+	  To compile this as a module, choose M here: the module
+	  will be called pc300.
+
+	  If unsure, say N.
+
+config PC300_MLPPP
+	bool "Cyclades-PC300 MLPPP support"
+	depends on PC300 && PPP_MULTILINK && PPP_SYNC_TTY && HDLC_PPP
+	help
+	  Multilink PPP over the PC300 synchronous communication boards.
+
+comment "Cyclades-PC300 MLPPP support is disabled."
+	depends on HDLC && PC300 && (PPP=n || !PPP_MULTILINK || PPP_SYNC_TTY=n || !HDLC_PPP)
+
+comment "Refer to the file README.mlppp, provided by PC300 package."
+	depends on HDLC && PC300 && (PPP=n || !PPP_MULTILINK || PPP_SYNC_TTY=n || !HDLC_PPP)
+
+endif # WAN
+
+endif # NETDEVICES
drivers/staging/net/Makefile new file +5 -0
new file mode 100644
index 0000000..0799c43
@@ -0,0 +1,5 @@
+pc300-y				:= pc300_drv.o
+pc300-$(CONFIG_PC300_MLPPP)	+= pc300_tty.o
+pc300-objs			:= $(pc300-y)
+
+obj-$(CONFIG_PC300)		+= pc300.o
drivers/staging/net/TODO new file +5 -0
new file mode 100644
index 0000000..e3446f2
@@ -0,0 +1,5 @@
+PC300
+The driver is very broken and cannot work with the current TTY layer. It is
+inevitable to convert it to the new TTY API.
+
+If no one steps in to adopt the driver, it will be removed in the 3.7 release.
drivers/staging/net/pc300-falc-lh.h renamed from drivers/net/wan/pc300-falc-lh.h +0 -0
similarity index 100%
rename from drivers/net/wan/pc300-falc-lh.h
rename to drivers/staging/net/pc300-falc-lh.h
drivers/staging/net/pc300.h renamed from drivers/net/wan/pc300.h +0 -0
similarity index 100%
rename from drivers/net/wan/pc300.h
rename to drivers/staging/net/pc300.h
drivers/staging/net/pc300_drv.c renamed from drivers/net/wan/pc300_drv.c +0 -0
similarity index 100%
rename from drivers/net/wan/pc300_drv.c
rename to drivers/staging/net/pc300_drv.c
drivers/staging/net/pc300_tty.c renamed from drivers/net/wan/pc300_tty.c +0 -0
similarity index 100%
rename from drivers/net/wan/pc300_tty.c
rename to drivers/staging/net/pc300_tty.c
Signature · 1 line
1.7.9.2
author NAK
#1 lore raw
Quoted 8 lines · Jiri Slaby

It was marked as BROKEN back in 2008. It is because the tty handling in the driver is really broken.

And since nobody stepped in and rewrote the driver, it is time to move it out of line now. And drop it some time later if nobody comes up with patches to fix the driver.

NACK.

I've just found some recent activity in respect to fix this driver which didn't reach my radar before.

Andrea, what's the status of the patchset?

sorry for the noise,

-- js suse labs