You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(135) |
Nov
(123) |
Dec
(83) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(244) |
Feb
(72) |
Mar
(221) |
Apr
(91) |
May
(104) |
Jun
(93) |
Jul
(78) |
Aug
(1) |
Sep
(1) |
Oct
(29) |
Nov
(98) |
Dec
(20) |
| 2003 |
Jan
|
Feb
(21) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(18) |
Oct
(23) |
Nov
(12) |
Dec
(6) |
| 2004 |
Jan
(2) |
Feb
(32) |
Mar
|
Apr
(12) |
May
(11) |
Jun
(11) |
Jul
|
Aug
(9) |
Sep
|
Oct
(15) |
Nov
|
Dec
|
| 2005 |
Jan
|
Feb
(2) |
Mar
(11) |
Apr
(6) |
May
(1) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
(25) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
|
Nov
(2) |
Dec
(2) |
| 2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(10) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb
In directory usw-pr-cvs1:/tmp/cvs-serv3798/drivers/usb
Modified Files:
Config.in
Log Message:
Synced to 2.4.14
Index: Config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/Config.in,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- Config.in 2001/10/29 00:11:00 1.17
+++ Config.in 2001/11/13 19:38:22 1.18
@@ -16,7 +16,6 @@
define_bool CONFIG_USB_BANDWIDTH n
fi
bool ' Long timeout for slow-responding devices (some MGE Ellipse UPSes)' CONFIG_USB_LONG_TIMEOUT
- bool ' Large report fetching for "broken" devices (some APC UPSes)' CONFIG_USB_LARGE_CONFIG
fi
comment 'USB Controllers'
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/fs
In directory usw-pr-cvs1:/tmp/cvs-serv3798/fs
Modified Files:
Config.in
Log Message:
Synced to 2.4.14
Index: Config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/fs/Config.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Config.in 2001/10/15 01:13:17 1.4
+++ Config.in 2001/11/13 19:38:22 1.5
@@ -41,6 +41,7 @@
tristate 'ISO 9660 CDROM file system support' CONFIG_ISO9660_FS
dep_mbool ' Microsoft Joliet CDROM extensions' CONFIG_JOLIET $CONFIG_ISO9660_FS
+dep_mbool ' Transparent decompression extension' CONFIG_ZISOFS $CONFIG_ISO9660_FS
tristate 'Minix fs support' CONFIG_MINIX_FS
@@ -131,6 +132,24 @@
# for fs/nls/Config.in
define_bool CONFIG_NCPFS_NLS n
define_bool CONFIG_SMB_FS n
+fi
+
+#
+# Do we need the compression support?
+#
+if [ "$CONFIG_ZISOFS" = "y" ]; then
+ define_tristate CONFIG_ZISOFS_FS $CONFIG_ISO9660_FS
+else
+ define_tristate CONFIG_ZISOFS_FS n
+fi
+if [ "$CONFIG_CRAMFS" = "y" -o "$CONFIG_ZISOFS_FS" = "y" ]; then
+ define_tristate CONFIG_ZLIB_FS_INFLATE y
+else
+ if [ "$CONFIG_CRAMFS" = "m" -o "$CONFIG_ZISOFS_FS" = "m" ]; then
+ define_tristate CONFIG_ZLIB_FS_INFLATE m
+ else
+ define_tristate CONFIG_ZLIB_FS_INFLATE n
+ fi
fi
mainmenu_option next_comment
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv3798/arch/ppc/kernel
Modified Files:
prep_setup.c
Log Message:
Synced to 2.4.14
Index: prep_setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/prep_setup.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- prep_setup.c 2001/10/29 00:10:58 1.6
+++ prep_setup.c 2001/11/13 19:38:22 1.7
@@ -1,5 +1,5 @@
/*
- * BK Id: SCCS/s.prep_setup.c 1.36 09/08/01 15:47:42 paulus
+ * BK Id: SCCS/s.prep_setup.c 1.41 10/18/01 11:16:28 trini
*/
/*
* linux/arch/ppc/kernel/setup.c
@@ -79,8 +79,9 @@
extern void rs_nvram_write_val(int addr,
unsigned char val);
extern void ibm_prep_init(void);
+
extern void prep_find_bridges(void);
-extern char saved_command_line[256];
+extern char saved_command_line[];
int _prep_type;
@@ -108,7 +109,7 @@
EXPORT_SYMBOL(ppc_cs4232_dma2);
#endif
-int __prep
+static int __prep
prep_get_cpuinfo(char *buffer)
{
extern char *Motherboard_map_name;
@@ -118,11 +119,11 @@
#endif
#ifdef CONFIG_SMP
-#define CD(X) (cpu_data[n].X)
+#define CD(X) (cpu_data[n].X)
#else
#define CD(X) (X)
#endif
-
+
len = sprintf(buffer,"machine\t\t: PReP %s\n",Motherboard_map_name);
@@ -138,9 +139,10 @@
goto no_l2;
}
len += sprintf(buffer+len,"%sKb,",
- (((*(unsigned char *)0x8000080d)>>2)&1)?"512":"256");
+ (((*(unsigned char *)0x8000080d)>>2)&1)
+ ? "512" : "256");
len += sprintf(buffer+len,"%ssync\n",
- ((*(unsigned char *)0x8000080d)>>7) ? "":"a");
+ ((*(unsigned char *)0x8000080d)>>7) ? "" : "a");
break;
case _PREP_Motorola:
len += sprintf(buffer+len,"L2\t\t: ");
@@ -161,26 +163,26 @@
break;
default:
len += sprintf(buffer+len, "%x\n",
- *((unsigned char *)CACHECRBA));
+ *((unsigned char *)CACHECRBA));
}
len += sprintf(buffer+len,",parity %s",
- (*((unsigned char *)CACHECRBA) & L2CACHE_PARITY) ?
- "enabled" : "disabled");
-
+ (*((unsigned char *)CACHECRBA) & L2CACHE_PARITY)
+ ? "enabled" : "disabled");
+
len += sprintf(buffer+len, " SRAM:");
switch ( ((*((unsigned char *)CACHECRBA) & 0xf0) >> 4) & ~(0x3) )
{
case 1: len += sprintf(buffer+len,
- "synchronous,parity,flow-through\n");
+ "synchronous,parity,flow-through\n");
break;
case 2: len += sprintf(buffer+len,"asynchronous,no parity\n");
break;
case 3: len += sprintf(buffer+len,"asynchronous,parity\n");
break;
default:len += sprintf(buffer+len,
- "synchronous,pipelined,no parity\n");
+ "synchronous,pipelined,no parity\n");
break;
}
break;
@@ -201,17 +203,17 @@
for ( i = 0 ; (res->ActualNumMemories) && (i < MAX_MEMS) ; i++ )
{
if ( res->Memories[i].SIMMSize != 0 )
- len += sprintf(buffer+len,"%d:%ldM ",i,
- (res->Memories[i].SIMMSize > 1024) ?
- res->Memories[i].SIMMSize>>20 :
- res->Memories[i].SIMMSize);
+ len += sprintf(buffer+len,"%d:%ldM ", i,
+ (res->Memories[i].SIMMSize > 1024) ?
+ res->Memories[i].SIMMSize>>20 :
+ res->Memories[i].SIMMSize);
}
len += sprintf(buffer+len,"\n");
return len;
#endif
}
-void __init
+static void __init
prep_setup_arch(void)
{
unsigned char reg;
@@ -264,20 +266,19 @@
break;
}
- /* Read in NVRAM data */
- init_prep_nvram();
-
- /* if no bootargs, look in NVRAM */
- if ( cmd_line[0] == '\0' ) {
- char *bootargs;
- bootargs = prep_nvram_get_var("bootargs");
- if (bootargs != NULL) {
- strcpy(cmd_line, bootargs);
+ /* Read in NVRAM data */
+ init_prep_nvram();
- /* again.. */
- strcpy(saved_command_line, cmd_line);
- }
- }
+ /* if no bootargs, look in NVRAM */
+ if ( cmd_line[0] == '\0' ) {
+ char *bootargs;
+ bootargs = prep_nvram_get_var("bootargs");
+ if (bootargs != NULL) {
+ strcpy(cmd_line, bootargs);
+ /* again.. */
+ strcpy(saved_command_line, cmd_line);
+ }
+ }
#ifdef CONFIG_SOUND_CS4232
/*
@@ -290,11 +291,11 @@
if ( _machine == _MACH_prep )
{
extern struct card_info snd_installed_cards[];
- struct card_info *snd_ptr;
+ struct card_info *snd_ptr;
for ( snd_ptr = snd_installed_cards;
- snd_ptr < &snd_installed_cards[num_sound_cards];
- snd_ptr++ )
+ snd_ptr < &snd_installed_cards[num_sound_cards];
+ snd_ptr++ )
{
if ( snd_ptr->card_type == SNDCARD_CS4232 )
{
@@ -308,7 +309,7 @@
if ( _prep_type == _PREP_IBM )
{
snd_ptr->config.io_base = 0x530;
- snd_ptr->config.irq = 5;
+ snd_ptr->config.irq = 5;
snd_ptr->config.dma = ppc_cs4232_dma = 1;
/* this is wrong - but leave it for now */
snd_ptr->config.dma2 = ppc_cs4232_dma2 = 7;
@@ -328,15 +329,6 @@
ibm_prep_init();
break;
}
-
-#ifdef CONFIG_VGA_CONSOLE
- /* remap the VGA memory */
- vgacon_remap_base = 0xf0000000;
- /*vgacon_remap_base = ioremap(0xc0000000, 0xba000);*/
- conswitchp = &vga_con;
-#elif defined(CONFIG_DUMMY_CONSOLE)
- conswitchp = &dummy_con;
-#endif
}
/*
@@ -344,17 +336,23 @@
* This allows for a faster boot as we do not need to calibrate the
* decrementer against another clock. This is important for embedded systems.
*/
-void __init prep_res_calibrate_decr(void)
+static int __init
+prep_res_calibrate_decr(void)
{
-#ifdef CONFIG_PREP_RESIDUAL
- unsigned long freq, divisor=4;
+#ifdef CONFIG_PREP_RESIDUAL
+ unsigned long freq, divisor = 4;
- freq = res->VitalProductData.ProcessorBusHz;
- printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
- (freq/divisor)/1000000, (freq/divisor)%1000000);
- tb_ticks_per_jiffy = freq / HZ / divisor;
- tb_to_us = mulhwu_scale_factor(freq/divisor, 1000000);
+ if ( res->VitalProductData.ProcessorBusHz ) {
+ freq = res->VitalProductData.ProcessorBusHz;
+ printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
+ (freq/divisor)/1000000,
+ (freq/divisor)%1000000);
+ tb_to_us = mulhwu_scale_factor(freq/divisor, 1000000);
+ tb_ticks_per_jiffy = freq / HZ / divisor;
+ return 0;
+ } else
#endif
+ return 1;
}
/*
@@ -370,10 +368,8 @@
static volatile int calibrate_steps __initdata = 3;
static unsigned tbstamp __initdata = 0;
-void __init
-prep_calibrate_decr_handler(int irq,
- void *dev,
- struct pt_regs *regs)
+static void __init
+prep_calibrate_decr_handler(int irq, void *dev, struct pt_regs *regs)
{
unsigned long t, freq;
int step=--calibrate_steps;
@@ -384,44 +380,54 @@
} else {
freq = (t - tbstamp)*HZ;
printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
- freq/1000000, freq%1000000);
+ freq/1000000, freq%1000000);
tb_ticks_per_jiffy = freq / HZ;
tb_to_us = mulhwu_scale_factor(freq, 1000000);
}
}
-void __init prep_calibrate_decr(void)
+static void __init
+prep_calibrate_decr(void)
{
- unsigned long flags;
+ int res;
+ /* Try and get this from the residual data. */
+ res = prep_res_calibrate_decr();
- save_flags(flags);
+ /* If we didn't get it from the residual data, try this. */
+ if ( res ) {
+ unsigned long flags;
+
+ save_flags(flags);
#define TIMER0_COUNT 0x40
#define TIMER_CONTROL 0x43
- /* set timer to periodic mode */
- outb_p(0x34,TIMER_CONTROL);/* binary, mode 2, LSB/MSB, ch 0 */
- /* set the clock to ~100 Hz */
- outb_p(LATCH & 0xff , TIMER0_COUNT); /* LSB */
- outb(LATCH >> 8 , TIMER0_COUNT); /* MSB */
-
- if (request_irq(0, prep_calibrate_decr_handler, 0, "timer", NULL) != 0)
- panic("Could not allocate timer IRQ!");
- __sti();
- while ( calibrate_steps ) /* nothing */; /* wait for calibrate */
- restore_flags(flags);
- free_irq( 0, NULL);
-}
+ /* set timer to periodic mode */
+ outb_p(0x34,TIMER_CONTROL);/* binary, mode 2, LSB/MSB, ch 0 */
+ /* set the clock to ~100 Hz */
+ outb_p(LATCH & 0xff , TIMER0_COUNT); /* LSB */
+ outb(LATCH >> 8 , TIMER0_COUNT); /* MSB */
+ if (request_irq(0, prep_calibrate_decr_handler, 0, "timer", NULL) != 0)
+ panic("Could not allocate timer IRQ!");
+ __sti();
+ /* wait for calibrate */
+ while ( calibrate_steps )
+ ;
+ restore_flags(flags);
+ free_irq( 0, NULL);
+ }
+}
-static long __init mk48t59_init(void) {
+static long __init
+mk48t59_init(void) {
unsigned char tmp;
tmp = ppc_md.nvram_read_val(MK48T59_RTC_CONTROLB);
if (tmp & MK48T59_RTC_CB_STOP) {
printk("Warning: RTC was stopped, date will be wrong.\n");
ppc_md.nvram_write_val(MK48T59_RTC_CONTROLB,
- tmp & ~MK48T59_RTC_CB_STOP);
+ tmp & ~MK48T59_RTC_CB_STOP);
/* Low frequency crystal oscillators may take a very long
* time to startup and stabilize. For now just ignore the
* the issue, but attempting to calibrate the decrementer
@@ -441,12 +447,13 @@
* the RTC registers have just been set up in the right state by the
* preceding routine.
*/
-void __init mk48t59_calibrate_decr(void)
+static void __init
+mk48t59_calibrate_decr(void)
{
unsigned long freq;
unsigned long t1;
- unsigned char save_control;
- long i;
+ unsigned char save_control;
+ long i;
unsigned char sec;
@@ -454,7 +461,7 @@
save_control = ppc_md.nvram_read_val(MK48T59_RTC_CONTROLB);
ppc_md.nvram_write_val(MK48T59_RTC_CONTROLA,
- (save_control & (~MK48T59_RTC_CB_STOP)));
+ (save_control & (~MK48T59_RTC_CB_STOP)));
/* Now make sure the read bit is off so the value will change. */
save_control = ppc_md.nvram_read_val(MK48T59_RTC_CONTROLA);
@@ -471,27 +478,26 @@
* stamp with a loop count as parameter would be the solution.
*/
for (i = 0 ; i < 1000000 ; i++) { /* may take up to 1 second... */
- t1 = get_tbl();
- if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec) {
- break;
- }
+ t1 = get_tbl();
+ if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec) {
+ break;
+ }
}
sec = ppc_md.nvram_read_val(MK48T59_RTC_SECONDS);
for (i = 0 ; i < 1000000 ; i++) { /* Should take up 1 second... */
- freq = get_tbl()-t1;
- if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec) {
- break;
- }
+ freq = get_tbl()-t1;
+ if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec)
+ break;
}
printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
- freq/1000000, freq%1000000);
+ freq/1000000, freq%1000000);
tb_ticks_per_jiffy = freq / HZ;
tb_to_us = mulhwu_scale_factor(freq, 1000000);
}
-void __prep
+static void __prep
prep_restart(char *cmd)
{
unsigned long i = 10000;
@@ -510,33 +516,7 @@
panic("restart failed\n");
}
-/*
- * This function will restart a board regardless of port 92 functionality
- */
-void __prep
-prep_direct_restart(char *cmd)
-{
- u32 jumpaddr=0xfff00100;
- u32 defaultmsr=MSR_IP;
-
- /*
- * This will ALWAYS work regardless of port 92
- * functionality
- */
- __cli();
-
- __asm__ __volatile__("\n\
- mtspr 26, %1 /* SRR0 */ \n\
- mtspr 27, %0 /* SRR1 */ \n\
- rfi"
- :
- : "r" (defaultmsr), "r" (jumpaddr));
- /*
- * Not reached
- */
-}
-
-void __prep
+static void __prep
prep_halt(void)
{
unsigned long flags;
@@ -602,7 +582,7 @@
udelay(100); /* important: let controller recover */
}
-void __prep
+static void __prep
prep_power_off(void)
{
if ( _prep_type == _PREP_IBM) {
@@ -627,19 +607,19 @@
}
}
-int __prep
+static int __prep
prep_setup_residual(char *buffer)
{
- int len = 0;
+ int len = 0;
/* PREP's without residual data will give incorrect values here */
len += sprintf(len+buffer, "clock\t\t: ");
#ifdef CONFIG_PREP_RESIDUAL
if ( res->ResidualLength )
len += sprintf(len+buffer, "%ldMHz\n",
- (res->VitalProductData.ProcessorHz > 1024) ?
- res->VitalProductData.ProcessorHz>>20 :
- res->VitalProductData.ProcessorHz);
+ (res->VitalProductData.ProcessorHz > 1024) ?
+ res->VitalProductData.ProcessorHz>>20 :
+ res->VitalProductData.ProcessorHz);
else
#endif /* CONFIG_PREP_RESIDUAL */
len += sprintf(len+buffer, "???\n");
@@ -647,7 +627,7 @@
return len;
}
-u_int __prep
+static unsigned int __prep
prep_irq_cannonicalize(u_int irq)
{
if (irq == 2)
@@ -660,29 +640,29 @@
}
}
-int __prep
+static int __prep
prep_get_irq(struct pt_regs *regs)
{
return i8259_irq(smp_processor_id());
}
-void __init
+static void __init
prep_init_IRQ(void)
{
int i;
if (OpenPIC_Addr != NULL)
openpic_init(1, NUM_8259_INTERRUPTS, 0, -1);
- for ( i = 0 ; i < NUM_8259_INTERRUPTS ; i++ )
- irq_desc[i].handler = &i8259_pic;
- i8259_init();
+ for ( i = 0 ; i < NUM_8259_INTERRUPTS ; i++ )
+ irq_desc[i].handler = &i8259_pic;
+ i8259_init();
}
#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
/*
* IDE stuff.
*/
-int __prep
+static int __prep
prep_ide_default_irq(ide_ioreg_t base)
{
switch (base) {
@@ -696,7 +676,7 @@
}
}
-ide_ioreg_t __prep
+static ide_ioreg_t __prep
prep_ide_default_io_base(int index)
{
switch (index) {
@@ -705,17 +685,17 @@
case 2: return 0x1e8;
case 3: return 0x168;
default:
- return 0;
+ return 0;
}
}
-int __prep
+static int __prep
prep_ide_check_region(ide_ioreg_t from, unsigned int extent)
{
- return check_region(from, extent);
+ return check_region(from, extent);
}
-void __prep
+static void __prep
prep_ide_request_region(ide_ioreg_t from,
unsigned int extent,
const char *name)
@@ -723,14 +703,14 @@
request_region(from, extent, name);
}
-void __prep
+static void __prep
prep_ide_release_region(ide_ioreg_t from,
unsigned int extent)
{
release_region(from, extent);
}
-void __init
+static void __init
prep_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq)
{
ide_ioreg_t reg = data_port;
@@ -743,7 +723,7 @@
if (ctrl_port) {
hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port;
} else {
- hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206;
+ hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206;
}
if (irq != NULL)
*irq = 0;
@@ -752,7 +732,7 @@
#ifdef CONFIG_SMP
/* PReP (MTX) support */
-static int
+static int __init
smp_prep_probe(void)
{
extern int mot_multi;
@@ -766,7 +746,7 @@
return 1;
}
-static void
+static void __init
smp_prep_kick_cpu(int nr)
{
*(unsigned long *)KERNELBASE = nr;
@@ -774,14 +754,14 @@
printk("CPU1 reset, waiting\n");
}
-static void
+static void __init
smp_prep_setup_cpu(int cpu_nr)
{
if (OpenPIC_Addr)
do_openpic_setup_cpu();
}
-static struct smp_ops_t prep_smp_ops = {
+static struct smp_ops_t prep_smp_ops __prepdata = {
smp_openpic_message_pass,
smp_prep_probe,
smp_prep_kick_cpu,
@@ -795,7 +775,8 @@
* this will likely stay separate from the pmac.
* -- Cort
*/
-unsigned long __init prep_find_end_of_memory(void)
+static unsigned long __init
+prep_find_end_of_memory(void)
{
unsigned long total = 0;
extern unsigned int boot_mem_size;
@@ -806,15 +787,14 @@
if (total == 0 && boot_mem_size != 0)
total = boot_mem_size;
-
- if (total == 0) {
+ else if (total == 0) {
/*
* I need a way to probe the amount of memory if the residual
* data doesn't contain it. -- Cort
*/
total = 0x02000000;
printk(KERN_INFO "Ramsize from residual data was 0"
- " -- defaulting to %ldM\n", total>>20);
+ " -- defaulting to %ldM\n", total>>20);
}
return (total);
@@ -825,16 +805,17 @@
* the io areas. RAM was mapped by mapin_ram().
* -- Cort
*/
-void __init prep_map_io(void)
+static void __init
+prep_map_io(void)
{
io_block_mapping(0x80000000, PREP_ISA_IO_BASE, 0x10000000, _PAGE_IO);
io_block_mapping(0xf0000000, PREP_ISA_MEM_BASE, 0x08000000, _PAGE_IO);
}
-void __init
+static void __init
prep_init2(void)
{
-#ifdef CONFIG_NVRAM
+#ifdef CONFIG_NVRAM
request_region(PREP_NVRAM_AS0, 0x8, "nvram");
#endif
request_region(0x20,0x20,"pic1");
@@ -847,7 +828,7 @@
void __init
prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
- unsigned long r6, unsigned long r7)
+ unsigned long r6, unsigned long r7)
{
#ifdef CONFIG_PREP_RESIDUAL
RESIDUAL *old_res = (RESIDUAL *)(r3 + KERNELBASE);
@@ -856,7 +837,7 @@
if ( r3 )
{
memcpy((void *)res,(void *)(r3+KERNELBASE),
- sizeof(RESIDUAL));
+ sizeof(RESIDUAL));
}
#endif
@@ -869,7 +850,7 @@
#endif /* CONFIG_BLK_DEV_INITRD */
/* Copy cmd_line parameters */
- if ( r6)
+ if ( r6 )
{
*(char *)(r7 + KERNELBASE) = 0;
strcpy(cmd_line, (char *)(r6 + KERNELBASE));
@@ -892,7 +873,7 @@
_prep_type = _PREP_Motorola;
}
else /* assume motorola if no residual (netboot?) */
-#endif
+#endif
{
_prep_type = _PREP_Motorola;
}
@@ -915,8 +896,7 @@
ppc_md.set_rtc_time = mc146818_set_rtc_time;
ppc_md.get_rtc_time = mc146818_get_rtc_time;
ppc_md.calibrate_decr = prep_calibrate_decr;
- }
- else {
+ } else {
ppc_md.set_rtc_time = mk48t59_set_rtc_time;
ppc_md.get_rtc_time = mk48t59_get_rtc_time;
ppc_md.calibrate_decr = mk48t59_calibrate_decr;
@@ -927,12 +907,12 @@
ppc_md.setup_io_mappings = prep_map_io;
#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
- ppc_ide_md.default_irq = prep_ide_default_irq;
- ppc_ide_md.default_io_base = prep_ide_default_io_base;
- ppc_ide_md.ide_check_region = prep_ide_check_region;
- ppc_ide_md.ide_request_region = prep_ide_request_region;
- ppc_ide_md.ide_release_region = prep_ide_release_region;
- ppc_ide_md.ide_init_hwif = prep_ide_init_hwif_ports;
+ ppc_ide_md.default_irq = prep_ide_default_irq;
+ ppc_ide_md.default_io_base = prep_ide_default_io_base;
+ ppc_ide_md.ide_check_region = prep_ide_check_region;
+ ppc_ide_md.ide_request_region = prep_ide_request_region;
+ ppc_ide_md.ide_release_region = prep_ide_release_region;
+ ppc_ide_md.ide_init_hwif = prep_ide_init_hwif_ports;
#endif
#ifdef CONFIG_SMP
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv3798/drivers Modified Files: Makefile Log Message: Synced to 2.4.14 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- Makefile 2001/11/07 09:52:26 1.22 +++ Makefile 2001/11/13 19:38:22 1.23 @@ -10,7 +10,7 @@ message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ fc4 net/hamradio i2c l3 acpi bluetooth serial -subdir-y := parport char block net sound misc media cdrom video # hotplug +subdir-y := parport char block net sound misc media cdrom video subdir-m := $(subdir-y) |
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char
In directory usw-pr-cvs1:/tmp/cvs-serv3798/drivers/char
Modified Files:
Config.in Makefile misc.c tty_io.c vt_ioctl.c
Log Message:
Synced to 2.4.14
Index: Config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Config.in,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- Config.in 2001/11/02 00:57:43 1.29
+++ Config.in 2001/11/13 19:38:22 1.30
@@ -202,6 +202,8 @@
source drivers/char/pcmcia/Config.in
fi
-tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE
+if [ "$CONFIG_X86" = "y" ]; then
+ tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE
+fi
endmenu
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- Makefile 2001/11/02 00:57:43 1.30
+++ Makefile 2001/11/13 19:38:22 1.31
@@ -85,6 +85,7 @@
obj-$(CONFIG_NVRAM) += nvram.o
endif
obj-$(CONFIG_TOSHIBA) += toshiba.o
+obj-$(CONFIG_I8K) += i8k.o
obj-$(CONFIG_DS1620) += ds1620.o
obj-$(CONFIG_INTEL_RNG) += i810_rng.o
Index: misc.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/misc.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- misc.c 2001/11/02 00:57:43 1.15
+++ misc.c 2001/11/13 19:38:22 1.16
@@ -71,6 +71,7 @@
extern int ds1286_init(void);
extern int pmu_device_init(void);
extern int tosh_init(void);
+extern int i8k_init(void);
static int misc_read_proc(char *buf, char **start, off_t offset,
int len, int *eof, void *private)
@@ -271,6 +272,9 @@
#endif
#ifdef CONFIG_TOSHIBA
tosh_init();
+#endif
+#ifdef CONFIG_I8K
+ i8k_init();
#endif
if (devfs_register_chrdev(MISC_MAJOR,"misc",&misc_fops)) {
printk("unable to get major %d for misc devices\n",
Index: tty_io.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- tty_io.c 2001/10/06 16:11:13 1.36
+++ tty_io.c 2001/11/13 19:38:22 1.37
@@ -2342,9 +2342,6 @@
#ifdef CONFIG_SERIAL_TX3912
tx3912_rs_init();
#endif
-#ifdef CONFIG_COMPUTONE
- ip2_init();
-#endif
#ifdef CONFIG_ROCKETPORT
rp_init();
#endif
Index: vt_ioctl.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/vt_ioctl.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- vt_ioctl.c 2001/10/17 17:00:13 1.62
+++ vt_ioctl.c 2001/11/13 19:38:22 1.63
@@ -1455,6 +1455,23 @@
switch_screen(new_vc, old_vc);
/*
+ * This can't appear below a successful kill_proc(). If it did,
+ * then the *blank_screen operation could occur while X, having
+ * received acqsig, is waking up on another processor. This
+ * condition can lead to overlapping accesses to the VGA range
+ * and the framebuffer (causing system lockups).
+ *
+ * To account for this we duplicate this code below only if the
+ * controlling process is gone and we've called reset_vc.
+ */
+ if (old_vc_mode != new_vc->vc_mode) {
+ if (new_vc->vc_mode == KD_TEXT)
+ unblank_screen(new_vc->display_fg);
+ else
+ do_blank_screen(new_vc);
+ }
+
+ /*
* If this new console is under process control, send it a signal
* telling it that it has acquired. Also check if it has died and
* clean up (similar to logic employed in change_console())
@@ -1475,19 +1492,12 @@
* this outside of VT_PROCESS but there is no single process
* to account for and tracking tty count may be undesirable.
*/
- reset_vc(new_vc);
+ if (old_vc_mode != new_vc->vc_mode) {
+ if (new_vc->vc_mode == KD_TEXT)
+ unblank_screen(new_vc->display_fg);
+ else
+ do_blank_screen(new_vc);
}
- }
-
- /*
- * We do this here because the controlling process above may have
- * gone, and so there is now a new vc_mode
- */
- if (old_vc_mode != new_vc->vc_mode) {
- if (new_vc->vc_mode == KD_TEXT) {
- unblank_screen(new_vc->display_fg);
- } else
- do_blank_screen(new_vc);
}
/*
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc
In directory usw-pr-cvs1:/tmp/cvs-serv3798/arch/ppc
Modified Files:
config.in
Log Message:
Synced to 2.4.14
Index: config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/config.in,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- config.in 2001/10/06 16:11:12 1.20
+++ config.in 2001/11/13 19:38:22 1.21
@@ -1,4 +1,4 @@
-# BK Id: SCCS/s.config.in 1.40 08/24/01 20:31:47 paulus
+# BK Id: SCCS/s.config.in 1.43 10/16/01 15:18:50 trini
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/config-language.txt.
@@ -46,6 +46,8 @@
if [ "$CONFIG_6xx" = "y" -o "$CONFIG_POWER3" = "y" -o \
"$CONFIG_POWER4" = "y" ]; then
define_bool CONFIG_PPC_STD_MMU y
+else
+ define_bool CONFIG_PPC_STD_MMU n
fi
if [ "$CONFIG_8260" = "y" ]; then
@@ -66,6 +68,7 @@
"RPX-Lite CONFIG_RPXLITE \
RPX-Classic CONFIG_RPXCLASSIC \
BSE-IP CONFIG_BSEIP \
+ FADS CONFIG_FADS \
TQM823L CONFIG_TQM823L \
TQM850L CONFIG_TQM850L \
TQM855L CONFIG_TQM855L \
@@ -74,6 +77,7 @@
TQM860 CONFIG_TQM860 \
SPD823TS CONFIG_SPD823TS \
IVMS8 CONFIG_IVMS8 \
+ IVML24 CONFIG_IVML24 \
SM850 CONFIG_SM850 \
MBX CONFIG_MBX \
WinCept CONFIG_WINCEPT" RPX-Lite
@@ -95,12 +99,7 @@
Synergy-Gemini CONFIG_GEMINI" CHRP/PowerMac/PReP
fi
-if [ "$CONFIG_PPC64BRIDGE" != "y" ]; then
- bool 'Workarounds for PPC601 bugs' CONFIG_PPC601_SYNC_FIX
-fi
-
-if [ "$CONFIG_POWER3" = "n" -a "$CONFIG_POWER4" = "n" -a \
- "$CONFIG_6xx" = "n" ]; then
+if [ "$CONFIG_PPC_STD_MMU" != "y" ]; then
define_bool CONFIG_ALL_PPC n
fi
@@ -183,6 +182,10 @@
else
bool 'Generic /dev/rtc emulation' CONFIG_GEN_RTC
fi
+fi
+
+if [ "$CONFIG_ALL_PPC" = "y" -a "$CONFIG_POWER3" = "n" ] ; then
+ bool 'Workarounds for PPC601 bugs' CONFIG_PPC601_SYNC_FIX
fi
if [ "$CONFIG_ALL_PPC" = "y" ]; then
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv3798/arch/i386/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.4.14
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/setup.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- setup.c 2001/10/29 00:10:58 1.29
+++ setup.c 2001/11/13 19:38:22 1.30
@@ -226,8 +226,7 @@
#define SIO_PM_GP_EN 0x80
-static void
-visws_get_board_type_and_rev(void)
+static void __init visws_get_board_type_and_rev(void)
{
int raw;
@@ -399,7 +398,7 @@
}
}
-void __init add_memory_region(unsigned long long start,
+static void __init add_memory_region(unsigned long long start,
unsigned long long size, int type)
{
int x = e820.nr_map;
@@ -664,7 +663,7 @@
*/
#define LOWMEMSIZE() (0x9f000)
-void __init setup_memory_region(void)
+static void __init setup_memory_region(void)
{
char *who = "BIOS-e820";
@@ -696,7 +695,7 @@
} /* setup_memory_region */
-static inline void parse_mem_cmdline (char ** cmdline_p)
+static void __init parse_mem_cmdline (char ** cmdline_p)
{
char c = ' ', *to = command_line, *from = COMMAND_LINE;
int len = 0;
@@ -1251,11 +1250,11 @@
/*
* Read Cyrix DEVID registers (DIR) to get more detailed info. about the CPU
*/
-static void do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
+static void __init do_cyrix_devid(unsigned char *dir0, unsigned char *dir1)
{
unsigned char ccr2, ccr3;
unsigned long flags;
-
+
/* we test for DEVID by checking whether CCR3 is writable */
local_irq_save(flags);
ccr3 = getCx86(CX86_CCR3);
@@ -1291,7 +1290,7 @@
* Actually since bugs.h doesnt even reference this perhaps someone should
* fix the documentation ???
*/
-unsigned char Cx86_dir0_msb __initdata = 0;
+static unsigned char Cx86_dir0_msb __initdata = 0;
static char Cx86_model[][9] __initdata = {
"Cx486", "Cx486", "5x86 ", "6x86", "MediaGX ", "6x86MX ",
@@ -1324,7 +1323,7 @@
static void __init check_cx686_slop(struct cpuinfo_x86 *c)
{
unsigned long flags;
-
+
if (Cx86_dir0_msb == 3) {
unsigned char ccr3, ccr5;
@@ -1491,6 +1490,248 @@
return;
}
+#ifdef CONFIG_X86_OOSTORE
+
+static u32 __init power2(u32 x)
+{
+ u32 s=1;
+ while(s<=x)
+ s<<=1;
+ return s>>=1;
+}
+
+/*
+ * Set up an actual MCR
+ */
+
+static void __init winchip_mcr_insert(int reg, u32 base, u32 size, int key)
+{
+ u32 lo, hi;
+
+ hi = base & ~0xFFF;
+ lo = ~(size-1); /* Size is a power of 2 so this makes a mask */
+ lo &= ~0xFFF; /* Remove the ctrl value bits */
+ lo |= key; /* Attribute we wish to set */
+ wrmsr(reg+MSR_IDT_MCR0, lo, hi);
+ mtrr_centaur_report_mcr(reg, lo, hi); /* Tell the mtrr driver */
+}
+
+/*
+ * Figure what we can cover with MCR's
+ *
+ * Shortcut: We know you can't put 4Gig of RAM on a winchip
+ */
+
+static u32 __init ramtop(void) /* 16388 */
+{
+ int i;
+ u32 top = 0;
+ u32 clip = 0xFFFFFFFFUL;
+
+ for (i = 0; i < e820.nr_map; i++) {
+ unsigned long start, end;
+
+ if (e820.map[i].addr > 0xFFFFFFFFUL)
+ continue;
+ /*
+ * Don't MCR over reserved space. Ignore the ISA hole
+ * we frob around that catastrophy already
+ */
+
+ if (e820.map[i].type == E820_RESERVED)
+ {
+ if(e820.map[i].addr >= 0x100000UL && e820.map[i].addr < clip)
+ clip = e820.map[i].addr;
+ continue;
+ }
+ start = e820.map[i].addr;
+ end = e820.map[i].addr + e820.map[i].size;
+ if (start >= end)
+ continue;
+ if (end > top)
+ top = end;
+ }
+ /* Everything below 'top' should be RAM except for the ISA hole.
+ Because of the limited MCR's we want to map NV/ACPI into our
+ MCR range for gunk in RAM
+
+ Clip might cause us to MCR insufficient RAM but that is an
+ acceptable failure mode and should only bite obscure boxes with
+ a VESA hole at 15Mb
+
+ The second case Clip sometimes kicks in is when the EBDA is marked
+ as reserved. Again we fail safe with reasonable results
+ */
+
+ if(top>clip)
+ top=clip;
+
+ return top;
+}
+
+/*
+ * Compute a set of MCR's to give maximum coverage
+ */
+
+static int __init winchip_mcr_compute(int nr, int key)
+{
+ u32 mem = ramtop();
+ u32 root = power2(mem);
+ u32 base = root;
+ u32 top = root;
+ u32 floor = 0;
+ int ct = 0;
+
+ while(ct<nr)
+ {
+ u32 fspace = 0;
+
+ /*
+ * Find the largest block we will fill going upwards
+ */
+
+ u32 high = power2(mem-top);
+
+ /*
+ * Find the largest block we will fill going downwards
+ */
+
+ u32 low = base/2;
+
+ /*
+ * Don't fill below 1Mb going downwards as there
+ * is an ISA hole in the way.
+ */
+
+ if(base <= 1024*1024)
+ low = 0;
+
+ /*
+ * See how much space we could cover by filling below
+ * the ISA hole
+ */
+
+ if(floor == 0)
+ fspace = 512*1024;
+ else if(floor ==512*1024)
+ fspace = 128*1024;
+
+ /* And forget ROM space */
+
+ /*
+ * Now install the largest coverage we get
+ */
+
+ if(fspace > high && fspace > low)
+ {
+ winchip_mcr_insert(ct, floor, fspace, key);
+ floor += fspace;
+ }
+ else if(high > low)
+ {
+ winchip_mcr_insert(ct, top, high, key);
+ top += high;
+ }
+ else if(low > 0)
+ {
+ base -= low;
+ winchip_mcr_insert(ct, base, low, key);
+ }
+ else break;
+ ct++;
+ }
+ /*
+ * We loaded ct values. We now need to set the mask. The caller
+ * must do this bit.
+ */
+
+ return ct;
+}
+
+static void __init winchip_create_optimal_mcr(void)
+{
+ int i;
+ /*
+ * Allocate up to 6 mcrs to mark as much of ram as possible
+ * as write combining and weak write ordered.
+ *
+ * To experiment with: Linux never uses stack operations for
+ * mmio spaces so we could globally enable stack operation wc
+ *
+ * Load the registers with type 31 - full write combining, all
+ * writes weakly ordered.
+ */
+ int used = winchip_mcr_compute(6, 31);
+
+ /*
+ * Wipe unused MCRs
+ */
+
+ for(i=used;i<8;i++)
+ wrmsr(MSR_IDT_MCR0+i, 0, 0);
+}
+
+static void __init winchip2_create_optimal_mcr(void)
+{
+ u32 lo, hi;
+ int i;
+
+ /*
+ * Allocate up to 6 mcrs to mark as much of ram as possible
+ * as write combining, weak store ordered.
+ *
+ * Load the registers with type 25
+ * 8 - weak write ordering
+ * 16 - weak read ordering
+ * 1 - write combining
+ */
+
+ int used = winchip_mcr_compute(6, 25);
+
+ /*
+ * Mark the registers we are using.
+ */
+
+ rdmsr(MSR_IDT_MCR_CTRL, lo, hi);
+ for(i=0;i<used;i++)
+ lo|=1<<(9+i);
+ wrmsr(MSR_IDT_MCR_CTRL, lo, hi);
+
+ /*
+ * Wipe unused MCRs
+ */
+
+ for(i=used;i<8;i++)
+ wrmsr(MSR_IDT_MCR0+i, 0, 0);
+}
+
+/*
+ * Handle the MCR key on the Winchip 2.
+ */
+
+static void __init winchip2_unprotect_mcr(void)
+{
+ u32 lo, hi;
+ u32 key;
+
+ rdmsr(MSR_IDT_MCR_CTRL, lo, hi);
+ lo&=~0x1C0; /* blank bits 8-6 */
+ key = (lo>>17) & 7;
+ lo |= key<<6; /* replace with unlock key */
+ wrmsr(MSR_IDT_MCR_CTRL, lo, hi);
+}
+
+static void __init winchip2_protect_mcr(void)
+{
+ u32 lo, hi;
+
+ rdmsr(MSR_IDT_MCR_CTRL, lo, hi);
+ lo&=~0x1C0; /* blank bits 8-6 */
+ wrmsr(MSR_IDT_MCR_CTRL, lo, hi);
+}
+
+#endif
+
static void __init init_centaur(struct cpuinfo_x86 *c)
{
enum {
@@ -1534,6 +1775,19 @@
fcr_clr=DPDC;
printk(KERN_NOTICE "Disabling bugged TSC.\n");
clear_bit(X86_FEATURE_TSC, &c->x86_capability);
+#ifdef CONFIG_X86_OOSTORE
+ winchip_create_optimal_mcr();
+ /* Enable
+ write combining on non-stack, non-string
+ write combining on string, all types
+ weak write ordering
+
+ The C6 original lacks weak read order
+
+ Note 0x120 is write only on Winchip 1 */
+
+ wrmsr(MSR_IDT_MCR_CTRL, 0x01F0001F, 0);
+#endif
break;
case 8:
switch(c->x86_mask) {
@@ -1549,11 +1803,37 @@
}
fcr_set=ECX8|DSMC|DTLOCK|EMMX|EBRPRED|ERETSTK|E2MMX|EAMD3D;
fcr_clr=DPDC;
+#ifdef CONFIG_X86_OOSTORE
+ winchip2_unprotect_mcr();
+ winchip2_create_optimal_mcr();
+ rdmsr(MSR_IDT_MCR_CTRL, lo, hi);
+ /* Enable
+ write combining on non-stack, non-string
+ write combining on string, all types
+ weak write ordering
+ */
+ lo|=31;
+ wrmsr(MSR_IDT_MCR_CTRL, lo, hi);
+ winchip2_protect_mcr();
+#endif
break;
case 9:
name="3";
fcr_set=ECX8|DSMC|DTLOCK|EMMX|EBRPRED|ERETSTK|E2MMX|EAMD3D;
fcr_clr=DPDC;
+#ifdef CONFIG_X86_OOSTORE
+ winchip2_unprotect_mcr();
+ winchip2_create_optimal_mcr();
+ rdmsr(MSR_IDT_MCR_CTRL, lo, hi);
+ /* Enable
+ write combining on non-stack, non-string
+ write combining on string, all types
+ weak write ordering
+ */
+ lo|=31;
+ wrmsr(MSR_IDT_MCR_CTRL, lo, hi);
+ winchip2_protect_mcr();
+#endif
break;
case 10:
name="4";
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:24
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386
In directory usw-pr-cvs1:/tmp/cvs-serv3798/arch/i386
Modified Files:
config.in
Log Message:
Synced to 2.4.14
Index: config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/config.in,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- config.in 2001/10/29 00:10:57 1.28
+++ config.in 2001/11/13 19:38:21 1.29
@@ -149,6 +149,7 @@
define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
fi
tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
+tristate 'Dell Inspiron 8000 support' CONFIG_I8K
tristate '/dev/cpu/microcode - Intel IA32 CPU microcode support' CONFIG_MICROCODE
tristate '/dev/cpu/*/msr - Model-specific register support' CONFIG_X86_MSR
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:24
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv3798/arch/alpha/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.4.14
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel/setup.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- setup.c 2001/10/15 01:13:16 1.4
+++ setup.c 2001/11/13 19:38:21 1.5
@@ -87,8 +87,6 @@
int alpha_using_srm;
#endif
-unsigned char aux_device_present = 0xaa;
-
#define N(a) (sizeof(a)/sizeof(a[0]))
static struct alpha_machine_vector *get_sysvec(long, long, long);
@@ -1041,7 +1039,8 @@
static char cpu_names[][8] = {
"EV3", "EV4", "Simulate", "LCA4", "EV5", "EV45", "EV56",
- "EV6", "PCA56", "PCA57", "EV67", "EV68CB", "EV68AL"
+ "EV6", "PCA56", "PCA57", "EV67", "EV68CB", "EV68AL",
+ "EV68CX", "EV7", "EV79", "EV69"
};
struct percpu_struct *cpu;
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:24
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/alpha
In directory usw-pr-cvs1:/tmp/cvs-serv3798/arch/alpha
Modified Files:
config.in
Log Message:
Synced to 2.4.14
Index: config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/alpha/config.in,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- config.in 2001/10/15 01:13:16 1.20
+++ config.in 2001/11/13 19:38:21 1.21
@@ -217,6 +217,10 @@
bool 'Symmetric multi-processing support' CONFIG_SMP
fi
+if [ "$CONFIG_SMP" = "y" ]; then
+ define_bool CONFIG_HAVE_DEC_LOCK y
+fi
+
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
bool 'Discontiguous Memory Support' CONFIG_DISCONTIGMEM
if [ "$CONFIG_DISCONTIGMEM" = "y" ]; then
|
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:24
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook In directory usw-pr-cvs1:/tmp/cvs-serv3798/Documentation/DocBook Modified Files: Makefile Log Message: Synced to 2.4.14 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile 2001/10/15 01:13:16 1.5 +++ Makefile 2001/11/13 19:38:21 1.6 @@ -8,7 +8,7 @@ HTML := $(patsubst %.sgml, %, $(BOOKS)) IMG-parportbook := parport-share.fig parport-multi.fig parport-structure.fig EPS-parportbook := $(patsubst %.fig, %.eps, $(IMG-parportbook)) -JPG-parportbook := $(patsubst %.fig, %.jpeg, $(IMG-parportbook)) +PNG-parportbook := $(patsubst %.fig, %.png, $(IMG-parportbook)) C-procfs-example = procfs_example.sgml books: $(BOOKS) @@ -26,8 +26,8 @@ %.eps: %.fig fig2dev -Leps $< $@ -%.jpeg: %.fig - fig2dev -Ljpeg $< $@ +%.png: %.fig + fig2dev -Lpng $< $@ %.sgml: %.c echo "<programlisting>" > $@ @@ -129,8 +129,8 @@ $(TOPDIR)/scripts/kernel-doc -man $^ | \ $(PERL) $(TOPDIR)/scripts/split-man $(TOPDIR)/Documentation/man -parportbook: $(JPG-parportbook) -parportbook.ps parportbook.pdf: $(EPS-parportbook) +parportbook parportbook.pdf: $(PNG-parportbook) +parportbook.ps: $(EPS-parportbook) parportbook.sgml: parportbook.tmpl $(TOPDIR)/drivers/parport/init.c $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/parport/init.c <$< >$@ @@ -144,7 +144,7 @@ rm -f core *~ rm -f $(BOOKS) rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT) - rm -f $(JPG-parportbook) $(EPS-parportbook) + rm -f $(PNG-parportbook) $(EPS-parportbook) rm -f $(C-procfs-example) mrproper: clean @@ -172,7 +172,7 @@ exit 1) rm -rf $@ db2html $< - if [ ! -z "$(JPG-$@)" ]; then cp $(JPG-$@) $@; fi + if [ ! -z "$(PNG-$@)" ]; then cp $(PNG-$@) $@; fi # # we could have our own dependency generator |
|
From: James S. <jsi...@us...> - 2001-11-13 19:38:24
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv3798 Modified Files: Makefile Log Message: Synced to 2.4.14 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- Makefile 2001/10/29 00:10:57 1.39 +++ Makefile 2001/11/13 19:38:21 1.40 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 4 -SUBLEVEL = 13 +SUBLEVEL = 14 EXTRAVERSION = -ruby KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) |
|
From: johann d. <jd...@us...> - 2001-11-13 19:18:34
|
Update of /cvsroot/linuxconsole/ruby/linux/include/linux
In directory usw-pr-cvs1:/tmp/cvs-serv30426
Modified Files:
input.h
Log Message:
Attack and fade levels in ff_effect are now unsigned.
Index: input.h
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/input.h,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- input.h 2001/10/27 14:44:17 1.54
+++ input.h 2001/11/13 19:18:31 1.55
@@ -522,9 +522,9 @@
struct ff_shape {
__u16 attack_length; /* Duration of attack (ms) */
- __s16 attack_level; /* Level at beginning of attack */
+ __u16 attack_level; /* Level at beginning of attack */
__u16 fade_length; /* Duration of fade (ms) */
- __s16 fade_level; /* Level at end of fade */
+ __u16 fade_level; /* Level at end of fade */
};
/* FF_CONSTANT */
|
|
From: Paul M. <le...@us...> - 2001-11-13 02:09:22
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv28890
Modified Files:
fbmem.c
Added Files:
tx3912fb.c tx3912fb.h
Log Message:
Added tx3912fb driver port by Dean Scott.
--- NEW FILE: tx3912fb.c ---
/*
* linux/drivers/video/tx3912fb.c
*
* Copyright (C) 1999 Harald Koerfgen
* Copyright (C) 2001 Steven Hill (sj...@re...)
* Copyright (C) 2001 Dean Scott (de...@th...)
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive for
* more details.
*
* Framebuffer for LCD controller in TMPR3912/05 and PR31700 processors
*/
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/tty.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/pm.h>
#include <linux/fb.h>
#include <asm/bootinfo.h>
#include <asm/uaccess.h>
#include <linux/config.h>
#include "tx3912fb.h"
/*
* Frame buffer, palette and console structures
*/
static struct fb_info fb_info;
static u32 pseudo_palette[17];
static struct fb_fix_screeninfo tx3912fb_fix __initdata = {
TX3912FB_NAME, (unsigned long) NULL, 0, FB_TYPE_PACKED_PIXELS, 0,
FB_VISUAL_TRUECOLOR, 0, 1, 1, 1, (unsigned long) NULL, 0, FB_ACCEL_NONE
};
static int tx3912fb_setcolreg(u_int regno, u_int red, u_int green,
u_int blue, u_int transp,
struct fb_info *info)
{
if (regno > 255)
return 1;
red >>= 8;
green >>= 8;
blue >>= 8;
switch (info->var.bits_per_pixel) {
case 8:
red &= 0xe000;
green &= 0xe000;
blue &= 0xc000;
((u8 *)(info->pseudo_palette))[regno] =
(red >> 8) |
(green >> 11) |
(blue >> 14);
break;
}
return 0;
}
/*
* Frame buffer operations structure used by console driver
*/
static struct fb_ops tx3912fb_ops = {
owner: THIS_MODULE,
fb_setcolreg: tx3912fb_setcolreg,
fb_fillrect: cfb_fillrect,
fb_copyarea: cfb_copyarea,
fb_imageblit: cfb_imageblit,
};
/*
* Initialization of the framebuffer
*/
int __init tx3912fb_init(void)
{
/* Stop the video logic when frame completes */
VidCtrl1 |= ENFREEZEFRAME;
IntClear1 |= INT1_LCDINT;
while (!(IntStatus1 & INT1_LCDINT));
/* Disable the video logic */
VidCtrl1 &= ~(ENVID | DISPON);
udelay(200);
/* Set start address for DMA transfer */
VidCtrl3 = tx3912fb_paddr &
(TX3912_VIDCTRL3_VIDBANK_MASK |
TX3912_VIDCTRL3_VIDBASEHI_MASK);
/* Set end address for DMA transfer */
VidCtrl4 = (tx3912fb_paddr + tx3912fb_size + 1) &
TX3912_VIDCTRL4_VIDBASELO_MASK;
/* Set the pixel depth */
switch (tx3912fb_info.bits_per_pixel) {
case 1:
/* Monochrome */
VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
tx3912fb_fix.visual = FB_VISUAL_MONO10;
break;
case 4:
/* 4-bit gray */
VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
VidCtrl1 |= TX3912_VIDCTRL1_4BIT_GRAY;
tx3912fb_fix.visual = FB_VISUAL_TRUECOLOR;
break;
case 8:
/* 8-bit color */
VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
VidCtrl1 |= TX3912_VIDCTRL1_8BIT_COLOR;
tx3912fb_fix.visual = FB_VISUAL_TRUECOLOR;
break;
case 2:
default:
/* 2-bit gray */
VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
VidCtrl1 |= TX3912_VIDCTRL1_2BIT_GRAY;
tx3912fb_fix.visual = FB_VISUAL_PSEUDOCOLOR;
break;
}
/* Unfreeze video logic and enable DF toggle */
VidCtrl1 &= ~(ENFREEZEFRAME | DFMODE);
udelay(200);
/* Clear the framebuffer */
memset((void *) tx3912fb_vaddr, 0xff, tx3912fb_size);
udelay(200);
/* Enable the video logic */
VidCtrl1 |= (DISPON | ENVID);
tx3912fb_fix.smem_start = tx3912fb_vaddr;
tx3912fb_fix.smem_len = tx3912fb_size;
fb_info.node = -1;
fb_info.fbops = &tx3912fb_ops;
fb_info.flags = FBINFO_FLAG_DEFAULT;
fb_info.var = tx3912fb_info;
fb_info.fix = tx3912fb_fix;
fb_info.pseudo_palette = pseudo_palette;
if (register_framebuffer(&fb_info) < 0)
return -EINVAL;
return 0;
}
static void __exit tx3912fb_exit(void)
{
unregister_framebuffer(&fb_info);
}
#ifdef MODULE
module_init(tx3912fb_init);
module_exit(tx3912fb_exit);
MODULE_LICENSE("GPL");
#endif
--- NEW FILE: tx3912fb.h ---
/*
* linux/drivers/video/tx3912fb.h
*
* Copyright (C) 2001 Steven Hill (sj...@re...)
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive for
* more details.
*
* Includes for TMPR3912/05 and PR31700 LCD controller registers
*/
#include <asm/tx3912.h>
#define VidCtrl1 REG_AT(0x028)
#define VidCtrl2 REG_AT(0x02C)
#define VidCtrl3 REG_AT(0x030)
#define VidCtrl4 REG_AT(0x034)
#define VidCtrl5 REG_AT(0x038)
#define VidCtrl6 REG_AT(0x03C)
#define VidCtrl7 REG_AT(0x040)
#define VidCtrl8 REG_AT(0x044)
#define VidCtrl9 REG_AT(0x048)
#define VidCtrl10 REG_AT(0x04C)
#define VidCtrl11 REG_AT(0x050)
#define VidCtrl12 REG_AT(0x054)
#define VidCtrl13 REG_AT(0x058)
#define VidCtrl14 REG_AT(0x05C)
/* Video Control 1 Register */
#define LINECNT 0xffc00000
#define LINECNT_SHIFT 22
#define LOADDLY BIT(21)
#define BAUDVAL (BIT(20) | BIT(19) | BIT(18) | BIT(17) | BIT(16))
#define BAUDVAL_SHIFT 16
#define VIDDONEVAL (BIT(15) | BIT(14) | BIT(13) | BIT(12) | BIT(11) | BIT(10) | BIT(9))
#define VIDDONEVAL_SHIFT 9
#define ENFREEZEFRAME BIT(8)
#define TX3912_VIDCTRL1_BITSEL_MASK 0x000000c0
#define TX3912_VIDCTRL1_2BIT_GRAY 0x00000040
#define TX3912_VIDCTRL1_4BIT_GRAY 0x00000080
#define TX3912_VIDCTRL1_8BIT_COLOR 0x000000c0
#define BITSEL_SHIFT 6
#define DISPSPLIT BIT(5)
#define DISP8 BIT(4)
#define DFMODE BIT(3)
#define INVVID BIT(2)
#define DISPON BIT(1)
#define ENVID BIT(0)
/* Video Control 2 Register */
#define VIDRATE_MASK 0xffc00000
#define VIDRATE_SHIFT 22
#define HORZVAL_MASK 0x001ff000
#define HORZVAL_SHIFT 12
#define LINEVAL_MASK 0x000001ff
/* Video Control 3 Register */
#define TX3912_VIDCTRL3_VIDBANK_MASK 0xfff00000
#define TX3912_VIDCTRL3_VIDBASEHI_MASK 0x000ffff0
/* Video Control 4 Register */
#define TX3912_VIDCTRL4_VIDBASELO_MASK 0x000ffff0
/*
* Begin platform specific configurations
*/
#if defined(CONFIG_NINO_4MB) || defined(CONFIG_NINO_8MB)
#define FB_X_RES 240
#define FB_Y_RES 320
#if defined(CONFIG_FBCON_CFB4)
#define FB_BPP 4
#else
#if defined(CONFIG_FBCON_CFB2)
#define FB_BPP 2
#else
#define FB_BPP 1
#endif
#endif
#define FB_IS_GREY 1
#define FB_IS_INVERSE 0
#endif
#ifdef CONFIG_NINO_16MB
#define FB_X_RES 240
#define FB_Y_RES 320
#define FB_BPP 8
#define FB_IS_GREY 0
#define FB_IS_INVERSE 0
#endif
/*
* Define virtual resolutions if necessary
*/
#ifndef FB_X_VIRTUAL_RES
#define FB_X_VIRTUAL_RES FB_X_RES
#endif
#ifndef FB_Y_VIRTUAL_RES
#define FB_Y_VIRTUAL_RES FB_Y_RES
#endif
/*
* Framebuffer address and size
*/
u_long tx3912fb_paddr = 0;
u_long tx3912fb_vaddr = 0;
u_long tx3912fb_size = (FB_X_RES * FB_Y_RES * FB_BPP / 8);
/*
* Framebuffer info structure
*/
static struct fb_var_screeninfo tx3912fb_info = {
FB_X_RES, FB_Y_RES,
FB_X_VIRTUAL_RES, FB_Y_VIRTUAL_RES,
0, 0,
FB_BPP, FB_IS_GREY,
{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
0, FB_ACTIVATE_NOW,
-1, -1, 0, 20000,
64, 64, 32, 32, 64, 2,
0, FB_VMODE_NONINTERLACED,
{0,0,0,0,0,0}
};
/*
* Framebuffer name
*/
static char TX3912FB_NAME[16] = "tx3912fb";
Index: fbmem.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbmem.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- fbmem.c 2001/10/10 16:31:16 1.53
+++ fbmem.c 2001/11/13 02:09:18 1.54
@@ -128,6 +128,7 @@
extern int sisfb_setup(char*);
extern int stifb_init(void);
extern int stifb_setup(char*);
+extern int tx3912fb_init(void);
extern int radeonfb_init(void);
extern int radeonfb_setup(char*);
extern int sstfb_init(void);
@@ -318,6 +319,9 @@
#endif
#ifdef CONFIG_FB_VR4181
{ "vr4181fb", vr4181fb_init, NULL },
+#endif
+#ifdef CONFIG_FB_TX3912
+ { "tx3912", tx3912fb_init, NULL },
#endif
/*
|
|
From: johann d. <jd...@us...> - 2001-11-10 09:46:22
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input
In directory usw-pr-cvs1:/tmp/cvs-serv16209
Modified Files:
iforce-main.c iforce-usb.c
Log Message:
Added Guillemot Force Feedback Racing Wheel.
Index: iforce-main.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/iforce-main.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- iforce-main.c 2001/10/28 19:10:24 1.4
+++ iforce-main.c 2001/11/10 09:46:19 1.5
@@ -54,6 +54,7 @@
{ 0x05ef, 0x8884, "AVB Mag Turbo Force", btn_wheel, abs_wheel, ff_iforce },
{ 0x05ef, 0x8888, "AVB Top Shot Force Feedback Racing Wheel", btn_avb_tw, abs_wheel, ff_iforce },
{ 0x06f8, 0x0001, "Guillemot Race Leader Force Feedback", btn_wheel, abs_wheel, ff_iforce },
+ { 0x06f8, 0x0004, "Guillemot Force Feedback Racing Wheel", btn_wheel, abs_wheel, ff_iforce },
{ 0x0000, 0x0000, "Unknown I-Force Device [%04x:%04x]", btn_joystick, abs_joystick, ff_iforce }
};
Index: iforce-usb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/iforce-usb.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- iforce-usb.c 2001/10/16 21:05:57 1.2
+++ iforce-usb.c 2001/11/10 09:46:19 1.3
@@ -151,6 +151,7 @@
{ USB_DEVICE(0x05ef, 0x8884) }, /* AVB Mag Turbo Force */
{ USB_DEVICE(0x05ef, 0x8888) }, /* AVB Top Shot FFB Racing Wheel */
{ USB_DEVICE(0x06f8, 0x0001) }, /* Guillemot Race Leader Force Feedback */
+ { USB_DEVICE(0x06f8, 0x0004) }, /* Guillemot Force Feedback Racing Wheel */
{ } /* Terminating entry */
};
|
|
From: johann d. <jd...@us...> - 2001-11-10 09:45:12
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv15836 Modified Files: iforce-ff.c Log Message: Small fix concerning attack and fade level. Those are unsigned values. Index: iforce-ff.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/iforce-ff.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- iforce-ff.c 2001/10/28 19:10:24 1.5 +++ iforce-ff.c 2001/11/10 09:45:09 1.6 @@ -130,11 +130,11 @@ data[2] = LO(attack_duration); data[3] = HI(attack_duration); - data[4] = HIFIX80(initial_level); + data[4] = HI(initial_level); data[5] = LO(fade_duration); data[6] = HI(fade_duration); - data[7] = HIFIX80(final_level); + data[7] = HI(final_level); iforce_send_packet(iforce, FF_CMD_SHAPE, data); |
|
From: James S. <jsi...@us...> - 2001-11-07 19:43:55
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv11491
Added Files:
fbgen2.c
Log Message:
Added wrapper so people can test rubyifed fbdev drivers on standard 2.4.X trees. I still need to add a fbcon-accel.c wrapper as well.
--- NEW FILE: fbgen2.c ---
/*
* linux/drivers/video/fbgen2.c -- Generic routines for frame buffer devices
*
* Created 27 June 2001 by "Crazy" James Simmons <jsi...@tr...>
*
* 2001 - Documented with DocBook
* - Brad Douglas <br...@ne...>
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive
* for more details.
*/
#include <linux/module.h>
#include <linux/string.h>
#include <linux/tty.h>
#include <linux/fb.h>
#include <linux/malloc.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <video/fbcon.h>
/**
* fbgen_set_disp - set generic display
* @con: virtual console number
* @info: generic frame buffer info structure
*
* Sets a display on virtual console @con for device @info.
*
*/
void fbgen2_set_disp(int con, struct fb_info *info)
{
struct display *display;
if (con >= 0)
display = &fb_display[con];
else
display = info->disp; /* used during initialization */
display->screen_base = info->screen_base;
display->var = info->var;
display->visual = info->fix.visual;
display->type = info->fix.type;
display->type_aux = info->fix.type_aux;
display->ypanstep = info->fix.ypanstep;
display->ywrapstep = info->fix.ywrapstep;
display->line_length = info->fix.line_length;
if (info->blank || info->fix.visual == FB_VISUAL_PSEUDOCOLOR ||
info->fix.visual == FB_VISUAL_DIRECTCOLOR)
display->can_soft_blank = 1;
else
display->can_soft_blank = 0;
#if 0 /* FIXME: generic inverse is not supported yet */
display->inverse = (info->fix.visual==FB_VISUAL_MONO01 ? !inverse : inverse);
#else
display->inverse = info->fix.visual == FB_VISUAL_MONO01;
#endif
switch (info->var.bits_per_pixel) {
#ifdef FBCON_HAS_CFB4
case 4:
display->dispsw = &fbcon_cfb4;
break;
#endif
#ifdef FBCON_HAS_CFB8
case 8:
display->dispsw = &fbcon_cfb8;
break;
#endif
#ifdef FBCON_HAS_CFB16
case 12:
case 16:
display->dispsw = &fbcon_cfb16;
display->dispsw_data = info->pseudo_palette;
break;
#endif
#ifdef FBCON_HAS_CFB32
case 32:
display->dispsw = &fbcon_cfb32;
display->dispsw_data = info->pseudo_palette;
break;
#endif
default:
display->dispsw = &fbcon_dummy;
break;
}
}
/* ---- `Generic' versions of the frame buffer device operations ----------- */
/**
* fbgen_get_fix - get fixed part of display
* @fix: fb_fix_screeninfo structure
* @con: virtual console number
* @info: frame buffer info structure
*
* Get the fixed information part of the display and place it
* into @fix for virtual console @con on device @info.
*
* Returns negative errno on error, or zero on success.
*
*/
int fbgen_get_fix(struct fb_fix_screeninfo *fix, int con, struct fb_info *info)
{
*fix = info->fix;
return 0;
}
/**
* fbgen_get_var - get user defined part of display
* @var: fb_var_screeninfo structure
* @con: virtual console number
* @info: frame buffer info structure
*
* Get the user defined part of the display and place it into @var
* for virtual console @con on device @info.
*
* Returns negative errno on error, or zero for success.
*
*/
int fbgen_get_var(struct fb_var_screeninfo *var, int con, struct fb_info *info)
{
if (con == info->currcon)
var = &info->var;
else
var = &fb_display[con].var;
return 0;
}
/**
* fbgen_set_var - set the user defined part of display
* @var: fb_var_screeninfo user defined part of the display
* @con: virtual console number
* @info: frame buffer info structure
*
* Set the user defined part of the display as dictated by @var
* for virtual console @con on device @info.
*
* Returns negative errno on error, or zero for success.
*
*/
int fbgen_set_var(struct fb_var_screeninfo *var, int con, struct fb_info *info)
{
struct fb_bitfield oldred, oldgreen, oldblue, oldalpha;
int oldbpp, err;
if (memcmp(&info->var, var, sizeof(var)) || con < 0) {
if ((err = info->fbops->fb_check_var(var, info)))
return err;
if (var->activate & FB_ACTIVATE_ALL)
info->disp->var = *var;
if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) {
oldbpp = info->var.bits_per_pixel;
oldred = info->var.red;
oldblue = info->var.blue;
oldgreen = info->var.green;
oldalpha = info->var.transp;
if (info->fbops->fb_set_par)
info->fbops->fb_set_par(info);
info->var = *var;
fbgen2_set_disp(con, info);
if (info->changevar)
(*info->changevar)(con);
if (oldbpp != var->bits_per_pixel ||
memcmp(&oldred,&info->var.red,sizeof(oldred)) ||
memcmp(&oldgreen,&info->var.green,sizeof(oldgreen)) ||
memcmp(&oldblue, &info->var.blue, sizeof(oldblue)) ||
memcmp(&oldalpha,&info->var.transp,sizeof(oldalpha))){
if ((err = fb_alloc_cmap(&info->cmap, 0, 0)))
return err;
fb_set_cmap(&info->cmap, 1,
info->fbops->fb_setcolreg, info);
}
}
var->activate = 0;
}
return 0;
}
/**
* fbgen_get_cmap - get the colormap
* @cmap: frame buffer colormap structure
* @kspc: boolean, 0 copy local, 1 put_user() function
* @con: virtual console number
* @info: frame buffer info structure
*
* Gets the colormap for virtual console @con and places it into
* @cmap for device @info.
*
* Returns negative errno on error, or zero for success.
*
*/
int fbgen_get_cmap(struct fb_cmap *cmap, int kspc, int con,
struct fb_info *info)
{
struct fb_cmap *dcmap;
if (con == info->currcon)
dcmap = &info->cmap;
else
dcmap = &fb_display[con].cmap;
fb_copy_cmap(dcmap, cmap, kspc ? 0 : 2);
return 0;
}
/**
* fbgen_set_cmap - set the colormap
* @cmap: frame buffer colormap structure
* @kspc: boolean, 0 copy local, 1 get_user() function
* @con: virtual console number
* @info: frame buffer info structure
*
* Sets the colormap @cmap for virtual console @con on
* device @info.
*
* Returns negative errno on error, or zero for success.
*
*/
int fbgen_set_cmap(struct fb_cmap *cmap, int kspc, int con,
struct fb_info *info)
{
struct fb_cmap *dcmap;
int err = 0;
if (con == info->currcon)
dcmap = &info->cmap;
else
dcmap = &fb_display[con].cmap;
/* no colormap allocated? */
if (!dcmap->len)
err = fb_alloc_cmap(dcmap, 256, 0);
if (!err && con == info->currcon)
err = fb_set_cmap(cmap, kspc, info->fbops->fb_setcolreg, info);
if (!err)
fb_copy_cmap(cmap, dcmap, kspc ? 0 : 1);
return err;
}
/**
* fbgen_update_var - update user defined part of display
* @con: virtual console number
* @info: frame buffer info structure
*
* Updates the user defined part of the display ('var'
* structure) on virtual console @con for device @info.
* This function is called by fbcon.c.
*
* Returns negative errno on error, or zero for success.
*
*/
int fbgen_update_var(int con, struct fb_info *info)
{
int err = 0;
if (info->fbops->fb_pan_display)
err = info->fbops->fb_pan_display(&fb_display[con].var,con,info);
return err;
}
/**
* fbgen_switch - switch to a different virtual console.
* @con: virtual console number
* @info: frame buffer info structure
*
* Switch to virtuall console @con on device @info.
*
* Returns zero.
*
*/
int fbgen_switch(int con, struct fb_info *info)
{
struct display *disp;
struct fb_cmap *cmap;
if (con == info->currcon)
return 0;
if (info->currcon >= 0) {
disp = fb_display + info->currcon;
/*
* Save the old colormap and video mode.
*/
disp->var = info->var;
if (disp->cmap.len)
fb_copy_cmap(&info->cmap, &disp->cmap, 0);
}
info->currcon = con;
disp = fb_display + con;
if (disp->cmap.len)
cmap = &disp->cmap;
else
cmap = fb_default_cmap(1 << disp->var.bits_per_pixel);
fb_copy_cmap(cmap, &info->cmap, 0);
info->var = disp->var;
info->var.activate = FB_ACTIVATE_NOW;
fbgen_set_var(&info->var, con, info);
return 0;
}
|
|
From: Vojtech P. <vo...@us...> - 2001-11-07 19:02:58
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv32008 Modified Files: hid-core.c Log Message: Fix physical maximum as well. Index: hid-core.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/hid-core.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- hid-core.c 2001/11/07 08:12:49 1.32 +++ hid-core.c 2001/11/07 19:02:56 1.33 @@ -321,7 +321,10 @@ return 0; case HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM: - parser->global.physical_maximum = item_sdata(item); + if (parser->global.physical_minimum < 0) + parser->global.physical_maximum = item_sdata(item); + else + parser->global.physical_maximum = item_udata(item); return 0; case HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT: |
|
From: Romain D. <do...@us...> - 2001-11-07 10:19:23
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv17865
Modified Files:
fbcon.c
Log Message:
fix to 'fbcon_setup'
Index: fbcon.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbcon.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- fbcon.c 2001/10/29 00:11:00 1.56
+++ fbcon.c 2001/11/07 10:19:20 1.57
@@ -166,12 +166,14 @@
static int __init fbcon_setup(char *options)
{
+ char *this_opt;
if (!options || !*options)
return 0;
while (this_opt = strsep(&options, ",")) {
- if (!strncmp(options, "font:", 5))
- strcpy(fontname, options+5);
+ if (!strncmp(this_opt, "font:", 5))
+ strcpy(fontname, this_opt+5);
+ }
return 0;
}
|
|
From: Romain D. <do...@us...> - 2001-11-07 09:52:29
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv9911 Modified Files: Makefile Log Message: comment 'ssi' from drivers/Makefile, directory doesn't exist in regular 2.4.13 ; also typo (subdif <-> subdir) Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- Makefile 2001/11/07 09:47:01 1.21 +++ Makefile 2001/11/07 09:52:26 1.22 @@ -47,7 +47,7 @@ subdir-$(CONFIG_ACPI) += acpi subdir-$(CONFIG_BLUEZ) += bluetooth -subdif-$(CONFIG_SSI) += ssi +# subdir-$(CONFIG_SSI) += ssi include $(TOPDIR)/Rules.make |
|
From: Romain D. <do...@us...> - 2001-11-07 09:47:04
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv8488 Modified Files: Makefile Log Message: put back 'l3' in mod-subdirs Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Makefile 2001/11/07 09:41:50 1.20 +++ Makefile 2001/11/07 09:47:01 1.21 @@ -8,7 +8,7 @@ mod-subdirs := dio mtd sbus macintosh usb input telephony sgi ide \ message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ - fc4 net/hamradio i2c acpi bluetooth serial # l3 + fc4 net/hamradio i2c l3 acpi bluetooth serial subdir-y := parport char block net sound misc media cdrom video # hotplug subdir-m := $(subdir-y) |
|
From: Romain D. <do...@us...> - 2001-11-07 09:41:52
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv6886 Modified Files: Makefile Log Message: comment 'l3' from drivers/Makefile, directory doesn't exist in regular 2.4.13 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- Makefile 2001/11/07 09:35:32 1.19 +++ Makefile 2001/11/07 09:41:50 1.20 @@ -43,7 +43,7 @@ # CONFIG_HAMRADIO can be set without CONFIG_NETDEVICE being set -- ch subdir-$(CONFIG_HAMRADIO) += net/hamradio subdir-$(CONFIG_I2C) += i2c -subdir-$(CONFIG_L3) += l3 +# subdir-$(CONFIG_L3) += l3 subdir-$(CONFIG_ACPI) += acpi subdir-$(CONFIG_BLUEZ) += bluetooth |
|
From: Romain D. <do...@us...> - 2001-11-07 09:35:35
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv5089 Modified Files: Makefile Log Message: comment 'l3' from drivers/Makefile, directory doesn't exist in regular 2.4.13 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- Makefile 2001/11/07 09:32:59 1.18 +++ Makefile 2001/11/07 09:35:32 1.19 @@ -8,7 +8,7 @@ mod-subdirs := dio mtd sbus macintosh usb input telephony sgi ide \ message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ - fc4 net/hamradio i2c l3 acpi bluetooth serial + fc4 net/hamradio i2c acpi bluetooth serial # l3 subdir-y := parport char block net sound misc media cdrom video # hotplug subdir-m := $(subdir-y) |
|
From: Romain D. <do...@us...> - 2001-11-07 09:33:02
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv4112 Modified Files: Makefile Log Message: comment 'hotplug' from drivers/Makefile, directory doesn't exist in regular 2.4.13 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- Makefile 2001/11/02 00:57:43 1.17 +++ Makefile 2001/11/07 09:32:59 1.18 @@ -10,7 +10,7 @@ message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ fc4 net/hamradio i2c l3 acpi bluetooth serial -subdir-y := parport char block net sound misc media cdrom video hotplug +subdir-y := parport char block net sound misc media cdrom video # hotplug subdir-m := $(subdir-y) |
|
From: Vojtech P. <vo...@us...> - 2001-11-07 09:01:20
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input
In directory usw-pr-cvs1:/tmp/cvs-serv23311
Modified Files:
hid-input.c
Log Message:
Better hat fix.
Index: hid-input.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/hid-input.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- hid-input.c 2001/11/07 08:12:49 1.17
+++ hid-input.c 2001/11/07 09:01:18 1.18
@@ -58,7 +58,7 @@
static struct {
__s32 x;
__s32 y;
-} hid_hat_to_axis[] = {{ 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}};
+} hid_hat_to_axis[] = {{ 0, 0}, { 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}};
static void hidinput_configure_usage(struct hid_device *device, struct hid_field *field, struct hid_usage *usage)
{
@@ -337,8 +337,8 @@
int *quirks = &hid->quirks;
if (usage->hat_min != usage->hat_max) {
- value = (value - usage->hat_min) * 8 / (usage->hat_max - usage->hat_min + 1);
- if (value > 8) value = 8;
+ value = (value - usage->hat_min) * 8 / (usage->hat_max - usage->hat_min + 1) + 1;
+ if (value < 0 || value > 8) value = 0;
input_event(input, usage->type, usage->code , hid_hat_to_axis[value].x);
input_event(input, usage->type, usage->code + 1, hid_hat_to_axis[value].y);
return;
|