From: James S. <jsi...@tr...> - 2002-07-31 22:28:05
|
Here is the second patch. It has many fixes and alot of major changes internally. Please test it out. It will break a few keyboard drivers due to the struct kbd_struct changes. It will also break a few framebuffer drivers as well since they touch console data structures. If you port your fbdev driver to the new api you will not have to worry about this (reason I developed this new api) :-) arch/mips/au1000/common/serial.c | 2 arch/parisc/kernel/pdc_cons.c | 3 arch/ppc/4xx_io/serial_sicc.c | 2 arch/ppc/8xx_io/uart.c | 2 arch/ppc64/kernel/ioctl32.c | 64 arch/sparc64/kernel/ioctl32.c | 23 arch/x86_64/ia32/ia32_ioctl.c | 20 drivers/char/Makefile | 12 drivers/char/console.c | 3032 ------------------------------- drivers/char/console_macros.h | 161 - drivers/char/consolemap.c | 136 - drivers/char/decvte.c | 2054 +++++++++++++++++++++ drivers/char/hvc_console.c | 2 drivers/char/keyboard.c | 595 +++--- drivers/char/misc.c | 1 drivers/char/selection.c | 63 drivers/char/sysrq.c | 22 drivers/char/tty_io.c | 2 drivers/char/vc_screen.c | 115 - drivers/char/vt.c | 2753 +++++++++++++++++----------- drivers/char/vt_ioctl.c | 1443 ++++++++++++++ drivers/s390/char/ctrlchar.c | 2 drivers/tc/zs.c | 2 drivers/video/dummycon.c | 1 drivers/video/fbcon-accel.c | 5 drivers/video/fbcon.c | 55 drivers/video/mdacon.c | 21 drivers/video/newport_con.c | 1 drivers/video/promcon.c | 33 drivers/video/sticon-bmode.c | 2 drivers/video/sticon.c | 3 drivers/video/vgacon.c | 21 include/linux/console.h | 17 include/linux/console_struct.h | 110 - include/linux/consolemap.h | 6 include/linux/kbd_kern.h | 27 include/linux/selection.h | 23 include/linux/tty.h | 8 include/linux/vt_kern.h | 275 ++ include/video/fbcon.h | 2 45 files changed, 6214 insertions(+), 4923 deletions(-) diff: http://www.transvirtual.com/~jsimmons/console.diff.gz BK: http://linuxconsole.bkbits.net:8080/dev . --- |o_o | |:_/ | Give Micro$oft the Bird!!!! // \ \ Use Linux!!!! (| | ) /'\_ _/`\ \___)=(___/ |
From: Russell K. <rm...@ar...> - 2002-07-31 23:00:17
|
On Wed, Jul 31, 2002 at 03:27:57PM -0700, James Simmons wrote: > Here is the second patch. It has many fixes and alot of major changes > internally. A quick read through reveals: - printk("mdacon: MDA card not detected.\n"); + printk("KERN_WARNING mdacon: MDA card not detected.\n"); KERN_WARNING and friends should be outside the quotes. Secondly, the absolutely gigantic "switch (vc_state) {" stuff with extra layers of switch statements below it in decvte.c - I find this rather disgusting to read. I bet the resulting asm is also disgusting. Isn't there a cleaner solution to this? (I've been carrying around since 2.2 patches to the console layer to split this up mainly because some older versions of ARM gcc choked on it. I'm not certain about current versions though.) Also, something that should probably be fixed one day, but I wouldn't call it a show stopper: -#define SIZE(x) (sizeof(x)/sizeof((x)[0])) +#define SIZE(x) (sizeof(x)/sizeof((x)[0])) We have ARRAY_SIZE(x) in linux/kernel.h which does this already. -- Russell King (rm...@ar...) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html |
From: James S. <jsi...@tr...> - 2002-08-01 17:27:01
|
> A quick read through reveals: > > - printk("mdacon: MDA card not detected.\n"); > + printk("KERN_WARNING mdacon: MDA card not detected.\n"); > > KERN_WARNING and friends should be outside the quotes. Fixed. > Secondly, the absolutely gigantic "switch (vc_state) {" stuff with > extra layers of switch statements below it in decvte.c - I find this > rather disgusting to read. I bet the resulting asm is also disgusting. > Isn't there a cleaner solution to this? (I've been carrying around > since 2.2 patches to the console layer to split this up mainly because > some older versions of ARM gcc choked on it. I'm not certain about > current versions though.) Yes it is disgusting. That is one of the reasons I placed it into a seperate file. It is the same code as before. Could you send me that patch. I'm interested in it :-) > Also, something that should probably be fixed one day, but I wouldn't > call it a show stopper: > > -#define SIZE(x) (sizeof(x)/sizeof((x)[0])) > +#define SIZE(x) (sizeof(x)/sizeof((x)[0])) > > We have ARRAY_SIZE(x) in linux/kernel.h which does this already. Done. |