Skip to contentSkip to conversation

remove the obsolete raw driver

PATCH In review Adrian Bunk 7 participants 11 messages May 21, 2005 – Jun 23, 2005

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 remove the obsolete raw driver

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

---

 drivers/char/Kconfig         |   20 --
 drivers/char/Makefile        |    1 
 drivers/char/mem.c           |    1 
 drivers/char/raw.c           |  342 -----------------------------------
 fs/compat_ioctl.c            |   69 -------
 include/linux/compat_ioctl.h |    3 
 include/linux/raw.h          |   18 -
 7 files changed, 454 deletions(-)
drivers/char/Makefile renamed from drivers/char/Makefile.old +0 -1
@@ -41,7 +41,6 @@
 obj-$(CONFIG_SX)		+= sx.o generic_serial.o
 obj-$(CONFIG_RIO)		+= rio/ generic_serial.o
 obj-$(CONFIG_HVC_CONSOLE)	+= hvc_console.o hvsi.o
-obj-$(CONFIG_RAW_DRIVER)	+= raw.o
 obj-$(CONFIG_SGI_SNSC)		+= snsc.o snsc_event.o
 obj-$(CONFIG_MMTIMER)		+= mmtimer.o
 obj-$(CONFIG_VIOCONS) += viocons.o
drivers/char/Kconfig renamed from drivers/char/Kconfig.old +0 -20
@@ -929,17 +929,6 @@
 
 	  If compiled as a module, it will be called scx200_gpio.
 
-config RAW_DRIVER
-	tristate "RAW driver (/dev/raw/rawN) (OBSOLETE)"
-	help
-	  The raw driver permits block devices to be bound to /dev/raw/rawN. 
-	  Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. 
-	  See the raw(8) manpage for more details.
-
-          The raw driver is deprecated and may be removed from 2.7
-          kernels.  Applications should simply open the device (eg /dev/hda1)
-          with the O_DIRECT flag.
-
 config HPET
 	bool "HPET - High Precision Event Timer" if (X86 || IA64)
 	default n
@@ -971,15 +960,6 @@
 	  exposed to the user.  If this applies to your hardware,
 	  say N here.
 
-config MAX_RAW_DEVS
-	int "Maximum number of RAW devices to support (1-8192)"
-	depends on RAW_DRIVER
-	default "256"
-	help
-	  The maximum number of RAW devices that are supported.
-	  Default is 256. Increase this number in case you need lots of
-	  raw devices.
-
 config HANGCHECK_TIMER
 	tristate "Hangcheck timer"
 	depends on X86_64 || X86 || IA64 || PPC64 || ARCH_S390
include/linux/compat_ioctl.h renamed from include/linux/compat_ioctl.h.old +0 -3
@@ -574,9 +574,6 @@
 COMPATIBLE_IOCTL(DEVFSDIOC_SET_EVENT_MASK)
 COMPATIBLE_IOCTL(DEVFSDIOC_RELEASE_EVENT_QUEUE)
 COMPATIBLE_IOCTL(DEVFSDIOC_SET_DEBUG_MASK)
-/* Raw devices */
-COMPATIBLE_IOCTL(RAW_SETBIND)
-COMPATIBLE_IOCTL(RAW_GETBIND)
 /* SMB ioctls which do not need any translations */
 COMPATIBLE_IOCTL(SMB_IOC_NEWCONN)
 /* NCP ioctls which do not need any translations */
fs/compat_ioctl.c renamed from fs/compat_ioctl.c.old +0 -69

87 lines not on this page · raw message

drivers/char/mem.c renamed from drivers/char/mem.c.old +0 -1
@@ -16,7 +16,6 @@
 #include <linux/mman.h>
 #include <linux/random.h>
 #include <linux/init.h>
-#include <linux/raw.h>
 #include <linux/tty.h>
 #include <linux/capability.h>
 #include <linux/smp_lock.h>
include/linux/raw.h deleted +0 -18
@@ -1,18 +0,0 @@
-#ifndef __LINUX_RAW_H
-#define __LINUX_RAW_H
-
-#include <linux/types.h>
-
-#define RAW_SETBIND	_IO( 0xac, 0 )
-#define RAW_GETBIND	_IO( 0xac, 1 )
-
-struct raw_config_request 
-{
-	int	raw_minor;
-	__u64	block_major;
-	__u64	block_minor;
-};
-
-#define MAX_RAW_MINORS CONFIG_MAX_RAW_DEVS
-
-#endif /* __LINUX_RAW_H */
drivers/char/raw.c deleted +0 -342

342 lines not on this page · raw message

#1 lore raw

Re: [2.6 patch] remove the obsolete raw driver]

Quoted 5 lines

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

Disagree. We need someone to benchmark and prove O_DIRECT on the raw device isnt a performance regression first.

Anton

#2 lore raw

Re: [2.6 patch] remove the obsolete raw driver]

Quoted 7 lines · Anton Blanchard
Quoted 4 lines

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

Disagree. We need someone to benchmark and prove O_DIRECT on the raw device isnt a performance regression first.

I don't have data on hand, but I recall seeing O_DIRECT on block devices (at least SCSI ones), attaining something very close to line rate, and scaling quite well as I/O was added.

Jesse

#3 lore raw
In reply to Adrian Bunk
Quoted 4 lines · Adrian Bunk

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.
It seems to be time to remove it.

9 point releases is nowhere long enough. This removal needs to wait for similar amounts of time as other removed interfaces (c.f. devfs, which is far more offensive).

In general there are staging rules for this sort of affair, and although I'm no expert in their fine points, nor can I even say what the exact criteria are, but it's rather clear in this instance it's over the line. I suspect a major release, planned as a staging ground for things like e.g. this and removing devfs, would be the most appropriate time for it.

-- wli

#4 lore raw
Quoted 10 lines · William Lee Irwin III
Quoted 4 lines · Adrian Bunk

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.
It seems to be time to remove it.

9 point releases is nowhere long enough. This removal needs to wait for similar amounts of time as other removed interfaces (c.f. devfs, which is far more offensive).

Quoted 5 lines

In general there are staging rules for this sort of affair, and although I'm no expert in their fine points, nor can I even say what the exact criteria are, but it's rather clear in this instance it's over the line. I suspect a major release, planned as a staging ground for things like e.g. this and removing devfs, would be the most appropriate time for it.

The current rules are simply "put it for 6-12 months in Documentation/feature-removal-schedule.txt and remove it then".

2.6.3 is more than a year go, and the date when the raw driver was declared obsolete predates the introduction of feature-removal-schedule.txt (at that time, we were still in the belief a 2.7 kernel would come some day).

Quoted 1 line

-- wli

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#5 lore raw
Quoted 8 lines · William Lee Irwin III
Quoted 8 lines

9 point releases is nowhere long enough. This removal needs to wait for similar amounts of time as other removed interfaces (c.f. devfs, which is far more offensive).
In general there are staging rules for this sort of affair, and although I'm no expert in their fine points, nor can I even say what the exact criteria are, but it's rather clear in this instance it's over the line. I suspect a major release, planned as a staging ground for things like e.g. this and removing devfs, would be the most appropriate time for it.

Quoted 6 lines · Adrian Bunk

The current rules are simply "put it for 6-12 months in Documentation/feature-removal-schedule.txt and remove it then". 2.6.3 is more than a year go, and the date when the raw driver was declared obsolete predates the introduction of feature-removal-schedule.txt (at that time, we were still in the belief a 2.7 kernel would come some day).

This sounds a little shaky but I'll let someone higher up roll dice or whatever to decide.

-- wli

#6 lore raw
In reply to Adrian Bunk
Quoted 4 lines · Adrian Bunk

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

As much as I would like to agree with you, no, not yet. Mark it as going to go away in the Documenation/feature-removal.txt file 6-8 months from now (or longer if people object, but no longer than a year) and then after that time expires, we can delete it.

thanks,

greg k-h

#7 lore raw

Hi,

Quoted 10 lines · Greg KH
Quoted 4 lines · Adrian Bunk

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

As much as I would like to agree with you, no, not yet. Mark it as going to go away in the Documenation/feature-removal.txt file 6-8 months from now (or longer if people object, but no longer than a year) and then after that time expires, we can delete it.

Adding a warning message to the open function would be nice too. Which user really reads that file?

bye, Roman

#8 lore raw

PATCH 1/1 schedule the obsolete raw driver for removal

In reply to Greg KH
Quoted 10 lines · Greg KH
Quoted 4 lines · Adrian Bunk

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

As much as I would like to agree with you, no, not yet. Mark it as going to go away in the Documenation/feature-removal.txt file 6-8 months from now (or longer if people object, but no longer than a year) and then after that time expires, we can delete it.

Patch below.

Quoted 3 lines

thanks,

greg k-h

cu
Adrian

<-- snip -->

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to schedule it's removal.

Documentation/feature-removal-schedule.txt renamed from Documentation/feature-removal-schedule.txt.old +8 -0
@@ -45,0 +46,8 @@
+What:	RAW driver (CONFIG_RAW_DRIVER)
+When:	December 2005
+Why:	declared obsolete since kernel 2.6.3
+	O_DIRECT can be used instead
+Who:	Adrian Bunk <[email protected]>
+
+---------------------------
+
drivers/char/Kconfig renamed from drivers/char/Kconfig.old +2 -2
@@ -943,2 +943,2 @@
-          The raw driver is deprecated and may be removed from 2.7
-          kernels.  Applications should simply open the device (eg /dev/hda1)
+          The raw driver is deprecated and will be removed soon.
+          Applications should simply open the device (eg /dev/hda1)
#9 lore raw
In reply to Adrian Bunk
Quoted 4 lines · Adrian Bunk

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

[...]

drivers/char/Kconfig line 941

Quoted 3 lines
drivers/char/Kconfig renamed from drivers/char/Kconfig.old +0 -3
-          The raw driver is deprecated and may be removed from 2.7
-          kernels.  Applications should simply open the device (eg /dev/hda1)
-          with the O_DIRECT flag.

To me, this sounds like a promise to keep it around for 2.6 at least...

Signature · 4 lines
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513
#10 lore raw
Quoted 6 lines · Horst von Brand
Quoted 4 lines · Adrian Bunk

Since kernel 2.6.3 the Kconfig text explicitely stated this driver was obsolete.

It seems to be time to remove it.

Quoted 7 lines

[...]

drivers/char/Kconfig line 941

Quoted 3 lines
drivers/char/Kconfig renamed from drivers/char/Kconfig.old +0 -3
-          The raw driver is deprecated and may be removed from 2.7
-          kernels.  Applications should simply open the device (eg /dev/hda1)
-          with the O_DIRECT flag.

To me, this sounds like a promise to keep it around for 2.6 at least...

With the current development model, 2.7 is a synonym for 2.6.12 ...

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed