|
From: Aivils S. <ai...@us...> - 2003-10-02 09:32:27
|
Update of /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char
In directory sc8-pr-cvs1:/tmp/cvs-serv30336/ruby-2.6/drivers/char
Modified Files:
Kconfig Makefile keyboard.c n_tty.c sysrq.c tty_io.c
vc_screen.c vt.c vt_ioctl.c
Log Message:
sync to 2.6.0-test6
Index: Kconfig
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/Kconfig,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Kconfig 11 Aug 2003 16:26:46 -0000 1.1
+++ Kconfig 2 Oct 2003 09:32:18 -0000 1.2
@@ -6,7 +6,7 @@
config VT
bool "Virtual terminal" if EMBEDDED
- requires INPUT=y
+ select INPUT
default y
---help---
If you say Y here, you will get support for terminal devices with
@@ -36,11 +36,11 @@
shiny Linux system :-)
config VT_BDSM
- bool "ISO6429 bidirectional support"
- depends on VT
- ---help---
- If you say yes you will get support for the ability to type left to
- right or right to left.
+ bool "ISO6429 bidirectional support"
+ depends on VT
+ ---help---
+ If you say yes you will get support for the ability to type left to
+ right or right to left.
config VT_CONSOLE
bool "Support for console on virtual terminal" if EMBEDDED
@@ -87,7 +87,7 @@
config COMPUTONE
tristate "Computone IntelliPort Plus serial support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
---help---
This driver supports the entire family of Intelliport II/Plus
controllers with the exception of the MicroChannel controllers and
@@ -97,10 +97,8 @@
order to become a dial-in server. If you have a card like that, say
Y here and read <file:Documentation/computone.txt>.
- If you want to compile this as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/modules.txt>. You will get
- two modules called ip2 and ip2main.
+ To compile this driver as modules, choose M here: the
+ modules will be called ip2 and ip2main.
config ROCKETPORT
tristate "Comtrol RocketPort support"
@@ -111,16 +109,15 @@
modems. For information about the RocketPort/RocketModem boards
and this driver read <file:Documentation/rocket.txt>.
- If you want to compile this driver as a module, say M here and read
- <file:Documentation/modules.txt>. The module will be called
- rocket.
+ To compile this driver as a module, choose M here: the
+ module will be called rocket.
If you want to compile this driver into the kernel, say Y here. If
you don't have a Comtrol RocketPort/RocketModem card installed, say N.
config CYCLADES
tristate "Cyclades async mux support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
---help---
This is a driver for a card that gives you many serial ports. You
would need something like this to connect more than two modems to
@@ -131,10 +128,8 @@
As of 1.3.9x kernels, this driver's minor numbers start at 0 instead
of 32.
- If you want to compile this as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/modules.txt>. The module
- will be called cyclades.
+ To compile this driver as a module, choose M here: the
+ module will be called cyclades.
If you haven't heard about it, it's safe to say N.
@@ -152,7 +147,7 @@
config DIGIEPCA
tristate "Digiboard Intelligent Async Support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
---help---
This is a driver for Digi International's Xx, Xeve, and Xem series
of cards which provide multiple serial ports. You would need
@@ -166,12 +161,12 @@
"Digiboard PC/Xx Support" below. You should (and can) only select
one of the two drivers.
- If you want to compile this driver as a module, say M here and read
- <file:Documentation/modules.txt>. The module will be called epca.
+ To compile this driver as a module, choose M here: the
+ module will be called epca.
config DIGI
tristate "Digiboard PC/Xx Support"
- depends on SERIAL_NONSTANDARD && DIGIEPCA=n
+ depends on SERIAL_NONSTANDARD && DIGIEPCA=n && BROKEN_ON_SMP
help
This is a driver for the Digiboard PC/Xe, PC/Xi, and PC/Xeve cards
that give you many serial ports. You would need something like this
@@ -179,36 +174,34 @@
order to become a dial-in server. If you have a card like that, say
Y here and read the file <file:Documentation/digiboard.txt>.
- If you want to compile this driver as a module, say M here and read
- <file:Documentation/modules.txt>. The module will be called pcxx.
+ To compile this driver as a module, choose M here: the
+ module will be called pcxx.
config ESPSERIAL
tristate "Hayes ESP serial port support"
- depends on SERIAL_NONSTANDARD && ISA
+ depends on SERIAL_NONSTANDARD && ISA && BROKEN_ON_SMP
help
This is a driver which supports Hayes ESP serial ports. Both single
port cards and multiport cards are supported. Make sure to read
<file:Documentation/hayes-esp.txt>.
- To compile this driver as a module ( = code which can be inserted in
- and removed from the running kernel whenever you want), say M here
- and read <file:Documentation/modules.txt>. The module will be
- called esp. If unsure, say N.
+ To compile this driver as a module, choose M here: the
+ module will be called esp.
+
+ If unsure, say N.
config MOXA_INTELLIO
tristate "Moxa Intellio support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
help
Say Y here if you have a Moxa Intellio multiport serial card.
- This driver can also be built as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module will be called moxa. If you want to do that, say M
- here.
+ To compile this driver as a module, choose M here: the
+ module will be called moxa.
config MOXA_SMARTIO
tristate "Moxa SmartIO support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
help
Say Y here if you have a Moxa SmartIO multiport serial card.
@@ -219,14 +212,12 @@
config ISI
tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
- depends on SERIAL_NONSTANDARD && EXPERIMENTAL && m
+ depends on SERIAL_NONSTANDARD && EXPERIMENTAL && BROKEN_ON_SMP && m
help
This is a driver for the Multi-Tech cards which provide several
serial ports. The driver is experimental and can currently only be
- built as a module ( = code which can be inserted in and removed from
- the running kernel whenever you want). Please read
- <file:Documentation/modules.txt>. The module will be called
- isicom.
+ built as a module. The module will be called isicom.
+ If you want to do that, choose M here.
config SYNCLINK
tristate "Microgate SyncLink card support"
@@ -269,7 +260,7 @@
config RISCOM8
tristate "SDL RISCom/8 card support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
help
This is a driver for the SDL Communications RISCom/8 multiport card,
which gives you many serial ports. You would need something like
@@ -282,7 +273,7 @@
config SPECIALIX
tristate "Specialix IO8+ card support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
help
This is a driver for the Specialix IO8+ multiport card (both the
ISA and the PCI version) which gives you many serial ports. You
@@ -306,7 +297,7 @@
config SX
tristate "Specialix SX (and SI) card support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
help
This is a driver for the SX and SI multiport serial cards.
Please read the file <file:Documentation/sx.txt> for details.
@@ -317,7 +308,7 @@
config RIO
tristate "Specialix RIO system support"
- depends on SERIAL_NONSTANDARD
+ depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
help
This is a driver for the Specialix RIO, a smart serial card which
drives an outboard box that can support up to 128 ports. Product
@@ -346,33 +337,29 @@
config STALLION
tristate "Stallion EasyIO or EC8/32 support"
- depends on STALDRV
+ depends on STALDRV && BROKEN_ON_SMP
help
If you have an EasyIO or EasyConnection 8/32 multiport Stallion
card, then this is for you; say Y. Make sure to read
<file:Documentation/stallion.txt>.
- If you want to compile this as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/modules.txt>. The module
- will be called stallion.
+ To compile this driver as a module, choose M here: the
+ module will be called stallion.
config ISTALLION
tristate "Stallion EC8/64, ONboard, Brumby support"
- depends on STALDRV
+ depends on STALDRV && BROKEN_ON_SMP
help
If you have an EasyConnection 8/64, ONboard, Brumby or Stallion
serial multiport card, say Y here. Make sure to read
<file:Documentation/stallion.txt>.
- To compile it as a module ( = code which can be inserted in and
- removed from the running kernel whenever you want), say M here and
- read <file:Documentation/modules.txt>. The module will be called
- istallion.
+ To compile this driver as a module, choose M here: the
+ module will be called istallion.
config SERIAL_TX3912
bool "TMPTX3912/PR31700 serial port support"
- depends on SERIAL_NONSTANDARD && MIPS
+ depends on SERIAL_NONSTANDARD && MIPS && BROKEN_ON_SMP
help
The TX3912 is a Toshiba RISC processor based o the MIPS 3900 core;
see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
@@ -432,7 +419,7 @@
config A2232
tristate "Commodore A2232 serial support (EXPERIMENTAL)"
- depends on EXPERIMENTAL && ZORRO
+ depends on EXPERIMENTAL && ZORRO && BROKEN_ON_SMP
---help---
This option supports the 2232 7-port serial card shipped with the
Amiga 2000 and other Zorro-bus machines, dating from 1989. At
@@ -444,8 +431,7 @@
This driver can be built as a module; but then "generic_serial"
will also be built as a module. This has to be loaded before
- "ser_a2232". If you want to do this, answer M here and read
- "<file:Documentation/modules.txt>".
+ "ser_a2232". If you want to do this, answer M here.
source "drivers/serial/Kconfig"
@@ -503,10 +489,9 @@
It is possible to share one parallel port among several devices
(e.g. printer and ZIP drive) and it is safe to compile the
- corresponding drivers into the kernel. If you want to compile this
- driver as a module however ( = code which can be inserted in and
- removed from the running kernel whenever you want), say M here and
- read <file:Documentation/modules.txt> and
+ corresponding drivers into the kernel.
+
+ To compile this driver as a module, choose M here and read
<file:Documentation/parport.txt>. The module will be called lp.
If you have several parallel ports, you can specify which ports to
@@ -548,10 +533,8 @@
It is safe to say N to this -- it is not needed for normal printing
or parallel port CD-ROM/disk support.
- This support is also available as a module. If you want to compile
- it as a module, say M here and read
- <file:Documentation/modules.txt>. The module will be called
- ppdev.
+ To compile this driver as a module, choose M here: the
+ module will be called ppdev.
If unsure, say N.
@@ -568,10 +551,8 @@
to use this precise link cable (depending on the permissions on
the device nodes, though).
- This code is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module will be called tipar. If you want to compile it as a
- module, say M here and read Documentation/modules.txt.
+ To compile this driver as a module, choose M here: the
+ module will be called tipar.
If you don't know what a parallel link cable is or what a Texas
Instruments graphing calculator is, then you probably don't need this
@@ -619,21 +600,18 @@
you will have to say Y here and also to the specific driver for your
mouse below.
- This code is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module will be called busmouse. If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>.
+ To compile this driver as a module, choose M here: the
+ module will be called busmouse.
endmenu
config QIC02_TAPE
tristate "QIC-02 tape support"
help
- If you have a non-SCSI tape drive like that, say Y. Or, if you want
- to compile this driver as a module ( = code which can be inserted in
- and removed from the running kernel whenever you want), say M here
- and read <file:Documentation/modules.txt>. The module will be called
- tpqic02.
+ If you have a non-SCSI tape drive like that, say Y.
+
+ To compile this driver as a module, choose M here: the
+ module will be called tpqic02.
config QIC02_DYNCONF
bool "Do you want runtime configuration for QIC-02"
@@ -694,11 +672,8 @@
button; it will still execute a hard reset if the button is held
down for longer than approximately five seconds.
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- If you want to compile it as a module, say M here and read
- <file:Documentation/modules.txt>. The module will be called
- nwbutton.
+ To compile this driver as a module, choose M here: the
+ module will be called nwbutton.
Most people will answer Y to this question and "Reboot Using Button"
below to be able to initiate a system shutdown from the button.
@@ -725,10 +700,8 @@
flash contents can render your computer unbootable. On no account
allow random users access to this device. :-)
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module will be called nwflash. If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>.
+ To compile this driver as a module, choose M here: the
+ module will be called nwflash.
If you're not sure, say N.
@@ -742,10 +715,8 @@
Provides a character driver, used to read() entropy data.
- To compile this driver as a module ( = code which can be inserted in
- and removed from the running kernel whenever you want), say M here
- and read <file:Documentation/modules.txt>. The module will be called
- hw_random.
+ To compile this driver as a module, choose M here: the
+ module will be called hw_random.
If unsure, say N.
@@ -771,10 +742,8 @@
On Atari machines, /dev/nvram is always configured and does not need
to be selected.
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module will be called nvram. If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>.
+ To compile this driver as a module, choose M here: the
+ module will be called nvram.
config RTC
tristate "Enhanced Real Time Clock Support"
@@ -799,10 +768,8 @@
sampling), then say Y here, and read <file:Documentation/rtc.txt>
for details.
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called rtc. If you want to compile it as a module,
- say M here and read <file:Documentation/modules.txt>.
+ To compile this driver as a module, choose M here: the
+ module will be called rtc.
config GEN_RTC
tristate "Generic /dev/rtc emulation"
@@ -819,12 +786,9 @@
for RTC_UIE which is required by some programs and may improve
precision in some cases.
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module is called genrtc. If you want to compile it as a module,
- say M here and read <file:Documentation/modules.txt>. To load the
- module automatically add 'alias char-major-10-135 genrtc' to your
- /etc/modules.conf
+ To compile this driver as a module, choose M here: the
+ module will be called genrtc. To load the module automatically
+ add 'alias char-major-10-135 genrtc' to your /etc/modules.conf
config GEN_RTC_X
bool "Extended RTC operation"
@@ -861,10 +825,10 @@
help
This driver is for the DoubleTalk PC, a speech synthesizer
manufactured by RC Systems (<http://www.rcsys.com/>). It is also
- called the `internal DoubleTalk'. If you want to compile this as a
- module ( = code which can be inserted in and removed from the
- running kernel whenever you want), say M here and read
- <file:Documentation/modules.txt>. The module will be called dtlk.
+ called the `internal DoubleTalk'.
+
+ To compile this driver as a module, choose M here: the
+ module will be called dtlk.
config R3964
tristate "Siemens R3964 line discipline"
@@ -873,10 +837,8 @@
Siemens R3964 packet protocol. Unless you are dealing with special
hardware like PLCs, you are unlikely to need this.
- To compile this driver as a module ( = code which can be inserted in
- and removed from the running kernel whenever you want), say M here
- and read <file:Documentation/modules.txt>. The module will be called
- n_r3964.
+ To compile this driver as a module, choose M here: the
+ module will be called n_r3964.
If unsure, say N.
@@ -889,10 +851,8 @@
<http://www.applicom-int.com/>, or by email from David Woodhouse
<dw...@in...>.
- To compile this driver as a module ( = code which can be inserted in
- and removed from the running kernel whenever you want), say M here
- and read <file:Documentation/modules.txt>. The module will be called
- applicom.
+ To compile this driver as a module, choose M here: the
+ module will be called applicom.
If unsure, say N.
@@ -906,16 +866,15 @@
If you have one of those laptops, read
<file:Documentation/sonypi.txt>, and say Y or M here.
- If you want to compile the driver as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/modules.txt>. The module
- will be called sonypi.
+ To compile this driver as a module, choose M here: the
+ module will be called sonypi.
menu "Ftape, the floppy tape device driver"
config FTAPE
tristate "Ftape (QIC-80/Travan) support"
+ depends on BROKEN_ON_SMP
---help---
If you have a tape drive that is connected to your floppy
controller, say Y here.
@@ -937,9 +896,7 @@
please read the file <file:drivers/char/ftape/README.PCI>.
The ftape kernel driver is also available as a runtime loadable
- module ( = code which can be inserted in and removed from the
- running kernel whenever you want). If you want to compile it as a
- module, say M here and read <file:Documentation/modules.txt>. The
+ module. To compile this driver as a module, choose M here: the
module will be called ftape.
Note that the Ftape-HOWTO is out of date (sorry) and documents the
@@ -965,6 +922,7 @@
config MWAVE
tristate "ACP Modem (Mwave) support"
depends on X86
+ select SERIAL_8250
---help---
The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
kernel driver and a user level application. Together these components
@@ -984,10 +942,8 @@
If you own one of the above IBM Thinkpads which has the Mwave chipset
in it, say Y.
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- The module will be called mwave. If you want to compile it as
- a module, say M here and read Documentation/modules.txt.
+ To compile this driver as a module, choose M here: the
+ module will be called mwave.
config SCx200_GPIO
tristate "NatSemi SCx200 GPIO Support"
@@ -1007,6 +963,7 @@
config HANGCHECK_TIMER
tristate "Hangcheck timer"
+ depends on X86_64 || X86
help
The hangcheck-timer module detects when the system has gone
out to lunch past a certain margin. It can reboot the system
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/Makefile,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Makefile 16 Sep 2003 06:54:41 -0000 1.2
+++ Makefile 2 Oct 2003 09:32:18 -0000 1.3
@@ -7,40 +7,41 @@
#
FONTMAPFILE = cp437.uni
-obj-y += mem.o tty_io.o n_tty.o tty_ioctl.o pty.o misc.o random.o
+obj-y += mem.o random.o tty_io.o n_tty.o tty_ioctl.o pty.o misc.o
-obj-$(CONFIG_VT) += vt_ioctl.o decvte.o vc_screen.o consolemap.o consolemap_deftbl.o selection.o keyboard.o vt_proc.o
-obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o
-obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o
-obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o
-obj-$(CONFIG_ROCKETPORT) += rocket.o
-obj-$(CONFIG_MOXA_SMARTIO) += mxser.o
-obj-$(CONFIG_MOXA_INTELLIO) += moxa.o
-obj-$(CONFIG_DIGI) += pcxx.o
-obj-$(CONFIG_DIGIEPCA) += epca.o
-obj-$(CONFIG_CYCLADES) += cyclades.o
-obj-$(CONFIG_STALLION) += stallion.o
-obj-$(CONFIG_ISTALLION) += istallion.o
-obj-$(CONFIG_COMPUTONE) += ip2.o ip2main.o
-obj-$(CONFIG_RISCOM8) += riscom8.o
-obj-$(CONFIG_ISI) += isicom.o
-obj-$(CONFIG_ESPSERIAL) += esp.o
-obj-$(CONFIG_SYNCLINK) += synclink.o
-obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o
-obj-$(CONFIG_N_HDLC) += n_hdlc.o
-obj-$(CONFIG_SPECIALIX) += specialix.o
+obj-$(CONFIG_VT) += vt_ioctl.o decvte.o vc_screen.o consolemap.o \
+ consolemap_deftbl.o selection.o keyboard.o vt_proc.o
+obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o
+obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o
+obj-$(CONFIG_ESPSERIAL) += esp.o
+obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o
+obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o
+obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o
+obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o
+obj-$(CONFIG_ROCKETPORT) += rocket.o
+obj-$(CONFIG_SERIAL167) += serial167.o
+obj-$(CONFIG_CYCLADES) += cyclades.o
+obj-$(CONFIG_STALLION) += stallion.o
+obj-$(CONFIG_ISTALLION) += istallion.o
+obj-$(CONFIG_DIGI) += pcxx.o
+obj-$(CONFIG_DIGIEPCA) += epca.o
+obj-$(CONFIG_SPECIALIX) += specialix.o
+obj-$(CONFIG_MOXA_INTELLIO) += moxa.o
+obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o
+obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o
+obj-$(CONFIG_MOXA_SMARTIO) += mxser.o
+obj-$(CONFIG_COMPUTONE) += ip2.o ip2main.o
+obj-$(CONFIG_RISCOM8) += riscom8.o
+obj-$(CONFIG_ISI) += isicom.o
+obj-$(CONFIG_SYNCLINK) += synclink.o
+obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o
+obj-$(CONFIG_N_HDLC) += n_hdlc.o
obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
-obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o
-obj-$(CONFIG_SX) += sx.o generic_serial.o
-obj-$(CONFIG_RIO) += rio/ generic_serial.o
-obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o
-obj-$(CONFIG_SERIAL167) += serial167.o
-obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o
-obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o
-obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o
-obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o
-obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o
-obj-$(CONFIG_RAW_DRIVER) += raw.o
+obj-$(CONFIG_SX) += sx.o generic_serial.o
+obj-$(CONFIG_RIO) += rio/ generic_serial.o
+obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o
+obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o
+obj-$(CONFIG_RAW_DRIVER) += raw.o
obj-$(CONFIG_PRINTER) += lp.o
obj-$(CONFIG_TIPAR) += tipar.o
Index: keyboard.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/keyboard.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- keyboard.c 29 Sep 2003 08:50:56 -0000 1.4
+++ keyboard.c 2 Oct 2003 09:32:18 -0000 1.5
@@ -154,7 +154,7 @@
INPUT_KEYCODE(dev, scancode) = keycode;
for (i = 0; i < dev->keycodemax; i++)
- if (INPUT_KEYCODE(dev, scancode) == oldkey)
+ if (keycode == oldkey)
break;
if (i == dev->keycodemax)
clear_bit(oldkey, dev->keybit);
@@ -205,14 +205,6 @@
/*
* Setting the keyboard rate.
*/
-static inline unsigned int ms_to_jiffies(unsigned int ms)
-{
- unsigned int j;
-
- j = (ms * HZ + 500) / 1000;
- return (j > 0) ? j : 1;
-}
-
int kbd_rate(struct input_handle *handle, struct kbd_repeat *rep)
{
struct input_dev *dev = handle->dev;
@@ -220,11 +212,11 @@
if (test_bit(EV_REP, dev->evbit)) {
if (rep->delay > 0)
- dev->rep[REP_DELAY] = ms_to_jiffies(rep->delay);
+ input_event(dev, EV_REP, REP_DELAY, rep->delay);
if (rep->period > 0)
- dev->rep[REP_PERIOD] = ms_to_jiffies(rep->period);
- d = dev->rep[REP_DELAY] * 1000 / HZ;
- p = dev->rep[REP_PERIOD] * 1000 / HZ;
+ input_event(dev, EV_REP, REP_PERIOD, rep->period);
+ d = dev->rep[REP_DELAY];
+ p = dev->rep[REP_PERIOD];
}
rep->delay = d;
rep->period = p;
@@ -607,9 +599,12 @@
static void k_fn(struct vc_data *vc, unsigned char value, char up_flag)
{
+ unsigned v;
+
if (up_flag)
return;
- if (value < ARRAY_SIZE(func_table)) {
+ v = value;
+ if (v < ARRAY_SIZE(func_table)) {
if (func_table[value])
puts_queue(vc, func_table[value]);
} else
Index: n_tty.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/n_tty.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- n_tty.c 11 Aug 2003 16:26:46 -0000 1.1
+++ n_tty.c 2 Oct 2003 09:32:18 -0000 1.2
@@ -40,6 +40,7 @@
#include <linux/tty.h>
#include <linux/timer.h>
#include <linux/ctype.h>
+#include <linux/kd.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/slab.h>
@@ -49,8 +50,6 @@
#include <asm/system.h>
#include <asm/bitops.h>
-#define IS_SYSCONS_DEV(dev) (kdev_val(dev) == __mkdev(TTYAUX_MAJOR,1))
-
/* number of characters left in xmit buffer before select has we have room */
#define WAKEUP_CHARS 256
@@ -949,6 +948,8 @@
return retval;
}
+extern ssize_t redirected_tty_write(struct file *,const char *,size_t,loff_t *);
+
static ssize_t read_chan(struct tty_struct *tty, struct file *file,
unsigned char *buf, size_t nr)
{
@@ -973,15 +974,14 @@
/* NOTE: not yet done after every sleep pending a thorough
check of the logic of this change. -- jlc */
/* don't stop on /dev/console */
- if (!IS_SYSCONS_DEV(file->f_dentry->d_inode->i_rdev) &&
- current->tty == tty) {
+ if (file->f_op->write != redirected_tty_write && current->tty == tty) {
if (tty->pgrp <= 0)
printk("read_chan: tty->pgrp <= 0!\n");
- else if (current->pgrp != tty->pgrp) {
+ else if (process_group(current) != tty->pgrp) {
if (is_ignored(SIGTTIN) ||
- is_orphaned_pgrp(current->pgrp))
+ is_orphaned_pgrp(process_group(current)))
return -EIO;
- kill_pg(current->pgrp, SIGTTIN, 1);
+ kill_pg(process_group(current), SIGTTIN, 1);
return -ERESTARTSYS;
}
}
@@ -1065,7 +1065,7 @@
set_bit(TTY_DONT_FLIP, &tty->flags);
continue;
}
- set_current_state(TASK_RUNNING);
+ current->state = TASK_RUNNING;
/* Deal with packet mode. */
if (tty->packet && b == buf) {
@@ -1144,7 +1144,7 @@
if (!waitqueue_active(&tty->read_wait))
tty->minimum_to_wake = minimum;
- set_current_state(TASK_RUNNING);
+ current->state = TASK_RUNNING;
size = b - buf;
if (size) {
retval = size;
@@ -1165,8 +1165,7 @@
ssize_t retval = 0;
/* Job control check -- must be done at start (POSIX.1 7.1.1.4). */
- if (L_TOSTOP(tty) &&
- !IS_SYSCONS_DEV(file->f_dentry->d_inode->i_rdev)) {
+ if (L_TOSTOP(tty) && file->f_op->write != redirected_tty_write) {
retval = tty_check_change(tty);
if (retval)
return retval;
@@ -1221,7 +1220,7 @@
schedule();
}
break_out:
- set_current_state(TASK_RUNNING);
+ current->state = TASK_RUNNING;
remove_wait_queue(&tty->write_wait, &wait);
return (b - buf) ? b - buf : retval;
}
Index: sysrq.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/sysrq.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- sysrq.c 11 Aug 2003 16:26:46 -0000 1.1
+++ sysrq.c 2 Oct 2003 09:32:18 -0000 1.2
@@ -36,8 +36,6 @@
#include <asm/ptrace.h>
-extern struct list_head super_blocks;
-
/* Whether we react on sysrq keys or just ignore them */
int sysrq_enabled = 1;
Index: tty_io.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/tty_io.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- tty_io.c 29 Sep 2003 08:50:56 -0000 1.2
+++ tty_io.c 2 Oct 2003 09:32:18 -0000 1.3
@@ -100,11 +100,6 @@
#include <linux/kmod.h>
-#define IS_CONSOLE_DEV(dev) (kdev_val(dev) == __mkdev(TTY_MAJOR,0))
-#define IS_TTY_DEV(dev) (kdev_val(dev) == __mkdev(TTYAUX_MAJOR,0))
-#define IS_SYSCONS_DEV(dev) (kdev_val(dev) == __mkdev(TTYAUX_MAJOR,1))
-#define IS_PTMX_DEV(dev) (kdev_val(dev) == __mkdev(TTYAUX_MAJOR,2))
-
#undef TTY_DEBUG_HANGUP
#define TTY_PARANOIA_CHECK 1
@@ -133,18 +128,14 @@
static ssize_t tty_read(struct file *, char *, size_t, loff_t *);
static ssize_t tty_write(struct file *, const char *, size_t, loff_t *);
+ssize_t redirected_tty_write(struct file *, const char *, size_t, loff_t *);
static unsigned int tty_poll(struct file *, poll_table *);
static int tty_open(struct inode *, struct file *);
static int tty_release(struct inode *, struct file *);
int tty_ioctl(struct inode * inode, struct file * file,
unsigned int cmd, unsigned long arg);
static int tty_fasync(int fd, struct file * filp, int on);
-extern int vme_scc_init (void);
-extern int serial167_init(void);
-extern int rs_8xx_init(void);
-extern void tub3270_init(void);
extern void rs_360_init(void);
-extern void tx3912_rs_init(void);
static struct tty_struct *alloc_tty_struct(void)
{
@@ -174,21 +165,20 @@
EXPORT_SYMBOL(tty_name);
-inline int tty_paranoia_check(struct tty_struct *tty, kdev_t device,
+inline int tty_paranoia_check(struct tty_struct *tty, struct inode *inode,
const char *routine)
{
#ifdef TTY_PARANOIA_CHECK
- static const char badmagic[] = KERN_WARNING
- "Warning: bad magic number for tty struct (%s) in %s\n";
- static const char badtty[] = KERN_WARNING
- "Warning: null TTY for (%s) in %s\n";
-
if (!tty) {
- printk(badtty, cdevname(device), routine);
+ printk(KERN_WARNING
+ "null TTY for (%d:%d) in %s\n",
+ imajor(inode), iminor(inode), routine);
return 1;
}
if (tty->magic != TTY_MAGIC) {
- printk(badmagic, cdevname(device), routine);
+ printk(KERN_WARNING
+ "bad magic number for tty struct (%d:%d) in %s\n",
+ imajor(inode), iminor(inode), routine);
return 1;
}
#endif
@@ -327,13 +317,13 @@
printk(KERN_WARNING "tty_check_change: tty->pgrp <= 0!\n");
return 0;
}
- if (current->pgrp == tty->pgrp)
+ if (process_group(current) == tty->pgrp)
return 0;
if (is_ignored(SIGTTOU))
return 0;
- if (is_orphaned_pgrp(current->pgrp))
+ if (is_orphaned_pgrp(process_group(current)))
return -EIO;
- (void) kill_pg(current->pgrp,SIGTTOU,1);
+ (void) kill_pg(process_group(current), SIGTTOU, 1);
return -ERESTARTSYS;
}
@@ -380,6 +370,17 @@
.fasync = tty_fasync,
};
+static struct file_operations console_fops = {
+ .llseek = no_llseek,
+ .read = tty_read,
+ .write = redirected_tty_write,
+ .poll = tty_poll,
+ .ioctl = tty_ioctl,
+ .open = tty_open,
+ .release = tty_release,
+ .fasync = tty_fasync,
+};
+
static struct file_operations hung_up_tty_fops = {
.llseek = no_llseek,
.read = hung_up_tty_read,
@@ -423,11 +424,9 @@
check_tty_count(tty, "do_tty_hangup");
file_list_lock();
list_for_each_entry(filp, &tty->tty_files, f_list) {
- if (IS_SYSCONS_DEV(filp->f_dentry->d_inode->i_rdev)) {
+ if (filp->f_op->write == redirected_tty_write)
cons_filp = filp;
- continue;
- }
- if (filp->f_op != &tty_fops)
+ if (filp->f_op->write != tty_write)
continue;
closecount++;
tty_fasync(-1, filp, 0); /* can't block */
@@ -642,27 +641,11 @@
tty = (struct tty_struct *)file->private_data;
inode = file->f_dentry->d_inode;
- if (tty_paranoia_check(tty, inode->i_rdev, "tty_read"))
+ if (tty_paranoia_check(tty, inode, "tty_read"))
return -EIO;
if (!tty || (test_bit(TTY_IO_ERROR, &tty->flags)))
return -EIO;
- /* This check not only needs to be done before reading, but also
- whenever read_chan() gets woken up after sleeping, so I've
- moved it to there. This should only be done for the N_TTY
- line discipline, anyway. Same goes for write_chan(). -- jlc. */
-#if 0
- if (!IS_SYSCONS_DEV(inode->i_rdev) && /* don't stop on /dev/console */
- (tty->pgrp > 0) &&
- (current->tty == tty) &&
- (tty->pgrp != current->pgrp))
- if (is_ignored(SIGTTIN) || is_orphaned_pgrp(current->pgrp))
- return -EIO;
- else {
- (void) kill_pg(current->pgrp, SIGTTIN, 1);
- return -ERESTARTSYS;
- }
-#endif
lock_kernel();
if (tty->ldisc.read)
i = (tty->ldisc.read)(tty,file,buf,count);
@@ -727,37 +710,15 @@
static ssize_t tty_write(struct file * file, const char * buf, size_t count,
loff_t *ppos)
{
- int is_console;
struct tty_struct * tty;
struct inode *inode = file->f_dentry->d_inode;
- /*
- * For now, we redirect writes from /dev/console.
- */
- is_console = IS_SYSCONS_DEV(inode->i_rdev);
/* Can't seek (pwrite) on ttys. */
if (ppos != &file->f_pos)
return -ESPIPE;
- if (is_console) {
- struct file *p = NULL;
-
- spin_lock(&redirect_lock);
- if (redirect) {
- get_file(redirect);
- p = redirect;
- }
- spin_unlock(&redirect_lock);
-
- if (p) {
- ssize_t res = vfs_write(p, buf, count, &p->f_pos);
- fput(p);
- return res;
- }
- }
-
tty = (struct tty_struct *)file->private_data;
- if (tty_paranoia_check(tty, inode->i_rdev, "tty_write"))
+ if (tty_paranoia_check(tty, inode, "tty_write"))
return -EIO;
if (!tty || !tty->driver->write || (test_bit(TTY_IO_ERROR, &tty->flags)))
return -EIO;
@@ -767,6 +728,31 @@
(const unsigned char *)buf, count);
}
+ssize_t redirected_tty_write(struct file * file, const char * buf, size_t count,
+ loff_t *ppos)
+{
+ struct file *p = NULL;
+
+ spin_lock(&redirect_lock);
+ if (redirect) {
+ get_file(redirect);
+ p = redirect;
+ }
+ spin_unlock(&redirect_lock);
+
+ if (p) {
+ ssize_t res;
+ /* Can't seek (pwrite) on ttys. */
+ if (ppos != &file->f_pos)
+ return -ESPIPE;
+ res = vfs_write(p, buf, count, &p->f_pos);
+ fput(p);
+ return res;
+ }
+
+ return tty_write(file, buf, count, ppos);
+}
+
/* Semaphore to protect creating and releasing a tty */
static DECLARE_MUTEX(tty_sem);
@@ -832,7 +818,6 @@
if(!tty)
goto fail_no_mem;
initialize_tty_struct(tty);
- tty->device = MKDEV(driver->major, driver->minor_start) + idx;
tty->driver = driver;
tty->index = idx;
tty_line_name(driver, idx, tty->name);
@@ -860,8 +845,6 @@
if (!o_tty)
goto free_mem_out;
initialize_tty_struct(o_tty);
- o_tty->device = MKDEV(driver->other->major,
- driver->other->minor_start) + idx;
o_tty->driver = driver->other;
o_tty->index = idx;
tty_line_name(driver->other, idx, o_tty->name);
@@ -1017,7 +1000,7 @@
o_tty->magic = 0;
o_tty->driver->refcount--;
file_list_lock();
- list_del(&o_tty->tty_files);
+ list_del_init(&o_tty->tty_files);
file_list_unlock();
free_tty_struct(o_tty);
}
@@ -1031,7 +1014,7 @@
tty->magic = 0;
tty->driver->refcount--;
file_list_lock();
- list_del(&tty->tty_files);
+ list_del_init(&tty->tty_files);
file_list_unlock();
module_put(tty->driver->owner);
free_tty_struct(tty);
@@ -1053,7 +1036,7 @@
char buf[64];
tty = (struct tty_struct *)filp->private_data;
- if (tty_paranoia_check(tty, filp->f_dentry->d_inode->i_rdev, "release_dev"))
+ if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "release_dev"))
return;
check_tty_count(tty, "release_dev");
@@ -1301,14 +1284,11 @@
int noctty, retval;
struct tty_driver *driver;
int index;
- kdev_t device;
- unsigned short saved_flags;
-
- saved_flags = filp->f_flags;
+ dev_t device = inode->i_rdev;
+ unsigned short saved_flags = filp->f_flags;
retry_open:
noctty = filp->f_flags & O_NOCTTY;
- device = inode->i_rdev;
- if (IS_TTY_DEV(device)) {
+ if (device == MKDEV(TTYAUX_MAJOR,0)) {
if (!current->tty)
return -ENXIO;
driver = current->tty->driver;
@@ -1318,21 +1298,21 @@
goto got_driver;
}
#ifdef CONFIG_VT
- if (IS_CONSOLE_DEV(device)) {
- struct vc_data *vc;
- extern struct tty_driver *console_driver;
- if (!current->tty)
- return -ENXIO;
- driver = console_driver;
- vc = (struct vc_data *)current->tty->driver_data;
- if (!vc)
- return -ENXIO;
- index = vc->display_fg->fg_console->vc_num;
- noctty = 1;
- goto got_driver;
+ if (device == MKDEV(TTY_MAJOR,0)) {
+ struct vc_data *vc;
+ extern struct tty_driver *console_driver;
+ if (!current->tty)
+ return -ENXIO;
+ driver = console_driver;
+ vc = (struct vc_data *)current->tty->driver_data;
+ if (!vc)
+ return -ENXIO;
+ index = vc->display_fg->fg_console->vc_num;
+ noctty = 1;
+ goto got_driver;
}
-#endif
- if (IS_SYSCONS_DEV(device)) {
+#endif
+ if (device == MKDEV(TTYAUX_MAJOR,1)) {
struct console *c = console_drivers;
for (c = console_drivers; c; c = c->next) {
if (!c->device)
@@ -1348,7 +1328,7 @@
return -ENODEV;
}
- if (IS_PTMX_DEV(device)) {
+ if (device == MKDEV(TTYAUX_MAJOR,2)) {
#ifdef CONFIG_UNIX98_PTYS
/* find a device that is not in use. */
retval = -1;
@@ -1365,7 +1345,7 @@
return -ENODEV;
#endif /* CONFIG_UNIX_98_PTYS */
} else {
- driver = get_tty_driver(kdev_t_to_nr(device), &index);
+ driver = get_tty_driver(device, &index);
if (!driver)
return -ENODEV;
got_driver:
@@ -1407,7 +1387,8 @@
/*
* Need to reset f_op in case a hangup happened.
*/
- filp->f_op = &tty_fops;
+ if (filp->f_op == &hung_up_tty_fops)
+ filp->f_op = &tty_fops;
goto retry_open;
}
if (!noctty &&
@@ -1419,7 +1400,7 @@
task_unlock(current);
current->tty_old_pgrp = 0;
tty->session = current->session;
- tty->pgrp = current->pgrp;
+ tty->pgrp = process_group(current);
}
return 0;
}
@@ -1438,7 +1419,7 @@
struct tty_struct * tty;
tty = (struct tty_struct *)filp->private_data;
- if (tty_paranoia_check(tty, filp->f_dentry->d_inode->i_rdev, "tty_poll"))
+ if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "tty_poll"))
return 0;
if (tty->ldisc.poll)
@@ -1452,7 +1433,7 @@
int retval;
tty = (struct tty_struct *)filp->private_data;
- if (tty_paranoia_check(tty, filp->f_dentry->d_inode->i_rdev, "tty_fasync"))
+ if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "tty_fasync"))
return 0;
retval = fasync_helper(fd, filp, on, &tty->fasync);
@@ -1503,7 +1484,6 @@
#ifdef CONFIG_VT
if (tty->driver->type == TTY_DRIVER_TYPE_CONSOLE) {
struct vc_data *vc = (struct vc_data *) tty->driver_data;
-
if (!vc || vc_resize(vc, tmp_ws.ws_col, tmp_ws.ws_row))
return -ENXIO;
}
@@ -1517,9 +1497,9 @@
return 0;
}
-static int tioccons(struct inode *inode, struct file *file)
+static int tioccons(struct file *file)
{
- if (IS_SYSCONS_DEV(inode->i_rdev)) {
+ if (file->f_op->write == redirected_tty_write) {
struct file *f;
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
@@ -1594,7 +1574,7 @@
task_unlock(current);
current->tty_old_pgrp = 0;
tty->session = current->session;
- tty->pgrp = current->pgrp;
+ tty->pgrp = process_group(current);
return 0;
}
@@ -1726,7 +1706,7 @@
int retval;
tty = (struct tty_struct *)file->private_data;
- if (tty_paranoia_check(tty, inode->i_rdev, "tty_ioctl"))
+ if (tty_paranoia_check(tty, inode, "tty_ioctl"))
return -EINVAL;
real_tty = tty;
@@ -1786,7 +1766,7 @@
case TIOCSWINSZ:
return tiocswinsz(tty, real_tty, (struct winsize *) arg);
case TIOCCONS:
- return real_tty!=tty ? -EINVAL : tioccons(inode, file);
+ return real_tty!=tty ? -EINVAL : tioccons(file);
case FIONBIO:
return fionbio(file, (int *) arg);
case TIOCEXCL:
@@ -1917,8 +1897,10 @@
spin_lock(&p->files->file_lock);
for (i=0; i < p->files->max_fds; i++) {
filp = fcheck_files(p->files, i);
- if (filp && (filp->f_op == &tty_fops) &&
- (filp->private_data == tty)) {
+ if (!filp)
+ continue;
+ if (filp->f_op->read == tty_read &&
+ filp->private_data == tty) {
printk(KERN_NOTICE "SAK: killed process %d"
" (%s): fd#%d opened to the tty\n",
p->pid, p->comm, i);
@@ -2139,7 +2121,7 @@
kfree(tty_dev);
}
-void tty_remove_class_device(dev_t dev)
+static void tty_remove_class_device(dev_t dev)
{
struct tty_dev *tty_dev = NULL;
struct list_head *tmp;
@@ -2148,19 +2130,15 @@
spin_lock(&tty_dev_list_lock);
list_for_each (tmp, &tty_dev_list) {
tty_dev = list_entry(tmp, struct tty_dev, node);
- if ((MAJOR(tty_dev->dev) == MAJOR(dev)) &&
- (MINOR(tty_dev->dev) == MINOR(dev))) {
+ if (tty_dev->dev == dev) {
+ list_del(&tty_dev->node);
found = 1;
break;
}
}
- if (found) {
- list_del(&tty_dev->node);
- spin_unlock(&tty_dev_list_lock);
+ spin_unlock(&tty_dev_list_lock);
+ if (found)
class_device_unregister(&tty_dev->class_dev);
- } else {
- spin_unlock(&tty_dev_list_lock);
- }
}
/**
@@ -2416,6 +2394,10 @@
}
}
+#ifdef CONFIG_VT
+extern int vty_init(void);
+#endif
+
static int __init tty_class_init(void)
{
return class_register(&tty_class);
@@ -2429,13 +2411,13 @@
#endif
#ifdef CONFIG_VT
static struct cdev vc0_cdev;
-#endif
+#endif
/*
* Ok, now we can initialize the rest of the tty devices and can count
* on memory allocations, interrupts etc..
*/
-void __init tty_init(void)
+static int __init tty_init(void)
{
strcpy(tty_cdev.kobj.name, "dev.tty");
cdev_init(&tty_cdev, &tty_fops);
@@ -2446,7 +2428,7 @@
tty_add_class_device ("tty", MKDEV(TTYAUX_MAJOR, 0), NULL);
strcpy(console_cdev.kobj.name, "dev.console");
- cdev_init(&console_cdev, &tty_fops);
+ cdev_init(&console_cdev, &console_fops);
if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) ||
register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0)
panic("Couldn't register /dev/console driver\n");
@@ -2467,60 +2449,16 @@
#endif
#ifdef CONFIG_VT
- strcpy(vc0_cdev.kobj.name, "dev.vc0");
- cdev_init(&vc0_cdev, &tty_fops);
- if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
- register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
- panic("Couldn't register /dev/tty0 driver\n");
- devfs_mk_cdev(MKDEV(TTY_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vc/0");
- tty_add_class_device ("tty0", MKDEV(TTY_MAJOR, 0), NULL);
+ strcpy(vc0_cdev.kobj.name, "dev.vc0");
+ cdev_init(&vc0_cdev, &console_fops);
+ if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
+ register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
+ panic("Couldn't register /dev/tty0 driver\n");
+ devfs_mk_cdev(MKDEV(TTY_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vc/0");
+ tty_add_class_device ("tty0", MKDEV(TTY_MAJOR, 0), NULL);
vty_init();
#endif
-#ifdef CONFIG_ESPSERIAL /* init ESP before rs, so rs doesn't see the port */
- espserial_init();
-#endif
-#if defined(CONFIG_MVME162_SCC) || defined(CONFIG_BVME6000_SCC) || defined(CONFIG_MVME147_SCC)
- vme_scc_init();
-#endif
-#ifdef CONFIG_SERIAL_TX3912
- tx3912_rs_init();
-#endif
-#ifdef CONFIG_ROCKETPORT
- rp_init();
-#endif
-#ifdef CONFIG_SERIAL167
- serial167_init();
-#endif
-#ifdef CONFIG_CYCLADES
- cy_init();
-#endif
-#ifdef CONFIG_STALLION
- stl_init();
-#endif
-#ifdef CONFIG_ISTALLION
- stli_init();
-#endif
-#ifdef CONFIG_DIGI
- pcxe_init();
-#endif
-#ifdef CONFIG_DIGIEPCA
- pc_init();
-#endif
-#ifdef CONFIG_SPECIALIX
- specialix_init();
-#endif
-#if (defined(CONFIG_8xx) || defined(CONFIG_8260))
- rs_8xx_init();
-#endif /* CONFIG_8xx */
- pty_init();
-#ifdef CONFIG_MOXA_INTELLIO
- moxa_init();
-#endif
-#ifdef CONFIG_TN3270
- tub3270_init();
-#endif
-#ifdef CONFIG_A2232
- a2232board_init();
-#endif
+ return 0;
}
+module_init(tty_init);
Index: vc_screen.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/vc_screen.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- vc_screen.c 12 Sep 2003 08:33:21 -0000 1.2
+++ vc_screen.c 2 Oct 2003 09:32:18 -0000 1.3
@@ -81,7 +81,7 @@
static int
vcs_size(struct inode *inode)
{
- int minor = minor(inode->i_rdev);
+ int minor = iminor(inode);
int currcons = minor & 127;
struct vc_data *vc;
int size;
@@ -137,7 +137,7 @@
vcs_read(struct file *file, char *buf, size_t count, loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
- unsigned int currcons = minor(inode->i_rdev);
+ unsigned int currcons = iminor(inode);
struct vc_data *vc;
long pos = *ppos;
long viewed, attr, read;
@@ -308,7 +308,7 @@
vcs_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
- unsigned int currcons = minor(inode->i_rdev);
+ unsigned int currcons = iminor(inode);
struct vc_data *vc;
long pos = *ppos;
long viewed, attr, size, written;
@@ -493,7 +493,7 @@
static int
vcs_open(struct inode *inode, struct file *filp)
{
- unsigned int currcons = minor(inode->i_rdev) & 127;
+ unsigned int currcons = iminor(inode) & 127;
if (currcons && !find_vc(currcons))
return -ENXIO;
Index: vt.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/vt.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- vt.c 29 Sep 2003 08:57:39 -0000 1.5
+++ vt.c 2 Oct 2003 09:32:18 -0000 1.6
@@ -95,7 +95,6 @@
#include <linux/timer.h>
#include <linux/interrupt.h>
#include <linux/config.h>
-#include <linux/version.h>
#include <linux/workqueue.h>
#include <linux/bootmem.h>
#include <linux/pm.h>
Index: vt_ioctl.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/vt_ioctl.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- vt_ioctl.c 29 Sep 2003 08:50:56 -0000 1.3
+++ vt_ioctl.c 2 Oct 2003 09:32:18 -0000 1.4
@@ -110,8 +110,6 @@
if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry)))
return -EFAULT;
- if (i >= NR_KEYS || s >= MAX_NR_KEYMAPS)
- return -EINVAL;
switch (cmd) {
case KDGKBENT:
@@ -230,10 +228,6 @@
goto reterr;
}
kbs->kb_string[sizeof(kbs->kb_string) - 1] = '\0';
- if (kbs->kb_func >= MAX_NR_FUNC) {
- ret = -EINVAL;
- goto reterr;
- }
i = kbs->kb_func;
switch (cmd) {
|