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...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/ppc64/kernel Modified Files: chrp_setup.c iSeries_setup.c setup.c Log Message: Synced to 2.5.22 Index: chrp_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/chrp_setup.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- chrp_setup.c 3 May 2002 22:16:46 -0000 1.3 +++ chrp_setup.c 18 Jun 2002 18:51:54 -0000 1.4 @@ -42,6 +42,7 @@ #include <linux/irq.h> #include <linux/seq_file.h> +#include <linux/root_dev.h> #include <asm/mmu.h> #include <asm/processor.h> @@ -139,10 +140,10 @@ initrd_below_start_ok = 1; if (initrd_start) - ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 0); + ROOT_DEV = Root_RAM0; else #endif - ROOT_DEV = to_kdev_t(0x0802); /* sda2 (sda1 is for the kernel) */ + ROOT_DEV = Root_SDA2; printk("Boot arguments: %s\n", cmd_line); Index: iSeries_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/iSeries_setup.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- iSeries_setup.c 3 May 2002 22:16:46 -0000 1.3 +++ iSeries_setup.c 18 Jun 2002 18:51:54 -0000 1.4 @@ -27,6 +27,7 @@ #include <linux/bootmem.h> #include <linux/blk.h> #include <linux/seq_file.h> +#include <linux/root_dev.h> #include <asm/processor.h> #include <asm/machdep.h> @@ -295,7 +296,7 @@ initrd_start = (unsigned long)__va(naca->xRamDisk); initrd_end = initrd_start + naca->xRamDiskSize * PAGE_SIZE; initrd_below_start_ok = 1; // ramdisk in kernel space - ROOT_DEV = mk_kdev( RAMDISK_MAJOR, 0 ); + ROOT_DEV = Root_RAM0; if ( ((rd_size*1024)/PAGE_SIZE) < naca->xRamDiskSize ) rd_size = (naca->xRamDiskSize*PAGE_SIZE)/1024; @@ -304,7 +305,7 @@ #endif /* CONFIG_BLK_DEV_INITRD */ { - /* ROOT_DEV = mk_kdev( VIODASD_MAJOR, 1 ); */ + /* ROOT_DEV = MKDEV( VIODASD_MAJOR, 1 ); */ } iSeries_recal_tb = get_tb(); Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/setup.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- setup.c 4 Jun 2002 19:45:08 -0000 1.5 +++ setup.c 18 Jun 2002 18:51:54 -0000 1.6 @@ -22,6 +22,7 @@ #include <linux/seq_file.h> #include <linux/ioport.h> #include <linux/tty.h> +#include <linux/root_dev.h> #include <asm/init.h> #include <asm/io.h> #include <asm/prom.h> @@ -372,7 +373,7 @@ if ((initrd_start == 0) && r3 && r4 && r4 != 0xdeadbeef) { initrd_start = (r3 >= KERNELBASE) ? r3 : (unsigned long)__va(r3); initrd_end = initrd_start + r4; - ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 0); + ROOT_DEV = Root_RAM0; initrd_below_start_ok = 1; } #endif @@ -463,7 +464,7 @@ case BI_INITRD: initrd_start = (unsigned long)__va(rec->data[0]); initrd_end = initrd_start + rec->data[1]; - ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 0); + ROOT_DEV = Root_RAM0; initrd_below_start_ok = 1; break; #endif /* CONFIG_BLK_DEV_INITRD */ |
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32 In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/x86_64/ia32 Modified Files: ia32_ioctl.c Log Message: Synced to 2.5.22 Index: ia32_ioctl.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32/ia32_ioctl.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ia32_ioctl.c 16 May 2002 18:01:38 -0000 1.6 +++ ia32_ioctl.c 18 Jun 2002 18:51:54 -0000 1.7 @@ -113,6 +113,7 @@ return err; } +#if 0 static int rw_long(unsigned int fd, unsigned int cmd, unsigned long arg) { mm_segment_t old_fs = get_fs(); @@ -128,6 +129,7 @@ return -EFAULT; return err; } +#endif static int do_ext2_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) { @@ -2976,11 +2978,6 @@ return err; } -static int ioc_settimeout(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - return rw_long(fd, AUTOFS_IOC_SETTIMEOUT, arg); -} - /* SuSE extension */ #ifndef TIOCGDEV #define TIOCGDEV _IOR('T',0x32, unsigned int) @@ -3092,19 +3089,13 @@ return err; } -struct ioctl_trans { - unsigned long cmd; - int (*handler)(unsigned int, unsigned int, unsigned long, struct file * filp); - struct ioctl_trans *next; -}; - -/* generic function to change a single long put_user to arg to 32bit */ -static int arg2long(unsigned int fd, unsigned int cmd, unsigned long arg) +static int generic_long_put(unsigned int fd, unsigned int cmd, unsigned long arg) { int ret; unsigned long val = 0; mm_segment_t oldseg = get_fs(); set_fs(KERNEL_DS); + cmd = (cmd & 0xc000ffff) | (sizeof(unsigned long) << _IOC_SIZESHIFT); ret = sys_ioctl(fd, cmd, (unsigned long)&val); set_fs(oldseg); if (!ret || val) { @@ -3114,6 +3105,29 @@ return ret; } +static int generic_long_get(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + int ret; + unsigned int ival; + unsigned long val = 0; + mm_segment_t oldseg = get_fs(); + if (get_user(ival, (unsigned int *)arg)) + return -EFAULT; + val = ival; + set_fs(KERNEL_DS); + cmd = (cmd & 0xc000ffff) | (sizeof(unsigned long) << _IOC_SIZESHIFT); + ret = sys_ioctl(fd, cmd, (unsigned long)&val); + set_fs(oldseg); + return ret; +} + + +struct ioctl_trans { + unsigned long cmd; + int (*handler)(unsigned int, unsigned int, unsigned long, struct file * filp); + struct ioctl_trans *next; +}; + #define REF_SYMBOL(handler) if (0) (void)handler; #define HANDLE_IOCTL2(cmd,handler) REF_SYMBOL(handler); asm volatile(".quad %c0, " #handler ",0"::"i" (cmd)); #define HANDLE_IOCTL(cmd,handler) HANDLE_IOCTL2(cmd,handler) @@ -3321,10 +3335,6 @@ COMPATIBLE_IOCTL(_IOR('v' , BASE_VIDIOCPRIVATE+6, int)) COMPATIBLE_IOCTL(_IOR('v' , BASE_VIDIOCPRIVATE+7, int)) /* Little p (/dev/rtc, /dev/envctrl, etc.) */ -#if 0 -COMPATIBLE_IOCTL(_IOR('p', 20, int[7])) /* RTCGET */ -COMPATIBLE_IOCTL(_IOW('p', 21, int[7])) /* RTCSET */ -#endif COMPATIBLE_IOCTL(RTC_AIE_ON) COMPATIBLE_IOCTL(RTC_AIE_OFF) COMPATIBLE_IOCTL(RTC_UIE_ON) @@ -3339,10 +3349,14 @@ COMPATIBLE_IOCTL(RTC_SET_TIME) COMPATIBLE_IOCTL(RTC_WKALM_SET) COMPATIBLE_IOCTL(RTC_WKALM_RD) -HANDLE_IOCTL(RTC_IRQP_READ,arg2long) -COMPATIBLE_IOCTL(RTC_IRQP_SET) -COMPATIBLE_IOCTL(RTC_EPOCH_READ) -COMPATIBLE_IOCTL(RTC_EPOCH_SET) +#define RTC_IRQP_READ32 _IOR('p', 0x0b, unsigned int) /* Read IRQ rate */ +HANDLE_IOCTL(RTC_IRQP_READ32,generic_long_put) +#define RTC_IRQP_SET32 _IOW('p', 0x0c, unsigned int) /* Set IRQ rate */ +HANDLE_IOCTL(RTC_IRQP_SET32,generic_long_get) +#define RTC_EPOCH_READ32 _IOR('p', 0x0d, unsigned long) /* Read epoch */ +#define RTC_EPOCH_SET32 _IOW('p', 0x0e, unsigned long) /* Set epoch */ +HANDLE_IOCTL(RTC_EPOCH_READ32, generic_long_put) +HANDLE_IOCTL(RTC_EPOCH_SET32, generic_long_get) /* Little m */ COMPATIBLE_IOCTL(MTIOCTOP) /* Socket level stuff */ @@ -3610,6 +3624,8 @@ COMPATIBLE_IOCTL(AUTOFS_IOC_CATATONIC) COMPATIBLE_IOCTL(AUTOFS_IOC_PROTOVER) COMPATIBLE_IOCTL(AUTOFS_IOC_EXPIRE) +#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93,0x64,unsigned int) +HANDLE_IOCTL(AUTOFS_IOC_SETTIMEOUT32, generic_long_get); /* DEVFS */ COMPATIBLE_IOCTL(DEVFSDIOC_GET_PROTO_REV) COMPATIBLE_IOCTL(DEVFSDIOC_SET_EVENT_MASK) @@ -3676,14 +3692,6 @@ COMPATIBLE_IOCTL(DRM_IOCTL_UNLOCK) COMPATIBLE_IOCTL(DRM_IOCTL_FINISH) #endif /* DRM */ -#ifdef CONFIG_AUTOFS_FS -COMPATIBLE_IOCTL(AUTOFS_IOC_READY); -COMPATIBLE_IOCTL(AUTOFS_IOC_FAIL); -COMPATIBLE_IOCTL(AUTOFS_IOC_CATATONIC); -COMPATIBLE_IOCTL(AUTOFS_IOC_PROTOVER); -COMPATIBLE_IOCTL(AUTOFS_IOC_SETTIMEOUT); -COMPATIBLE_IOCTL(AUTOFS_IOC_EXPIRE); -#endif COMPATIBLE_IOCTL(REISERFS_IOC_UNPACK); /* serial driver */ HANDLE_IOCTL(TIOCGSERIAL, serial_struct_ioctl); @@ -3776,8 +3784,6 @@ HANDLE_IOCTL(CDROM_SEND_PACKET, cdrom_ioctl_trans) HANDLE_IOCTL(LOOP_SET_STATUS, loop_status) HANDLE_IOCTL(LOOP_GET_STATUS, loop_status) -#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93,0x64,unsigned int) -HANDLE_IOCTL(AUTOFS_IOC_SETTIMEOUT32, ioc_settimeout) HANDLE_IOCTL(PIO_FONTX, do_fontx_ioctl) HANDLE_IOCTL(GIO_FONTX, do_fontx_ioctl) HANDLE_IOCTL(PIO_UNIMAP, do_unimap_ioctl) |
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/arm/kernel Modified Files: setup.c Log Message: Synced to 2.5.22 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- setup.c 4 Jun 2002 19:45:04 -0000 1.13 +++ setup.c 18 Jun 2002 18:51:54 -0000 1.14 @@ -18,6 +18,7 @@ #include <linux/seq_file.h> #include <linux/tty.h> #include <linux/init.h> +#include <linux/root_dev.h> #include <asm/elf.h> #include <asm/hardware.h> @@ -436,7 +437,7 @@ if (tag->hdr.size > 2) { if ((tag->u.core.flags & 1) == 0) root_mountflags &= ~MS_RDONLY; - ROOT_DEV = to_kdev_t(tag->u.core.rootdev); + ROOT_DEV = tag->u.core.rootdev; } return 0; } |
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux Modified Files: Makefile Log Message: Synced to 2.5.22 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.63 retrieving revision 1.64 diff -u -d -r1.63 -r1.64 --- Makefile 15 Jun 2002 19:17:07 -0000 1.63 +++ Makefile 18 Jun 2002 18:51:54 -0000 1.64 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 21 +SUBLEVEL = 22 EXTRAVERSION = -ruby # We are using a recursive build, so we need to do a little thinking @@ -122,7 +122,9 @@ noconfig_targets := xconfig menuconfig config oldconfig randconfig \ defconfig allyesconfig allnoconfig allmodconfig \ - clean mrproper distclean + clean mrproper distclean \ + tags TAGS sgmldocs psdocs pdfdocs htmldocs \ + checkconfig checkhelp checkincludes ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) @@ -222,10 +224,10 @@ define rule_link_vmlinux set -e - echo Generating build number + echo ' Generating build number' . scripts/mkversion > .tmpversion mv -f .tmpversion .version - $(MAKE) -C init + +$(MAKE) -C init $(call cmd,cmd_link_vmlinux) $(cmd_link_vmlinux) echo 'cmd_$@ := $(cmd_link_vmlinux)' > $(@D)/.$(@F).cmd @@ -243,14 +245,14 @@ # Handle descending into subdirectories listed in $(SUBDIRS) .PHONY: $(SUBDIRS) -$(SUBDIRS): .hdepend prepare include/config/MARKER +$(SUBDIRS): .hdepend prepare @$(MAKE) -C $@ # Things we need done before we descend to build or make # module versions are listed in "prepare" .PHONY: prepare -prepare: include/linux/version.h include/asm +prepare: include/linux/version.h include/asm include/config/MARKER # Single targets # --------------------------------------------------------------------------- @@ -273,13 +275,13 @@ # before switching between archs anyway. include/asm: - @echo 'Making asm->asm-$(ARCH) symlink' + @echo ' Making asm->asm-$(ARCH) symlink' @ln -s asm-$(ARCH) $@ # Split autoconf.h into include/linux/config/* include/config/MARKER: scripts/split-include include/linux/autoconf.h - @echo 'Splitting include/linux/autoconf.h -> include/config' + @echo ' SPLIT include/linux/autoconf.h -> include/config/*' @scripts/split-include include/linux/autoconf.h include/config @touch $@ @@ -306,7 +308,7 @@ echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \ exit 1; \ fi; - @echo -n 'Generating $@' + @echo -n ' Generating $@' @(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \ echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \ @@ -349,11 +351,11 @@ include/linux/modversions.h: scripts/fixdep prepare FORCE @rm -rf .tmp_export-objs @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) - @echo -n 'Generating $@' + @echo -n ' Generating $@' @( echo "#ifndef _LINUX_MODVERSIONS_H";\ echo "#define _LINUX_MODVERSIONS_H"; \ echo "#include <linux/modsetver.h>"; \ - for f in `cd .tmp_export-objs; find modules -name \*.ver -print`; do \ + for f in `cd .tmp_export-objs; find modules -name \*.ver -print | sort`; do \ echo "#include <linux/$${f}>"; \ done; \ echo "#endif"; \ @@ -431,44 +433,9 @@ endif # CONFIG_MODULES -# Scripts to check various things for consistency -# --------------------------------------------------------------------------- - -checkconfig: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl - -checkhelp: - find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl - -checkincludes: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl - -# Generate tags for editors -# --------------------------------------------------------------------------- - -TAGS: FORCE - { find include/asm-${ARCH} -name '*.h' -print ; \ - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ - find $(SUBDIRS) init arch/${ARCH} -name '*.[chS]' ; } | grep -v SCCS | etags - - -# Exuberant ctags works better with -I -tags: FORCE - CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ - ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ - find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a - -# Assorted miscellaneous targets +# RPM target # --------------------------------------------------------------------------- -# Documentation targets - -sgmldocs psdocs pdfdocs htmldocs: - @$(MAKE) -C Documentation/DocBook $@ - - -# RPM target -# # If you do a make spec before packing the tarball you can rpm -ta it spec: @@ -574,9 +541,8 @@ # files removed with 'make clean' CLEAN_FILES += \ - kernel/ksyms.lst include/linux/compile.h \ + include/linux/compile.h \ vmlinux System.map \ - .tmp* \ drivers/char/consolemap_deftbl.c drivers/video/promcon_tbl.c \ drivers/char/conmakehash \ drivers/char/drm/*-mod.c \ @@ -616,9 +582,11 @@ .hdepend scripts/split-include scripts/docproc \ scripts/fixdep $(TOPDIR)/include/linux/modversions.h \ tags TAGS kernel.spec \ + .tmpversion # directories removed with 'make mrproper' MRPROPER_DIRS += \ + .tmp_export-objs \ include/config \ $(TOPDIR)/include/linux/modules @@ -631,7 +599,7 @@ @find . \( -name \*.[oas] -o -name core -o -name .\*.cmd -o \ -name .\*.tmp -o -name .\*.d \) -type f -print \ | grep -v lxdialog/ | xargs rm -f - @rm -rf $(CLEAN_FILES) + @rm -f $(CLEAN_FILES) @$(MAKE) -C Documentation/DocBook clean mrproper: clean archmrproper @@ -649,7 +617,41 @@ -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f \ -print | xargs rm -f +# Generate tags for editors +# --------------------------------------------------------------------------- + +TAGS: FORCE + { find include/asm-${ARCH} -name '*.h' -print ; \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ + find $(SUBDIRS) init arch/${ARCH} -name '*.[chS]' ; } | grep -v SCCS | etags - + +# Exuberant ctags works better with -I +tags: FORCE + CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ + ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ + find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a + +# Documentation targets +# --------------------------------------------------------------------------- + +sgmldocs psdocs pdfdocs htmldocs: + @$(MAKE) -C Documentation/DocBook $@ + + endif # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) + +# Scripts to check various things for consistency +# --------------------------------------------------------------------------- + +checkconfig: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl + +checkhelp: + find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl + +checkincludes: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl # FIXME Should go into a make.lib or something # =========================================================================== |
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/alpha/kernel Modified Files: setup.c Log Message: Synced to 2.5.22 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel/setup.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- setup.c 16 Apr 2002 17:41:46 -0000 1.9 +++ setup.c 18 Jun 2002 18:51:54 -0000 1.10 @@ -31,6 +31,7 @@ #include <linux/bootmem.h> #include <linux/pci.h> #include <linux/seq_file.h> +#include <linux/root_dev.h> #ifdef CONFIG_BLK_DEV_INITRD #include <linux/blk.h> @@ -593,7 +594,7 @@ reserve_std_resources(); /* Default root filesystem to sda2. */ - ROOT_DEV = to_kdev_t(0x0802); + ROOT_DEV = Root_SDA2; /* * Check ASN in HWRPB for validity, report if bad. |
From: James S. <jsi...@us...> - 2002-06-18 18:51:56
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv13236 Added Files: AGAINST-2.5.22 Removed Files: AGAINST-2.5.21 Log Message: Synced to 2.5.22 --- NEW FILE: AGAINST-2.5.22 --- --- AGAINST-2.5.21 DELETED --- |
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux Modified Files: Makefile Log Message: Synced to 2.5.21 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- Makefile 4 Jun 2002 19:45:03 -0000 1.62 +++ Makefile 15 Jun 2002 19:17:07 -0000 1.63 @@ -1,8 +1,8 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 20 +SUBLEVEL = 21 EXTRAVERSION = -ruby - + # We are using a recursive build, so we need to do a little thinking # to get the ordering right. # @@ -37,6 +37,56 @@ CROSS_COMPILE = +# That's our default target when none is given on the command line + +all: vmlinux + +# Print entire command lines instead of short version +# For now, leave the default + +ifndef KBUILD_VERBOSE + KBUILD_VERBOSE = 1 +endif + +# Decide whether to build built-in, modular, or both + +KBUILD_MODULES := 1 +KBUILD_BUILTIN := 1 + +export KBUILD_MODULES KBUILD_BUILTIN + +# Beautify output +# --------------------------------------------------------------------------- +# +# Normally, we echo the whole command before executing it. By making +# that echo $($(quiet)$(cmd)), we now have the possibility to set +# $(quiet) to choose other forms of output instead, e.g. +# +# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@ +# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< +# +# If $(quiet) is empty, the whole command will be printed. +# If it is set to "quiet_", only the short version will be printed. +# If it is set to "silent_", nothing wil be printed at all, since +# the variable $(silent_cmd_cc_o_c) doesn't exist. + +# If the user wants quiet mode, echo short versions of the commands +# only and suppress the 'Entering/Leaving directory' messages + +ifneq ($(KBUILD_VERBOSE),1) + quiet=quiet_ + MAKEFLAGS += --no-print-directory +endif + +# If the user is running make -s (silent mode), suppress echoing of +# commands + +ifneq ($(findstring s,$(MAKEFLAGS)),) + quiet=silent_ +endif + +export quiet + # # Include the make variables (CC, etc...) # @@ -56,33 +106,46 @@ PERL = perl MODFLAGS = -DMODULE CFLAGS_MODULE = $(MODFLAGS) -AFLAGS_MODULE = +AFLAGS_MODULE = $(MODFLAGS) CFLAGS_KERNEL = AFLAGS_KERNEL = EXPORT_FLAGS = +NOSTDINC_FLAGS = -nostdinc -iwithprefix include export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \ CONFIG_SHELL TOPDIR HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS PERL -export CPPFLAGS EXPORT_FLAGS +export CPPFLAGS EXPORT_FLAGS NOSTDINC_FLAGS export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE -all: do-it-all +noconfig_targets := xconfig menuconfig config oldconfig randconfig \ + defconfig allyesconfig allnoconfig allmodconfig \ + clean mrproper distclean +ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) + +# Here goes the main Makefile +# =========================================================================== # -# Make "config" the default target if there is no configuration file or -# "depend" the target if there is no top-level dependency information. -# +# If the user gave a *config target, it'll be handled in another +# section below, since in this case we cannot include .config +# Same goes for other targets like clean/mrproper etc, which +# don't need .config, either -ifeq (.config,$(wildcard .config)) -include .config -do-it-all: vmlinux -else -CONFIGURATION = config -do-it-all: config -endif +# In this section, we need .config + +-include .config + +# If .config doesn't exist - tough luck + +.config: + @echo '***' + @echo '*** You have not yet configured your kernel!' + @echo '*** Please run "make xconfig/menuconfig/config/oldconfig"' + @echo '***' + @exit 1 # # INSTALL_PATH specifies where to place the updated kernel and system map @@ -114,18 +177,14 @@ EXPORT_FLAGS := -DEXPORT_SYMTAB endif -INIT =init/init.o -CORE_FILES =kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o -NETWORKS =net/network.o - -LIBS =$(TOPDIR)/lib/lib.a -SUBDIRS =init kernel lib drivers mm fs net ipc sound - -DRIVERS-y = drivers/built-in.o -DRIVERS-$(CONFIG_SOUND) += sound/sound.o - -DRIVERS := $(DRIVERS-y) - +# Link components for vmlinux +# --------------------------------------------------------------------------- +SUBDIRS := init kernel mm fs ipc lib drivers sound net +INIT := init/init.o +CORE_FILES := kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o +LIBS := lib/lib.a +DRIVERS := drivers/built-in.o sound/sound.o +NETWORKS := net/network.o include arch/$(ARCH)/Makefile @@ -149,6 +208,7 @@ vmlinux-objs := $(HEAD) $(INIT) $(CORE_FILES) $(LIBS) $(DRIVERS) $(NETWORKS) +quiet_cmd_link_vmlinux = LD $@ cmd_link_vmlinux = $(LD) $(LINKFLAGS) $(HEAD) $(INIT) \ --start-group \ $(CORE_FILES) \ @@ -166,13 +226,13 @@ . scripts/mkversion > .tmpversion mv -f .tmpversion .version $(MAKE) -C init - echo $(cmd_link_vmlinux) + $(call cmd,cmd_link_vmlinux) $(cmd_link_vmlinux) echo 'cmd_$@ := $(cmd_link_vmlinux)' > $(@D)/.$(@F).cmd $(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map endef -vmlinux: $(CONFIGURATION) $(vmlinux-objs) FORCE +vmlinux: $(vmlinux-objs) FORCE $(call if_changed_rule,link_vmlinux) # The actual objects are generated when descending, @@ -183,15 +243,14 @@ # Handle descending into subdirectories listed in $(SUBDIRS) .PHONY: $(SUBDIRS) -$(SUBDIRS): prepare +$(SUBDIRS): .hdepend prepare include/config/MARKER @$(MAKE) -C $@ -# Things we need done before we even start the actual build. -# The dependency on .hdepend will in turn take care of -# include/asm, include/linux/version etc. +# Things we need done before we descend to build or make +# module versions are listed in "prepare" .PHONY: prepare -prepare: .hdepend include/config/MARKER +prepare: include/linux/version.h include/asm # Single targets # --------------------------------------------------------------------------- @@ -202,6 +261,8 @@ @$(MAKE) -C $(@D) $(@F) %.o: %.c FORCE @$(MAKE) -C $(@D) $(@F) +%.lst: %.c FORCE + @$(MAKE) -C $(@D) $(@F) %.s: %.S FORCE @$(MAKE) -C $(@D) $(@F) %.o: %.S FORCE @@ -214,14 +275,23 @@ include/asm: @echo 'Making asm->asm-$(ARCH) symlink' @ln -s asm-$(ARCH) $@ - @echo 'Making directory include/linux/modules' - @mkdir include/linux/modules # Split autoconf.h into include/linux/config/* include/config/MARKER: scripts/split-include include/linux/autoconf.h - scripts/split-include include/linux/autoconf.h include/config - @ touch include/config/MARKER + @echo 'Splitting include/linux/autoconf.h -> include/config' + @scripts/split-include include/linux/autoconf.h include/config + @touch $@ + +# if .config is newer than include/linux/autoconf.h, someone tinkered +# with it and forgot to run make oldconfig + +include/linux/autoconf.h: .config + @echo '***' + @echo '*** You changed .config w/o running make *config?' + @echo '*** Please run "make oldconfig"' + @echo '***' + @exit 1 # Generate some files # --------------------------------------------------------------------------- @@ -229,64 +299,77 @@ # version.h changes when $(KERNELRELEASE) etc change, as defined in # this Makefile +uts_len := 64 + include/linux/version.h: Makefile - @echo Generating $@ - @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL) + @if expr length "$(KERNELRELEASE)" \> $(uts_len) >/dev/null ; then \ + echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \ + exit 1; \ + fi; + @echo -n 'Generating $@' + @(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \ + echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \ + echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \ + ) > $@.tmp + @$(update-if-changed) # Helpers built in scripts/ # --------------------------------------------------------------------------- -scripts/mkdep scripts/split-include : FORCE +scripts/fixdep scripts/split-include : scripts ; + +.PHONY: scripts +scripts: @$(MAKE) -C scripts -# Generate dependencies +# Generate module versions # --------------------------------------------------------------------------- -# In the same pass, generate module versions, that's why it's -# all mixed up here. +# The targets are still named depend / dep for traditional +# reasons, but the only thing we do here is generating +# the module version checksums. +# FIXME: For now, we are also calling "archdep" from here, +# which should be replaced by a more sensible solution. .PHONY: depend dep $(patsubst %,_sfdep_%,$(SUBDIRS)) depend dep: .hdepend -# .hdepend is missing prerequisites - in fact dependencies need -# to be redone basically each time anything changed - since -# that's too expensive, we traditionally rely on the user to -# run "make dep" manually whenever necessary. In this case, -# we make "FORCE" a prequisite, to force redoing the -# dependencies. Yeah, that's ugly, and it'll go away soon. +# .hdepend is our (misnomed) marker for whether we've run +# generated module versions and made archdep + +.hdepend: $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE) + @$(MAKE) archdep include/linux/modversions.h + @touch $@ -.hdepend: scripts/mkdep include/linux/version.h include/asm \ - $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE) - scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > $@ - @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) ifdef CONFIG_MODVERSIONS - @$(MAKE) include/linux/modversions.h -endif - @$(MAKE) archdep + +# Update modversions.h, but only if it would change. + +include/linux/modversions.h: scripts/fixdep prepare FORCE + @rm -rf .tmp_export-objs + @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) + @echo -n 'Generating $@' + @( echo "#ifndef _LINUX_MODVERSIONS_H";\ + echo "#define _LINUX_MODVERSIONS_H"; \ + echo "#include <linux/modsetver.h>"; \ + for f in `cd .tmp_export-objs; find modules -name \*.ver -print`; do \ + echo "#include <linux/$${f}>"; \ + done; \ + echo "#endif"; \ + ) > $@.tmp; \ + $(update-if-changed) $(patsubst %,_sfdep_%,$(SUBDIRS)): FORCE @$(MAKE) -C $(patsubst _sfdep_%, %, $@) fastdep -# Update modversions.h, but only if it would change. +else # !CONFIG_MODVERSIONS -include/linux/modversions.h: FORCE - @(echo "#ifndef _LINUX_MODVERSIONS_H";\ - echo "#define _LINUX_MODVERSIONS_H"; \ - echo "#include <linux/modsetver.h>"; \ - cd $(TOPDIR)/include/linux/modules; \ - for f in *.ver; do \ - if [ -f $$f ]; then echo "#include <linux/modules/$${f}>"; fi; \ - done; \ - echo "#endif"; \ - ) > $@.tmp - @if [ -r $@ ] && cmp -s $@ $@.tmp; then \ - echo $@ was not updated; \ - rm -f $@.tmp; \ - else \ - echo $@ was updated; \ - mv -f $@.tmp $@; \ - fi +.PHONY: include/linux/modversions.h + +include/linux/modversions.h: + +endif # CONFIG_MODVERSIONS # --------------------------------------------------------------------------- # Modules @@ -300,11 +383,8 @@ endif .PHONY: modules -modules: $(patsubst %, _mod_%, $(SUBDIRS)) - -.PHONY: $(patsubst %, _mod_%, $(SUBDIRS)) -$(patsubst %, _mod_%, $(SUBDIRS)) : include/linux/version.h include/config/MARKER - @$(MAKE) -C $(patsubst _mod_%, %, $@) modules +modules: + @$(MAKE) KBUILD_BUILTIN= $(SUBDIRS) # Install modules @@ -369,7 +449,7 @@ TAGS: FORCE { find include/asm-${ARCH} -name '*.h' -print ; \ find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ - find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags - + find $(SUBDIRS) init arch/${ARCH} -name '*.[chS]' ; } | grep -v SCCS | etags - # Exuberant ctags works better with -I tags: FORCE @@ -412,28 +492,82 @@ rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ rm $(TOPDIR)/../$(KERNELPATH).tar.gz +else # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) + # Targets which don't need .config # =========================================================================== +# +# These targets basically have their own Makefile - not quite, but at +# least its own exclusive section in the same Makefile. The reason for +# this is the following: +# To know the configuration, the main Makefile has to include +# .config. That's a obviously a problem when .config doesn't exist +# yet, but that could be kludged around with only including it if it +# exists. +# However, the larger problem is: If you run make *config, make will +# include the old .config, then execute your *config. It will then +# notice that a piece it included (.config) did change and restart from +# scratch. Which will cause execution of *config again. You get the +# picture. +# If we don't explicitly let the Makefile know that .config is changed +# by *config (the old way), it won't reread .config after *config, +# thus working with possibly stale values - we don't that either. +# +# So we divide things: This part here is for making *config targets, +# and other targets which should work when no .config exists yet. +# The main part above takes care of the rest after a .config exists. # Kernel configuration # --------------------------------------------------------------------------- -.PHONY: oldconfig xconfig menuconfig config - -oldconfig: - $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in +.PHONY: oldconfig xconfig menuconfig config \ + make_with_config xconfig: @$(MAKE) -C scripts kconfig.tk wish -f scripts/kconfig.tk menuconfig: - @$(MAKE) -C scripts/lxdialog all + @$(MAKE) -C scripts lxdialog $(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in config: $(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in +oldconfig: + $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in + +randconfig: + $(CONFIG_SHELL) scripts/Configure -r arch/$(ARCH)/config.in + +allyesconfig: + $(CONFIG_SHELL) scripts/Configure -y arch/$(ARCH)/config.in + +allnoconfig: + $(CONFIG_SHELL) scripts/Configure -n arch/$(ARCH)/config.in + +allmodconfig: + $(CONFIG_SHELL) scripts/Configure -m arch/$(ARCH)/config.in + +defconfig: + yes '' | $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in + +# How we generate .config depends on which *config the +# user chose when calling make + +.config: $(filter oldconfig xconfig menuconfig config,$(MAKECMDGOALS)) ; + +# If the user gave commands from both the need / need not +# .config sections, we need to call make again after +# .config is generated, now to take care of the remaining +# targets we know nothing about in this section + +remaining_targets := $(filter-out $(noconfig_targets),$(MAKECMDGOALS)) + +$(remaining_targets) : make_with_config + +make_with_config: .config + @$(MAKE) $(remaining_targets) # Cleaning up # --------------------------------------------------------------------------- @@ -461,10 +595,6 @@ net/khttpd/times.h \ submenu* -# directories removed with 'make clean' -CLEAN_DIRS += \ - modules - # files removed with 'make mrproper' MRPROPER_FILES += \ include/linux/autoconf.h include/linux/version.h \ @@ -483,34 +613,43 @@ scripts/lxdialog/*.o scripts/lxdialog/lxdialog \ .menuconfig.log \ include/asm \ - .hdepend scripts/mkdep scripts/split-include scripts/docproc \ - $(TOPDIR)/include/linux/modversions.h \ - kernel.spec + .hdepend scripts/split-include scripts/docproc \ + scripts/fixdep $(TOPDIR)/include/linux/modversions.h \ + tags TAGS kernel.spec \ # directories removed with 'make mrproper' MRPROPER_DIRS += \ include/config \ $(TOPDIR)/include/linux/modules +# That's our way to know about arch specific cleanup. + +include arch/$(ARCH)/Makefile clean: archclean - find . \( -name '*.[oas]' -o -name core -o -name '.*.cmd' \) -type f -print \ + @echo 'Cleaning up' + @find . \( -name \*.[oas] -o -name core -o -name .\*.cmd -o \ + -name .\*.tmp -o -name .\*.d \) -type f -print \ | grep -v lxdialog/ | xargs rm -f - rm -f $(CLEAN_FILES) - rm -rf $(CLEAN_DIRS) + @rm -rf $(CLEAN_FILES) @$(MAKE) -C Documentation/DocBook clean mrproper: clean archmrproper - find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f - rm -f $(MRPROPER_FILES) - rm -rf $(MRPROPER_DIRS) + @echo 'Making mrproper' + @find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f + @rm -f $(MRPROPER_FILES) + @rm -rf $(MRPROPER_DIRS) @$(MAKE) -C Documentation/DocBook mrproper distclean: mrproper - rm -f core `find . \( -not -type d \) -and \ - \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ + @echo 'Making distclean' + @find . \( -not -type d \) -and \ + \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ - -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f -print` TAGS tags + -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f \ + -print | xargs rm -f + +endif # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) # FIXME Should go into a make.lib or something # =========================================================================== @@ -530,5 +669,20 @@ $(filter-out $(cmd_$(1)),$(cmd_$(@F)))\ $(filter-out $(cmd_$(@F)),$(cmd_$(1)))),\ @$(rule_$(1))) + +# If quiet is set, only print short version of rule + +cmd = @$(if $($(quiet)$(1)),echo ' $($(quiet)$(1))' &&) $($(1)) + +define update-if-changed + if [ -r $@ ] && cmp -s $@ $@.tmp; then \ + echo ' (unchanged)'; \ + rm -f $@.tmp; \ + else \ + echo ' (updated)'; \ + mv -f $@.tmp $@; \ + fi +endef + FORCE: |
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/Documentation/DocBook Modified Files: Makefile Log Message: Synced to 2.5.21 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/Makefile,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- Makefile 4 Jun 2002 19:45:03 -0000 1.14 +++ Makefile 15 Jun 2002 19:17:07 -0000 1.15 @@ -161,18 +161,20 @@ OUT := $(patsubst %.sgml, %.out, $(BOOKS)) clean: - rm -f core *~ - rm -f $(BOOKS) - rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT) - rm -f $(PNG-parportbook) $(EPS-parportbook) - rm -f $(C-procfs-example) + @echo 'Cleaning up (DocBook)' + @rm -f core *~ + @rm -f $(BOOKS) + @rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT) + @rm -f $(PNG-parportbook) $(EPS-parportbook) + @rm -f $(C-procfs-example) -mrproper: clean - rm -f $(PS) $(PDF) - rm -f -r $(HTML) - rm -f .depend - rm -f $(TOPDIR)/scripts/mkdep-docbook - rm -rf DBTOHTML_OUTPUT* +mrproper: + @echo 'Making mrproper (DocBook)' + @rm -f $(PS) $(PDF) + @rm -f -r $(HTML) + @rm -f .depend + @rm -f $(TOPDIR)/scripts/mkdep-docbook + @rm -rf DBTOHTML_OUTPUT* %.ps : %.sgml @(which db2ps > /dev/null 2>&1) || \ |
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386 In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/arch/i386 Modified Files: config.in Log Message: Synced to 2.5.21 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/config.in,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- config.in 25 May 2002 20:31:58 -0000 1.42 +++ config.in 15 Jun 2002 19:17:08 -0000 1.43 @@ -209,9 +209,26 @@ endmenu mainmenu_option next_comment -comment 'General options' +comment 'Power management options (ACPI, APM)' source drivers/acpi/Config.in +bool 'Power Management support' CONFIG_PM + +dep_tristate ' Advanced Power Management BIOS support' CONFIG_APM $CONFIG_PM +if [ "$CONFIG_PM" != "n" -a "$CONFIG_APM" != "n" ]; then + bool ' Ignore USER SUSPEND' CONFIG_APM_IGNORE_USER_SUSPEND + bool ' Enable PM at boot time' CONFIG_APM_DO_ENABLE + bool ' Make CPU Idle calls when idle' CONFIG_APM_CPU_IDLE + bool ' Enable console blanking using APM' CONFIG_APM_DISPLAY_BLANK + bool ' RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT + bool ' Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS + bool ' Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF +fi + +endmenu + +mainmenu_option next_comment +comment 'Bus options (PCI, PCMCIA, EISA, MCA, ISA)' # Visual Workstation support is utterly broken. # If you want to see it working mail an VW540 to hc...@in... 8) @@ -260,6 +277,11 @@ define_bool CONFIG_HOTPLUG_PCI n fi +endmenu + +mainmenu_option next_comment +comment 'Executable file formats' + if [ "$CONFIG_PROC_FS" = "y" ]; then choice 'Kernel core (/proc/kcore) format' \ "ELF CONFIG_KCORE_ELF \ @@ -268,19 +290,6 @@ tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC - -bool 'Power Management support' CONFIG_PM - -dep_tristate ' Advanced Power Management BIOS support' CONFIG_APM $CONFIG_PM -if [ "$CONFIG_PM" != "n" -a "$CONFIG_APM" != "n" ]; then - bool ' Ignore USER SUSPEND' CONFIG_APM_IGNORE_USER_SUSPEND - bool ' Enable PM at boot time' CONFIG_APM_DO_ENABLE - bool ' Make CPU Idle calls when idle' CONFIG_APM_CPU_IDLE - bool ' Enable console blanking using APM' CONFIG_APM_DISPLAY_BLANK - bool ' RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT - bool ' Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS - bool ' Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF -fi endmenu |
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/arch/i386/kernel Modified Files: setup.c Log Message: Synced to 2.5.21 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/setup.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- setup.c 4 Jun 2002 19:45:05 -0000 1.45 +++ setup.c 15 Jun 2002 19:17:08 -0000 1.46 @@ -3,73 +3,16 @@ * * Copyright (C) 1995 Linus Torvalds * - * Enhanced CPU type detection by Mike Jagdis, Patrick St. Jean - * and Martin Mares, November 1997. - * - * Force Cyrix 6x86(MX) and M II processors to report MTRR capability - * and Cyrix "coma bug" recognition by - * Zoltán Böszörményi <zb...@ma...> February 1999. - * - * Force Centaur C6 processors to report MTRR capability. [...2188 lines suppressed...] - if(((ident>>8)&15)!=6) - return 0; - - /* Pentium Pro */ - - if(((ident>>4)&15)!=1) - return 0; - - if((ident&15) < 8) - { - printk(KERN_INFO "Pentium Pro with Errata#50 detected. Taking evasive action.\n"); - return 1; - } - printk(KERN_INFO "Your Pentium Pro seems ok.\n"); - return 0; -} - /* * Local Variables: * mode:c |
From: James S. <jsi...@us...> - 2002-06-15 19:17:14
|
Update of /cvsroot/linuxconsole/ruby/linux/include/video In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/include/video Removed Files: neofb.h tdfx.h Log Message: Synced to 2.5.21 --- neofb.h DELETED --- --- tdfx.h DELETED --- |
From: James S. <jsi...@us...> - 2002-06-15 19:17:14
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/drivers/video Modified Files: Makefile cfbcopyarea.c cfbimgblt.c fbcmap.c fbmem.c neofb.c tx3912fb.c Added Files: cyber2000fb.c dnfb.c pmag-ba-fb.c pmagb-b-fb.c Log Message: Synced to 2.5.21 --- NEW FILE: pmag-ba-fb.c --- /* * linux/drivers/video/pmag-ba-fb.c * * PMAG-BA TurboChannel framebuffer card support ... derived from: * "HP300 Topcat framebuffer support (derived from macfb of all things) * Phil Blundell <ph...@gn...> 1998", the original code can be * found in the file hpfb.c in the same directory. * * Based on digital document: * "PMAG-BA TURBOchannel Color Frame Buffer * Functional Specification", Revision 1.2, August 27, 1990 * * DECstation related code Copyright (C) 1999, 2000, 2001 by * Michael Engel <en...@un...>, * Karsten Merker <me...@li...> and * Harald Koerfgen. * 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/kernel.h> #include <linux/sched.h> #include <linux/errno.h> #include <linux/string.h> #include <linux/timer.h> #include <linux/mm.h> #include <linux/tty.h> #include <linux/slab.h> #include <linux/delay.h> #include <linux/init.h> #include <linux/fb.h> #include <asm/bootinfo.h> #include <asm/dec/machtype.h> #include <asm/dec/tc.h> #include "pmag-ba-fb.h" struct pmag_ba_ramdac_regs { unsigned char addr_low; unsigned char pad0[3]; unsigned char addr_hi; unsigned char pad1[3]; unsigned char data; unsigned char pad2[3]; unsigned char cmap; }; /* * Max 3 TURBOchannel slots -> max 3 PMAG-BA :) */ static struct fb_info pmagba_fb_info[3]; static struct fb_var_screeninfo pmagbafb_defined = { xres: 1024, yres: 864, xres_virtual: 1024, yres_virtual: 864, bits_per_pixel: 8, activate: FB_ACTIVATE_NOW, height: 274, width: 195, accel: FB_ACCEL_NONE, vmode: FB_VMODE_NONINTERLACED, } static struct fb_fix_screeninfo pmagbafb_fix = { id: "PMAG-BA", smem_len: (1024 * 864), type: FB_TYPE_PACKED_PIXELS, visual: FB_VISUAL_PSEUDOCOLOR, line_length: 1024, } /* * Turn hardware cursor off */ void pmagbafb_erase_cursor(struct pmag_ba_ramdac_regs *bt459_regs) { bt459_regs->addr_low = 0; bt459_regs->addr_hi = 3; bt459_regs->data = 0; } /* * Set the palette. */ static int pmagbafb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *info) { struct pmag_ba_ramdac_regs *bt459_regs = (struct pmag_ba_ramdac_regs *) info->par; if (regno >= info->cmap.len) return 1; red >>= 8; /* The cmap fields are 16 bits */ green >>= 8; /* wide, but the harware colormap */ blue >>= 8; /* registers are only 8 bits wide */ bt459_regs->addr_low = (__u8) regno; bt459_regs->addr_hi = 0; bt459_regs->cmap = red; bt459_regs->cmap = green; bt459_regs->cmap = blue; return 0; } static struct fb_ops pmagbafb_ops = { owner: THIS_MODULE, fb_setcolreg: pmagbafb_setcolreg, fb_fillrect: cfb_fillrect, fb_copyarea: cfb_copyarea, fb_imageblit: cfb_imageblit, } int __init pmagbafb_init_one(int slot) { unsigned long base_addr = get_tc_base_addr(slot); struct fb_info *info = &pmagba_fb_info[slot]; struct display *disp = &pmagba_disp[slot]; printk("PMAG-BA framebuffer in slot %d\n", slot); /* * Framebuffer display memory base address and friends */ pmagbafb_fix.smem_start = base_addr + PMAG_BA_ONBOARD_FBMEM_OFFSET; info->par = (base_addr + PMAG_BA_BT459_OFFSET); /* * Configure the Bt459 RAM DAC */ pmagbafb_erase_cursor((struct pmag_ba_ramdac_regs *) info->par); /* * Let there be consoles.. */ info->node = NODEV; info->fbops = &pmagbafb_ops; info->var = pmagbafb_defined; info->fix = pmagbafb_fix; info->screen_base = pmagbafb_fix.smem_start; info->flags = FBINFO_FLAG_DEFAULT; if (register_framebuffer(info) < 0) return 1; return 0; } /* * Initialise the framebuffer */ int __init pmagbafb_init(void) { int sid; int found = 0; if (TURBOCHANNEL) { while ((sid = search_tc_card("PMAG-BA")) >= 0) { found = 1; claim_tc_card(sid); pmagbafb_init_one(sid); } return found ? 0 : -ENODEV; } else { return -ENODEV; } } int __init pmagbafb_setup(char *options) { return 0; } MODULE_LICENSE("GPL"); --- NEW FILE: pmagb-b-fb.c --- /* * linux/drivers/video/pmagb-b-fb.c * * PMAGB-B TurboChannel framebuffer card support ... derived from: * "HP300 Topcat framebuffer support (derived from macfb of all things) * Phil Blundell <ph...@gn...> 1998", the original code can be * found in the file hpfb.c in the same directory. * * DECstation related code Copyright (C) 1999, 2000, 2001 by * Michael Engel <en...@un...>, * Karsten Merker <me...@li...> and * Harald Koerfgen. * 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. * */ /* * We currently only support the PMAGB-B in high resolution mode * as I know of no way to detect low resolution mode set via jumper. * KM, 2001/01/07 */ #include <linux/module.h> #include <linux/kernel.h> #include <linux/sched.h> #include <linux/errno.h> #include <linux/string.h> #include <linux/timer.h> #include <linux/mm.h> #include <linux/tty.h> #include <linux/slab.h> #include <linux/delay.h> #include <linux/init.h> #include <linux/fb.h> #include <asm/bootinfo.h> #include <asm/dec/machtype.h> #include <asm/dec/tc.h> #include "pmagb-b-fb.h" struct pmagb_b_ramdac_regs { unsigned char addr_low; unsigned char pad0[3]; unsigned char addr_hi; unsigned char pad1[3]; unsigned char data; unsigned char pad2[3]; unsigned char cmap; }; /* * Max 3 TURBOchannel slots -> max 3 PMAGB-B :) */ static struct fb_info pmagbb_fb_info[3]; static struct fb_var_screeninfo pmagbbfb_defined = { xres: 1280, yres: 1024, xres_virtual: 1280, yres_virtual: 1024, bits_per_pixel: 8, activate: FB_ACTIVATE_NOW, height: 274, width: 195, accel_flags: FB_ACCEL_NONE, vmode: FB_VMODE_NONINTERLACED, }; static struct fb_fix_screeninfo pmagbafb_fix = { id: "PMAGB-BA", smem_len: (1280 * 1024), type: FB_TYPE_PACKED_PIXELS, visual: FB_VISUAL_PSEUDOCOLOR, line_length: 1280, } /* * Turn hardware cursor off */ void pmagbbfb_erase_cursor(struct pmagb_b_ramdac_regs *bt459_regs) { bt459_regs->addr_low = 0; bt459_regs->addr_hi = 3; bt459_regs->data = 0; } /* * Set the palette. */ static int pmagbbfb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *info) { struct pmagb_b_ramdac_regs *bt459_regs = (struct pmagb_b_ramdac_regs *) info->par; if (regno >= info->cmap.len) return 1; red >>= 8; /* The cmap fields are 16 bits */ green >>= 8; /* wide, but the harware colormap */ blue >>= 8; /* registers are only 8 bits wide */ bt459_regs->addr_low = (__u8) regno; bt459_regs->addr_hi = 0; bt459_regs->cmap = red; bt459_regs->cmap = green; bt459_regs->cmap = blue; return 0; } static struct fb_ops pmagbbfb_ops = { owner: THIS_MODULE, fb_setcolreg: pmagbbfb_setcolreg, fb_fillrect: cfb_fillrect, fb_copyarea: cfb_copyarea, fb_imageblit: cfb_imageblit, }; int __init pmagbbfb_init_one(int slot) { unsigned long base_addr = get_tc_base_addr(slot); struct fb_info *info = &pmagbb_fb_info[slot]; printk("PMAGB-BA framebuffer in slot %d\n", slot); /* * Framebuffer display memory base address and friends */ pmagbbfb_fix.smem_start = base_addr + PMAGB_B_ONBOARD_FBMEM_OFFSET; info->par = (base_addr + PMAGB_B_BT459_OFFSET); /* * Configure the Bt459 RAM DAC */ pmagbbfb_erase_cursor((struct pmagb_b_ramdac_regs *) info->par); /* * Let there be consoles.. */ info->node = NODEV; info->fbops = &pmagbbfb_ops; info->var = pmagbbfb_defined; info->fix = pmagbbfb_fix; info->screen_base = pmagbbfb_fix.smem_start; info->flags = FBINFO_FLAG_DEFAULT; if (register_framebuffer(info) < 0) return 1; return 0; } /* * Initialise the framebuffer */ int __init pmagbbfb_init(void) { int sid; int found = 0; if (TURBOCHANNEL) { while ((sid = search_tc_card("PMAGB-BA")) >= 0) { found = 1; claim_tc_card(sid); pmagbbfb_init_one(sid); } return found ? 0 : -ENODEV; } else { return -ENODEV; } } int __init pmagbbfb_setup(char *options) { return 0; } MODULE_LICENSE("GPL"); Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Makefile,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- Makefile 3 Jun 2002 22:44:58 -0000 1.48 +++ Makefile 15 Jun 2002 19:17:10 -0000 1.49 @@ -9,9 +9,7 @@ # All of the (potential) objects that export symbols. # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'. -export-objs := fbmem.o fbcmap.o fbmon.o modedb.o vga.o cyber2000fb.o sa1100fb.o - -mod-subdirs := aty fonts matrox riva sis tdfx +export-objs := fbmem.o fbgen.o fbcmap.o fbmon.o modedb.o vga.o cyber2000fb.o sa1100fb.o # Each configuration option enables a list of files. @@ -45,6 +43,7 @@ obj-$(CONFIG_FB_ATARI) += atafb.o obj-$(CONFIG_FB_ATY128) += aty128fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_RADEON) += radeonfb.o +obj-$(CONFIG_FB_NEOMAGIC) += neofb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_IGA) += igafb.o obj-$(CONFIG_FB_CONTROL) += controlfb.o obj-$(CONFIG_FB_PLATINUM) += platinumfb.o @@ -80,7 +79,7 @@ obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_MAXINE) += maxinefb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_TX3912) += tx3912fb.o +obj-$(CONFIG_FB_TX3912) += tx3912fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_MATROX) += matrox/ obj-$(CONFIG_FB_RIVA) += riva/ @@ -93,7 +92,7 @@ obj-$(CONFIG_FB_HGA) += hgafb.o obj-$(CONFIG_FB_SA1100) += sa1100fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_VIRTUAL) += vfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_HIT) += hitfb.o +obj-$(CONFIG_FB_HIT) += hitfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_E1355) += epson1355fb.o obj-$(CONFIG_FB_PVR2) += pvr2fb.o obj-$(CONFIG_FB_VOODOO1) += sstfb.o @@ -109,8 +108,7 @@ clean: rm -f core *.o *.a *.s -../conmakehash: ../conmakehash.c - $(HOSTCC) $(HOSTCFLAGS) -o ../conmakehash ../conmakehash.c +host-progs := ../conmakehash promcon_tbl.c: prom.uni ../char/conmakehash ../char/conmakehash prom.uni | \ Index: cfbcopyarea.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbcopyarea.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- cfbcopyarea.c 10 May 2002 16:27:23 -0000 1.7 +++ cfbcopyarea.c 15 Jun 2002 19:17:10 -0000 1.8 @@ -31,7 +31,7 @@ void cfb_copyarea(struct fb_info *p, struct fb_copyarea *area) { int x2, y2, lineincr, shift, shift_right, shift_left, old_dx, old_dy; - int n, j, linesize = p->fix.line_length, bpl = sizeof(unsigned long); + int j, linesize = p->fix.line_length, bpl = sizeof(unsigned long); unsigned long start_index, end_index, start_mask, end_mask, last; unsigned long *dst = NULL, *src = NULL; char *src1, *dst1; @@ -102,7 +102,7 @@ end_mask = -1 << ((bpl - end_index) << 3); n -= end_index; } - n = n / bpl; + n /= bpl; if (n <= 0) { if (start_mask) { Index: cfbimgblt.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbimgblt.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- cfbimgblt.c 3 Jun 2002 22:44:58 -0000 1.14 +++ cfbimgblt.c 15 Jun 2002 19:17:10 -0000 1.15 @@ -107,12 +107,11 @@ dst++; } - if (n) { + if (n) { + end_mask = 0; for (j = n; j > 0; j--) { - end_mask = 0; - if (test_bit(l, src)) - end_mask |= (tmp >> (p->var.bits_per_pixel*(k-1))); + end_mask |= (tmp >> (p->var.bits_per_pixel*(j-1))); l--; if (l < 0) { l = 7; src++; } } @@ -125,9 +124,6 @@ } else { /* Draw the penguin */ n = ((image->width * p->var.bits_per_pixel) >> 3); - //shift = ((unsigned long) dst1 & (bpl -1)); end_mask = 0; - - // n = n/bpl; } } Index: fbcmap.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbcmap.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- fbcmap.c 8 May 2002 16:35:43 -0000 1.12 +++ fbcmap.c 15 Jun 2002 19:17:10 -0000 1.13 @@ -166,7 +166,7 @@ else tooff = from->start-to->start; size = to->len-tooff; - if (size > (int) from->len-fromoff) + if (size > (int) (from->len - fromoff)) size = from->len-fromoff; if (size <= 0) return; Index: fbmem.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbmem.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- fbmem.c 3 Jun 2002 22:44:58 -0000 1.64 +++ fbmem.c 15 Jun 2002 19:17:10 -0000 1.65 @@ -140,6 +140,7 @@ extern int pmagbbfb_init(void); extern void maxinefb_init(void); extern int tx3912fb_init(void); +extern int tx3912fb_setup(char*); extern int radeonfb_init(void); extern int radeonfb_setup(char*); extern int e1355fb_init(void); @@ -317,7 +318,7 @@ { "hitfb", hitfb_init, NULL }, #endif #ifdef CONFIG_FB_TX3912 - { "tx3912", tx3912fb_init, NULL }, + { "tx3912", tx3912fb_init, tx3912fb_setup }, #endif #ifdef CONFIG_FB_E1355 { "e1355fb", e1355fb_init, e1355fb_setup }, Index: neofb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/neofb.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- neofb.c 24 Apr 2002 18:56:51 -0000 1.3 +++ neofb.c 15 Jun 2002 19:17:10 -0000 1.4 @@ -12,11 +12,11 @@ * archive for more details. * * 0.3.3 - * - Porting over to new fbdev api. (jsimmons) - * + * - Porting over to new fbdev api. (jsimmons) + * * 0.3.2 - * - got rid of all floating point (dok) - * + * - got rid of all floating point (dok) [...1099 lines suppressed...] - name:"neofb", - id_table:neofb_devices, - probe:neofb_probe, - remove:__devexit_p(neofb_remove) + name: "neofb", + id_table: neofb_devices, + probe: neofb_probe, + remove: __devexit_p(neofb_remove) }; /* **************************** init-time only **************************** */ @@ -2054,7 +2028,7 @@ return 0; } -static int __init initialized = 0; +static int __initdata initialized = 0; int __init neofb_init(void) { Index: tx3912fb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/tx3912fb.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tx3912fb.c 13 Nov 2001 02:09:18 -0000 1.1 +++ tx3912fb.c 15 Jun 2002 19:17:10 -0000 1.2 @@ -1,16 +1,16 @@ /* - * linux/drivers/video/tx3912fb.c + * drivers/video/tx3912fb.c * - * Copyright (C) 1999 Harald Koerfgen - * Copyright (C) 2001 Steven Hill (sj...@re...) - * Copyright (C) 2001 Dean Scott (de...@th...) + * Copyright (C) 1999 Harald Koerfgen + * 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. * - * Framebuffer for LCD controller in TMPR3912/05 and PR31700 processors + * Framebuffer for LCD controller in TMPR3912/05 and PR31700 processors */ +#include <linux/config.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/errno.h> @@ -21,48 +21,73 @@ #include <linux/init.h> #include <linux/pm.h> #include <linux/fb.h> +#include <asm/io.h> #include <asm/bootinfo.h> #include <asm/uaccess.h> -#include <linux/config.h> -#include "tx3912fb.h" +#include <asm/tx3912.h> +#include <video/tx3912.h> /* * Frame buffer, palette and console structures */ static struct fb_info fb_info; -static u32 pseudo_palette[17]; +static u32 cfb8[16]; 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 + id: "tx3912fb", +#ifdef CONFIG_NINO_16MB + smem_len: (240 * 320), +#else + smem_len: ((240 * 320)/2), +#endif + type: FB_TYPE_PACKED_PIXELS, + visual: FB_VISUAL_TRUECOLOR, + xpanstep: 1, + ypanstep: 1, + ywrapstep: 1, + accel: 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; +static struct fb_var_screeninfo tx3912fb_var = { + xres: 240, + yres: 320, + xres_virtual: 240, + yres_virtual: 320, +#ifdef CONFIG_NINO_16MB + bits_per_pixel: 8, + red: { 5, 3, 0 }, /* RGB 332 */ + green: { 2, 3, 0 }, + blue: { 0, 2, 0 }, +#else + bits_per_pixel: 4, +#endif + activate: FB_ACTIVATE_NOW, + width: -1, + height: -1, + pixclock: 20000, + left_margin: 64, + right_margin: 64, + upper_margin: 32, + lower_margin: 32, + hsync_len: 64, + vsync_len: 2, + vmode: FB_VMODE_NONINTERLACED, +}; - switch (info->var.bits_per_pixel) { - case 8: - red &= 0xe000; - green &= 0xe000; - blue &= 0xc000; +/* + * Interface used by the world + */ +int tx3912fb_init(void); - ((u8 *)(info->pseudo_palette))[regno] = - (red >> 8) | - (green >> 11) | - (blue >> 14); - break; - } +static int tx3912fb_setcolreg(u_int regno, u_int red, u_int green, + u_int blue, u_int transp, + struct fb_info *info); - return 0; -} +/* + * Macros + */ +#define get_line_length(xres_virtual, bpp) \ + (u_long) (((int) xres_virtual * (int) bpp + 7) >> 3) /* * Frame buffer operations structure used by console driver @@ -76,91 +101,138 @@ }; /* + * Set a single color register + */ +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; + + if (regno < 16) + ((u32 *)(info->pseudo_palette))[regno] = ((red & 0xe000) >> 8) + | ((green & 0xe000) >> 11) + | ((blue & 0xc000) >> 14); + return 0; +} + +/* * 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)); + u_long tx3912fb_paddr = 0; /* Disable the video logic */ - VidCtrl1 &= ~(ENVID | DISPON); + outl(inl(TX3912_VIDEO_CTRL1) & + ~(TX3912_VIDEO_CTRL1_ENVID | TX3912_VIDEO_CTRL1_DISPON), + TX3912_VIDEO_CTRL1); udelay(200); /* Set start address for DMA transfer */ - VidCtrl3 = tx3912fb_paddr & - (TX3912_VIDCTRL3_VIDBANK_MASK | - TX3912_VIDCTRL3_VIDBASEHI_MASK); + outl(tx3912fb_paddr, TX3912_VIDEO_CTRL3); /* Set end address for DMA transfer */ - VidCtrl4 = (tx3912fb_paddr + tx3912fb_size + 1) & - TX3912_VIDCTRL4_VIDBASELO_MASK; + outl((tx3912fb_paddr + tx3912fb_fix.smem_len + 1), TX3912_VIDEO_CTRL4); /* Set the pixel depth */ - switch (tx3912fb_info.bits_per_pixel) { - case 1: + switch (tx3912fb_var.bits_per_pixel) { + case 1: /* Monochrome */ - VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK; + outl(inl(TX3912_VIDEO_CTRL1) & + ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1); tx3912fb_fix.visual = FB_VISUAL_MONO10; break; - case 4: + case 4: /* 4-bit gray */ - VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK; - VidCtrl1 |= TX3912_VIDCTRL1_4BIT_GRAY; + outl(inl(TX3912_VIDEO_CTRL1) & + ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1); + outl(inl(TX3912_VIDEO_CTRL1) | + TX3912_VIDEO_CTRL1_BITSEL_4BIT_GRAY, + TX3912_VIDEO_CTRL1); tx3912fb_fix.visual = FB_VISUAL_TRUECOLOR; + tx3912fb_fix.grayscale = 1; break; - case 8: + case 8: /* 8-bit color */ - VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK; - VidCtrl1 |= TX3912_VIDCTRL1_8BIT_COLOR; + outl(inl(TX3912_VIDEO_CTRL1) & + ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1); + outl(inl(TX3912_VIDEO_CTRL1) | + TX3912_VIDEO_CTRL1_BITSEL_8BIT_COLOR, + TX3912_VIDEO_CTRL1); tx3912fb_fix.visual = FB_VISUAL_TRUECOLOR; break; - case 2: - default: + case 2: + default: /* 2-bit gray */ - VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK; - VidCtrl1 |= TX3912_VIDCTRL1_2BIT_GRAY; + outl(inl(TX3912_VIDEO_CTRL1) & + ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1); + outl(inl(TX3912_VIDEO_CTRL1) | + TX3912_VIDEO_CTRL1_BITSEL_2BIT_GRAY, + TX3912_VIDEO_CTRL1); tx3912fb_fix.visual = FB_VISUAL_PSEUDOCOLOR; + tx3912fb_fix.grayscale = 1; break; } + /* Enable the video clock */ + outl(inl(TX3912_CLK_CTRL) | TX3912_CLK_CTRL_ENVIDCLK, + TX3912_CLK_CTRL); + /* Unfreeze video logic and enable DF toggle */ - VidCtrl1 &= ~(ENFREEZEFRAME | DFMODE); + outl(inl(TX3912_VIDEO_CTRL1) & + ~(TX3912_VIDEO_CTRL1_ENFREEZEFRAME | TX3912_VIDEO_CTRL1_DFMODE), + TX3912_VIDEO_CTRL1); udelay(200); /* Clear the framebuffer */ - memset((void *) tx3912fb_vaddr, 0xff, tx3912fb_size); + memset((void *) tx3912fb_fix.smem_start, 0xff, tx3912fb_fix.smem_len); udelay(200); /* Enable the video logic */ - VidCtrl1 |= (DISPON | ENVID); - - tx3912fb_fix.smem_start = tx3912fb_vaddr; - tx3912fb_fix.smem_len = tx3912fb_size; + outl(inl(TX3912_VIDEO_CTRL1) | + (TX3912_VIDEO_CTRL1_ENVID | TX3912_VIDEO_CTRL1_DISPON), + TX3912_VIDEO_CTRL1); - fb_info.node = -1; + /* + * Memory limit + */ + tx3912fb_fix.line_length = + get_line_length(tx3912fb_var.xres_virtual, tx3912fb_var.bits_per_pixel); + if ((tx3912fb_fix.line_length * tx3912fb_var.yres_virtual) > tx3912fb_fix.smem_len) + return -ENOMEM; + + fb_info.node = NODEV; fb_info.fbops = &tx3912fb_ops; - fb_info.flags = FBINFO_FLAG_DEFAULT; - fb_info.var = tx3912fb_info; + fb_info.var = tx3912fb_var; fb_info.fix = tx3912fb_fix; fb_info.pseudo_palette = pseudo_palette; + fb_info.flags = FBINFO_FLAG_DEFAULT; + + /* Clear the framebuffer */ + memset((void *) fb_info.fix.smem_start, 0xff, fb_info.fix.smem_len); + udelay(200); if (register_framebuffer(&fb_info) < 0) - return -EINVAL; + return -1; + printk(KERN_INFO "fb%d: TX3912 frame buffer using %uKB.\n", + GET_FB_IDX(fb_info.node), (u_int) (fb_info.fix.smem_len >> 10)); return 0; } -static void __exit tx3912fb_exit(void) +int __init tx3912fb_setup(char *options) { - unregister_framebuffer(&fb_info); -} + char *this_opt; -#ifdef MODULE -module_init(tx3912fb_init); -module_exit(tx3912fb_exit); + if (!options || !*options) + return 0; + + while ((this_opt = strsep(&options, ","))) { + if (!strncmp(options, "bpp:", 4)) + tx3912fb_var.bits_per_pixel = simple_strtoul(options+4, NULL, 0); + } +} MODULE_LICENSE("GPL"); -#endif |
From: James S. <jsi...@us...> - 2002-06-15 19:17:12
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/drivers/char Modified Files: Makefile Log Message: Synced to 2.5.21 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- Makefile 4 Jun 2002 19:45:08 -0000 1.42 +++ Makefile 15 Jun 2002 19:17:09 -0000 1.43 @@ -109,17 +109,12 @@ obj-$(CONFIG_DRM) += drm/ obj-$(CONFIG_PCMCIA) += pcmcia/ -include $(TOPDIR)/Rules.make - -fastdep: +host-progs := conmakehash -conmakehash: conmakehash.c - $(HOSTCC) $(HOSTCFLAGS) -o conmakehash conmakehash.c +include $(TOPDIR)/Rules.make consolemap_deftbl.c: $(FONTMAPFILE) conmakehash - ./conmakehash $(FONTMAPFILE) > consolemap_deftbl.c - -consolemap_deftbl.o: consolemap_deftbl.c $(TOPDIR)/include/linux/types.h + ./conmakehash $< > $@ .DELETE_ON_ERROR: |
From: James S. <jsi...@us...> - 2002-06-15 19:17:12
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/s390x/mm In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/arch/s390x/mm Modified Files: fault.c Log Message: Synced to 2.5.21 Index: fault.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/s390x/mm/fault.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- fault.c 26 Dec 2001 17:28:11 -0000 1.3 +++ fault.c 15 Jun 2002 19:17:09 -0000 1.4 @@ -34,7 +34,77 @@ #endif extern void die(const char *,struct pt_regs *,long); -static void force_sigsegv(struct task_struct *tsk, int code, void *address); + +/* + * Check which address space is addressed by the access + * register in S390_lowcore.exc_access_id. + * Returns 1 for user space and 0 for kernel space. + */ +static int __check_access_register(struct pt_regs *regs, int error_code) +{ + int areg = S390_lowcore.exc_access_id; + + if (areg == 0) + /* Access via access register 0 -> kernel address */ + return 0; + if (regs && areg < NUM_ACRS && regs->acrs[areg] <= 1) + /* + * access register contains 0 -> kernel address, + * access register contains 1 -> user space address + */ + return regs->acrs[areg]; + + /* Something unhealthy was done with the access registers... */ + die("page fault via unknown access register", regs, error_code); + do_exit(SIGKILL); + return 0; +} + +/* + * Check which address space the address belongs to. + * Returns 1 for user space and 0 for kernel space. + */ +static inline int check_user_space(struct pt_regs *regs, int error_code) +{ + /* + * The lowest two bits of S390_lowcore.trans_exc_code indicate + * which paging table was used: + * 0: Primary Segment Table Descriptor + * 1: STD determined via access register + * 2: Secondary Segment Table Descriptor + * 3: Home Segment Table Descriptor + */ + int descriptor = S390_lowcore.trans_exc_code & 3; + if (descriptor == 1) + return __check_access_register(regs, error_code); + return descriptor >> 1; +} + +/* + * Send SIGSEGV to task. This is an external routine + * to keep the stack usage of do_page_fault small. + */ +static void force_sigsegv(struct pt_regs *regs, unsigned long error_code, + int si_code, unsigned long address) +{ + struct siginfo si; + +#if defined(CONFIG_SYSCTL) || defined(CONFIG_PROCESS_DEBUG) +#if defined(CONFIG_SYSCTL) + if (sysctl_userprocess_debug) +#endif + { + printk("User process fault: interruption code 0x%lX\n", + error_code); + printk("failing address: %lX\n", address); + show_regs(regs); + } +#endif + si.si_signo = SIGSEGV; + si.si_code = si_code; + si.si_addr = (void *) address; + force_sig_info(SIGSEGV, &si, current); +} /* * This routine handles page faults. It determines the address, @@ -42,21 +112,20 @@ * routines. * * error_code: - * ****0004 Protection -> Write-Protection (suprression) - * ****0010 Segment translation -> Not present (nullification) - * ****0011 Page translation -> Not present (nullification) - * ****003B Region third exception -> Not present (nullification) + * 04 Protection -> Write-Protection (suprression) + * 10 Segment translation -> Not present (nullification) + * 11 Page translation -> Not present (nullification) + * 3b Region third trans. -> Not present (nullification) */ -asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code) +extern inline void do_exception(struct pt_regs *regs, unsigned long error_code) { struct task_struct *tsk; struct mm_struct *mm; struct vm_area_struct * vma; unsigned long address; + int user_address; unsigned long fixup; - int write; int si_code = SEGV_MAPERR; - int kernel_address = 0; tsk = current; mm = tsk->mm; @@ -66,13 +135,13 @@ * as a special case because the translation exception code * field is not guaranteed to contain valid data in this case. */ - if ((error_code & 0xff) == 4 && !(S390_lowcore.trans_exc_code & 4)) { + if (error_code == 4 && !(S390_lowcore.trans_exc_code & 4)) { /* Low-address protection hit in kernel mode means NULL pointer write access in kernel mode. */ if (!(regs->psw.mask & PSW_PROBLEM_STATE)) { address = 0; - kernel_address = 1; + user_address = 0; goto no_context; } @@ -86,52 +155,15 @@ * more specific the segment and page table portion of * the address */ - - address = S390_lowcore.trans_exc_code&-4096L; - - - /* - * Check which address space the address belongs to - */ - switch (S390_lowcore.trans_exc_code & 3) - { - case 0: /* Primary Segment Table Descriptor */ - kernel_address = 1; - goto no_context; - - case 1: /* STD determined via access register */ - if (S390_lowcore.exc_access_id == 0) - { - kernel_address = 1; - goto no_context; - } - if (regs && S390_lowcore.exc_access_id < NUM_ACRS) - { - if (regs->acrs[S390_lowcore.exc_access_id] == 0) - { - kernel_address = 1; - goto no_context; - } - if (regs->acrs[S390_lowcore.exc_access_id] == 1) - { - /* user space address */ - break; - } - } - die("page fault via unknown access register", regs, error_code); - do_exit(SIGKILL); - break; - - case 2: /* Secondary Segment Table Descriptor */ - case 3: /* Home Segment Table Descriptor */ - /* user space address */ - break; - } + address = S390_lowcore.trans_exc_code & -4096L; + user_address = check_user_space(regs, error_code); /* - * Check whether we have a user MM in the first place. + * Verify that the fault happened in user space, that + * we are not in an interrupt and that there is a + * user context. */ - if (in_interrupt() || !mm || !(regs->psw.mask & _PSW_IO_MASK_BIT)) + if (user_address == 0 || in_interrupt() || !mm) goto no_context; /* @@ -139,7 +171,6 @@ * task's user address space, so we can switch on the * interrupts again and then search the VMAs */ - __sti(); down_read(&mm->mmap_sem); @@ -158,31 +189,23 @@ * we can handle it.. */ good_area: - write = 0; si_code = SEGV_ACCERR; + if (error_code != 4) { + /* page not present, check vm flags */ + if (!(vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE))) + goto bad_area; + } else { + if (!(vma->vm_flags & VM_WRITE)) + goto bad_area; + } - switch (error_code & 0xFF) { - case 0x04: /* write, present*/ - write = 1; - break; - case 0x10: /* not present*/ - case 0x11: /* not present*/ - case 0x3B: /* not present*/ - if (!(vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE))) - goto bad_area; - break; - default: - printk("code should be 4, 10 or 11 (%lX) \n",error_code&0xFF); - goto bad_area; - } - - survive: +survive: /* * If for any reason at all we couldn't handle the fault, * make sure we exit gracefully rather than endlessly redo * the fault. */ - switch (handle_mm_fault(mm, vma, address, write)) { + switch (handle_mm_fault(mm, vma, address, error_code == 4)) { case 1: tsk->min_flt++; break; @@ -209,22 +232,7 @@ if (regs->psw.mask & PSW_PROBLEM_STATE) { tsk->thread.prot_addr = address; tsk->thread.trap_no = error_code; -#ifndef CONFIG_SYSCTL -#ifdef CONFIG_PROCESS_DEBUG - printk("User process fault: interruption code 0x%lX\n",error_code); - printk("failing address: %lX\n",address); - show_regs(regs); -#endif -#else - if (sysctl_userprocess_debug) { - printk("User process fault: interruption code 0x%lX\n", - error_code); - printk("failing address: %lX\n", address); - show_regs(regs); - } -#endif - - force_sigsegv(tsk, si_code, (void *)address); + force_sigsegv(regs, error_code, si_code, address); return; } @@ -239,8 +247,7 @@ * Oops. The kernel tried to access some bad page. We'll have to * terminate things with extreme prejudice. */ - - if (kernel_address) + if (user_address == 0) printk(KERN_ALERT "Unable to handle kernel pointer dereference" " at virtual kernel address %016lx\n", address); else @@ -258,9 +265,7 @@ out_of_memory: up_read(&mm->mmap_sem); if (tsk->pid == 1) { - tsk->policy |= SCHED_YIELD; - schedule(); - down_read(&mm->mmap_sem); + yield(); goto survive; } printk("VM: killing process %s\n", tsk->comm); @@ -284,19 +289,26 @@ goto no_context; } -/* - * Send SIGSEGV to task. This is an external routine - * to keep the stack usage of do_page_fault small. - */ -static void force_sigsegv(struct task_struct *tsk, int code, void *address) +void do_protection_exception(struct pt_regs *regs, unsigned long error_code) { - struct siginfo si; - si.si_signo = SIGSEGV; - si.si_code = code; - si.si_addr = address; - force_sig_info(SIGSEGV, &si, tsk); + regs->psw.addr -= (error_code >> 16); + do_exception(regs, 4); } +void do_segment_exception(struct pt_regs *regs, unsigned long error_code) +{ + do_exception(regs, 0x10); +} + +void do_page_exception(struct pt_regs *regs, unsigned long error_code) +{ + do_exception(regs, 0x11); +} + +void do_region_exception(struct pt_regs *regs, unsigned long error_code) +{ + do_exception(regs, 0x3b); +} #ifdef CONFIG_PFAULT /* |
From: James S. <jsi...@us...> - 2002-06-15 19:17:10
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv22898 Added Files: AGAINST-2.5.21 Removed Files: AGAINST-2.5.20 Log Message: Synced to 2.5.21 --- NEW FILE: AGAINST-2.5.21 --- --- AGAINST-2.5.20 DELETED --- |
From: johann d. <jd...@us...> - 2002-06-09 17:34:59
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb/input In directory usw-pr-cvs1:/tmp/cvs-serv29166 Modified Files: hid-core.c Log Message: USB_ASYNC isn't necessary. Index: hid-core.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-core.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- hid-core.c 9 Jun 2002 11:06:38 -0000 1.5 +++ hid-core.c 9 Jun 2002 17:34:55 -0000 1.6 @@ -1356,7 +1356,6 @@ goto fail; pipe = usb_sndbulkpipe(dev, endpoint->bEndpointAddress); FILL_BULK_URB(hid->urbout, dev, pipe, hid->outbuf, 0, hid_irq_out, hid); - hid->urbout->transfer_flags |= USB_ASYNC_UNLINK; } } @@ -1397,7 +1396,6 @@ hid->urbctrl = usb_alloc_urb(0, GFP_KERNEL); FILL_CONTROL_URB(hid->urbctrl, dev, 0, (void*) &hid->cr, hid->ctrlbuf, 1, hid_ctrl, hid); - hid->urbctrl->transfer_flags |= USB_ASYNC_UNLINK; return hid; |
From: johann d. <jd...@us...> - 2002-06-09 11:08:08
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv5407/drivers/input/joystick/iforce Modified Files: iforce-packets.c iforce-usb.c iforce.h Log Message: Code cosmetics, warning and debug messages updated. Fix for double kfree(iforce). Index: iforce-packets.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-packets.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- iforce-packets.c 18 Mar 2002 21:30:08 -0000 1.14 +++ iforce-packets.c 9 Jun 2002 11:08:04 -0000 1.15 @@ -213,7 +213,6 @@ else input_report_abs(dev, ABS_HAT1Y, 0); } } - break; @@ -250,56 +249,64 @@ switch (iforce->bus) { -#ifdef IFORCE_USB - case IFORCE_USB: - - iforce->cr.bRequest = packet[0]; - iforce->ctrl->dev = iforce->usbdev; - - set_current_state(TASK_INTERRUPTIBLE); - add_wait_queue(&iforce->wait, &wait); + case IFORCE_USB: - if (usb_submit_urb(iforce->ctrl, GFP_KERNEL)) { - set_current_state(TASK_RUNNING); - remove_wait_queue(&iforce->wait, &wait); - return -1; - } +#ifdef IFORCE_USB + iforce->cr.bRequest = packet[0]; + iforce->ctrl->dev = iforce->usbdev; - while (timeout && iforce->ctrl->status == -EINPROGRESS) - timeout = schedule_timeout(timeout); + set_current_state(TASK_INTERRUPTIBLE); + add_wait_queue(&iforce->wait, &wait); + if (usb_submit_urb(iforce->ctrl, GFP_KERNEL)) { set_current_state(TASK_RUNNING); remove_wait_queue(&iforce->wait, &wait); + return -1; + } - if (!timeout) { - usb_unlink_urb(iforce->ctrl); - return -1; - } + while (timeout && iforce->ctrl->status == -EINPROGRESS) + timeout = schedule_timeout(timeout); - break; + set_current_state(TASK_RUNNING); + remove_wait_queue(&iforce->wait, &wait); + + if (!timeout) { + usb_unlink_urb(iforce->ctrl); + return -1; + } +#else + printk(KERN_ERR "iforce_get_id_packet: iforce->bus = USB!\n"); #endif -#ifdef IFORCE_232 - case IFORCE_232: + break; - iforce->expect_packet = FF_CMD_QUERY; - iforce_send_packet(iforce, FF_CMD_QUERY, packet); + case IFORCE_232: - set_current_state(TASK_INTERRUPTIBLE); - add_wait_queue(&iforce->wait, &wait); +#ifdef IFORCE_232 + iforce->expect_packet = FF_CMD_QUERY; + iforce_send_packet(iforce, FF_CMD_QUERY, packet); - while (timeout && iforce->expect_packet) - timeout = schedule_timeout(timeout); + set_current_state(TASK_INTERRUPTIBLE); + add_wait_queue(&iforce->wait, &wait); - set_current_state(TASK_RUNNING); - remove_wait_queue(&iforce->wait, &wait); + while (timeout && iforce->expect_packet) + timeout = schedule_timeout(timeout); - if (!timeout) { - iforce->expect_packet = 0; - return -1; - } + set_current_state(TASK_RUNNING); + remove_wait_queue(&iforce->wait, &wait); - break; + if (!timeout) { + iforce->expect_packet = 0; + return -1; + } +#else + printk(KERN_ERR "iforce_get_id_packet: iforce->bus = SERIO!\n"); #endif + break; + + default: + printk(KERN_ERR "iforce_get_id_packet: iforce->bus = %d\n", + iforce->bus); + break; } return -(iforce->edata[0] != packet[0]); Index: iforce-usb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-usb.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- iforce-usb.c 8 Mar 2002 19:34:30 -0000 1.15 +++ iforce-usb.c 9 Jun 2002 11:08:04 -0000 1.16 @@ -86,7 +86,10 @@ { struct iforce *iforce = urb->context; - if (urb->status) return; + if (urb->status) { + printk(KERN_DEBUG "iforce_usb_out: urb->status %d, exiting", urb->status); + return; + } iforce_usb_xmit(iforce); @@ -164,6 +167,7 @@ void iforce_usb_delete(struct iforce* iforce) { usb_unlink_urb(iforce->irq); +/* Is it ok to unlink those ? */ usb_unlink_urb(iforce->out); usb_unlink_urb(iforce->ctrl); @@ -180,8 +184,10 @@ iforce->usbdev = NULL; input_unregister_device(&iforce->dev); - if (!open) + if (!open) { iforce_delete_device(iforce); + kfree(iforce); + } } static struct usb_device_id iforce_usb_ids [] = { @@ -191,6 +197,7 @@ { USB_DEVICE(0x05ef, 0x020a) }, /* AVB Top Shot Pegasus */ { USB_DEVICE(0x05ef, 0x8884) }, /* AVB Mag Turbo Force */ { USB_DEVICE(0x05ef, 0x8888) }, /* AVB Top Shot FFB Racing Wheel */ + { USB_DEVICE(0x061c, 0xc0a4) }, /* ACT LABS Force RS */ { USB_DEVICE(0x06f8, 0x0001) }, /* Guillemot Race Leader Force Feedback */ { USB_DEVICE(0x06f8, 0x0004) }, /* Guillemot Force Feedback Racing Wheel */ { } /* Terminating entry */ Index: iforce.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- iforce.h 8 Mar 2002 19:34:30 -0000 1.11 +++ iforce.h 9 Jun 2002 11:08:04 -0000 1.12 @@ -47,10 +47,10 @@ #define IFORCE_MAX_LENGTH 16 -#if defined(CONFIG_JOYSTICK_IFORCE_232) || defined(CONFIG_JOYSTICK_IFORCE_232_MODULE) +#if defined(CONFIG_JOYSTICK_IFORCE_232) #define IFORCE_232 1 #endif -#if defined(CONFIG_JOYSTICK_IFORCE_USB) || defined(CONFIG_JOYSTICK_IFORCE_USB_MODULE) +#if defined(CONFIG_JOYSTICK_IFORCE_USB) #define IFORCE_USB 2 #endif |
From: johann d. <jd...@us...> - 2002-06-09 11:06:45
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb/input In directory usw-pr-cvs1:/tmp/cvs-serv5109/drivers/usb/input Modified Files: hid-core.c hid-ff.c hid-lg3dff.c Added Files: fixp-arith.h Log Message: Added basic (and still buggy) support for constant effects for Logitech 3D devices. --- NEW FILE: fixp-arith.h --- #ifndef _FIXP_ARITH_H #define _FIXP_ARITH_H /* * $$ * * Simplistic fixed-point arithmetics. * Hmm, I'm probably duplicating some code :( * * Copyright (c) 2002 Johann Deneux */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Should you need to contact me, the author, you can do so by * e-mail - mail your message to <de...@if...> */ #include <linux/types.h> // The type representing fixed-point values typedef s16 fixp_t; #define FRAC_N 8 #define FRAC_MASK ((1<<FRAC_N)-1) // Not to be used directly. Use fixp_{cos,sin} fixp_t cos_table[45] = { 0x0100, 0x00FF, 0x00FF, 0x00FE, 0x00FD, 0x00FC, 0x00FA, 0x00F8, 0x00F6, 0x00F3, 0x00F0, 0x00ED, 0x00E9, 0x00E6, 0x00E2, 0x00DD, 0x00D9, 0x00D4, 0x00CF, 0x00C9, 0x00C4, 0x00BE, 0x00B8, 0x00B1, 0x00AB, 0x00A4, 0x009D, 0x0096, 0x008F, 0x0087, 0x0080, 0x0078, 0x0070, 0x0068, 0x005F, 0x0057, 0x004F, 0x0046, 0x003D, 0x0035, 0x002C, 0x0023, 0x001A, 0x0011, 0x0008 }; /* a: 123 -> 123.0 */ inline fixp_t fixp_new(s16 a) { return a<<FRAC_N; } /* a: 0xFFFF -> -1.0 0x8000 -> 1.0 0x0000 -> 0.0 */ inline fixp_t fixp_new16(s16 a) { return ((s32)a)>>(16-FRAC_N); } inline fixp_t fixp_cos(unsigned int degrees) { int quadrant = (degrees / 90) & 3; unsigned int i = (degrees % 90) >> 1; return (quadrant == 1 || quadrant == 2)? -cos_table[i] : cos_table[i]; } inline fixp_t fixp_sin(unsigned int degrees) { return -fixp_cos(degrees + 90); } inline fixp_t fixp_mult(fixp_t a, fixp_t b) { return ((s32)(a*b))>>FRAC_N; } #endif Index: hid-core.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-core.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- hid-core.c 2 Jun 2002 17:19:21 -0000 1.4 +++ hid-core.c 9 Jun 2002 11:06:38 -0000 1.5 @@ -1420,8 +1420,10 @@ dbg("HID probe called for ifnum %d", ifnum); - if (!(hid = usb_hid_configure(dev, ifnum))) + if (!(hid = usb_hid_configure(dev, ifnum))) { + err("usb_hid_configure failed"); return NULL; + } hid_init_reports(hid); hid_dump_device(hid); Index: hid-ff.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-ff.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- hid-ff.c 18 Apr 2002 22:02:47 -0000 1.2 +++ hid-ff.c 9 Jun 2002 11:06:38 -0000 1.3 @@ -53,6 +53,9 @@ #ifdef CONFIG_LOGITECH_RUMBLE {0x46d, 0xc211, hid_lgff_init}, #endif +#ifdef CONFIG_LOGITECH_3D + {0x46d, 0xc283, hid_lg3d_init}, +#endif #ifdef CONFIG_HID_PID {0x45e, 0x001b, hid_pid_init}, #endif @@ -79,5 +82,9 @@ init = hid_get_ff_init(hid->dev->descriptor.idVendor, hid->dev->descriptor.idProduct); - return init? init->init(hid) : -ENOSYS; + if (!init) { + warn("hid_ff_init could not find initializer"); + return -ENOSYS; + } + return init->init(hid); } Index: hid-lg3dff.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-lg3dff.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- hid-lg3dff.c 2 Jun 2002 17:34:22 -0000 1.3 +++ hid-lg3dff.c 9 Jun 2002 11:06:38 -0000 1.4 @@ -34,6 +34,7 @@ #include <linux/circ_buf.h> #include "hid.h" +#include "fixp-arith.h" #define RUN_AT(t) (jiffies + (t)) @@ -341,8 +342,6 @@ int i; int err; - x = 0; - y = 0; spin_lock_irqsave(&lg3d->lock, flags); if (test_bit(DEVICE_USB_XMIT, lg3d->flags)) { @@ -361,12 +360,21 @@ return; } + x = 0x7f; + y = 0x7f; + for (i=0; i<N_EFFECTS; ++i) { struct lg3d_effect* effect = lg3d->effects +i; if (test_bit(EFFECT_PLAYING, effect->flags)) { + if (effect->effect.type == FF_CONSTANT) { - x = y = 0x60; /*TODO: actual implementation */ + //TODO: handle envelopes + int degrees = effect->effect.direction * 360 >> 16; + x += fixp_mult(fixp_sin(degrees), + fixp_new16(effect->effect.u.constant.level)); + y += fixp_mult(-fixp_cos(degrees), + fixp_new16(effect->effect.u.constant.level)); } /* One run of the effect is finished playing */ @@ -374,9 +382,13 @@ effect->started_at + effect->effect.replay.delay*HZ/1000 + effect->effect.replay.length*HZ/1000)) { - if (--effect->count <= 0) + dbg("Finished playing once"); + if (--effect->count <= 0) { + dbg("Stopped"); clear_bit(EFFECT_PLAYING, effect->flags); + } else { + dbg("Start again"); if (effect->effect.replay.length != 0) { clear_bit(EFFECT_PLAYING, effect->flags); set_bit(EFFECT_STARTED, effect->flags); @@ -386,16 +398,23 @@ } } else if (test_bit(EFFECT_STARTED, lg3d->effects[i].flags)) { + dbg("Started"); /* Check if we should start playing the effect */ if (time_after(jiffies, lg3d->effects[i].started_at + lg3d->effects[i].effect.replay.delay*HZ/1000)) { + dbg("Now playing"); clear_bit(EFFECT_STARTED, lg3d->effects[i].flags); set_bit(EFFECT_PLAYING, lg3d->effects[i].flags); } } } + if (x < 0) x = 0; + if (x > 0xff) x = 0xff; + if (y < 0) y = 0; + if (y > 0xff) y = 0xff; + lg3d->urbffout->pipe = usb_sndctrlpipe(hid->dev, 0); lg3d->ffcr.bRequestType = USB_TYPE_CLASS | USB_DIR_OUT | USB_RECIP_INTERFACE; lg3d->urbffout->transfer_buffer_length = lg3d->ffcr.wLength = 8; |
From: johann d. <jd...@us...> - 2002-06-09 11:03:07
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv3422/drivers/input/joystick/iforce Modified Files: iforce-main.c Log Message: Added ACT Labs force RS. Fixed multiple kfree(iforce) Issue warnings when id packets are not received. BTN_DEAD added to dev.keybit. Index: iforce-main.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-main.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- iforce-main.c 7 Apr 2002 11:49:40 -0000 1.17 +++ iforce-main.c 9 Jun 2002 11:03:03 -0000 1.18 @@ -74,9 +74,10 @@ { 0x046d, 0xc291, "Logitech WingMan Formula Force", btn_wheel, abs_wheel, ff_iforce }, { 0x05ef, 0x020a, "AVB Top Shot Pegasus", btn_avb_pegasus, abs_avb_pegasus, ff_iforce }, { 0x05ef, 0x8884, "AVB Mag Turbo Force", btn_avb_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 }, + { 0x05ef, 0x8888, "AVB Top Shot Force Feedback Racing Wheel", btn_avb_tw, abs_wheel, ff_iforce }, //? + { 0x061c, 0xc0a4, "ACT LABS Force RS", btn_wheel, 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 } }; @@ -213,8 +214,6 @@ * Erases an effect: it frees the effect id and mark as unused the memory * allocated for the parameters */ -/*FIXME: stop effect before erasing */ -/*TODO: use CHECK_OWNERSHIP */ static int iforce_erase_effect(struct input_dev *dev, int effect_id) { struct iforce* iforce = (struct iforce*)(dev->private); @@ -223,7 +222,7 @@ /* Check who is trying to erase this effect */ if (iforce->core_effects[effect_id].owner != current->pid) { - printk(KERN_WARNING "iforce.c: %d tried to erase an effect belonging to %d\n", current->pid, iforce->core_effects[effect_id].owner); + printk(KERN_WARNING "iforce-main.c: %d tried to erase an effect belonging to %d\n", current->pid, iforce->core_effects[effect_id].owner); return -EACCES; } @@ -314,6 +313,7 @@ * was released */ if (iforce->usbdev == NULL) { iforce_delete_device(iforce); + kfree(iforce); } break; #endif @@ -322,11 +322,18 @@ void iforce_delete_device(struct iforce *iforce) { + switch (iforce->bus) { #ifdef IFORCE_USB - iforce_usb_delete(iforce); + case IFORCE_USB: + iforce_usb_delete(iforce); + break; #endif - - kfree(iforce); +#ifdef IFORCE_232 + case IFORCE_232: + //TODO: Wait for the last packets to be sent + break; +#endif + } } int iforce_init_device(struct iforce *iforce) @@ -376,8 +383,7 @@ break; if (i == 20) { /* 5 seconds */ - printk(KERN_ERR "iforce.c: Timeout waiting for response from device.\n"); - iforce_delete_device(iforce); + printk(KERN_ERR "iforce-main.c: Timeout waiting for response from device.\n"); return -1; } @@ -387,16 +393,27 @@ if (!iforce_get_id_packet(iforce, "M")) iforce->dev.idvendor = (iforce->edata[2] << 8) | iforce->edata[1]; + else + printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet M\n"); + if (!iforce_get_id_packet(iforce, "P")) iforce->dev.idproduct = (iforce->edata[2] << 8) | iforce->edata[1]; + else + printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet P\n"); + if (!iforce_get_id_packet(iforce, "B")) iforce->device_memory.end = (iforce->edata[2] << 8) | iforce->edata[1]; + else + printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet B\n"); + if (!iforce_get_id_packet(iforce, "N")) iforce->dev.ff_effects_max = iforce->edata[1]; + else + printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet N\n"); /* Check if the device can store more effects than the driver can really handle */ if (iforce->dev.ff_effects_max > FF_EFFECTS_MAX) { - printk(KERN_WARNING "input??: Device can handle %d effects, but N_EFFECTS_MAX is set to %d in iforce.c\n", + printk(KERN_WARNING "input??: Device can handle %d effects, but N_EFFECTS_MAX is set to %d in iforce.h\n", iforce->dev.ff_effects_max, FF_EFFECTS_MAX); iforce->dev.ff_effects_max = FF_EFFECTS_MAX; } @@ -437,9 +454,8 @@ for (i = 0; iforce->type->btn[i] >= 0; i++) { signed short t = iforce->type->btn[i]; set_bit(t, iforce->dev.keybit); - if (t != BTN_DEAD) - set_bit(t, iforce->dev.ffbit); } + set_bit(BTN_DEAD, iforce->dev.keybit); for (i = 0; iforce->type->abs[i] >= 0; i++) { @@ -469,6 +485,7 @@ break; case ABS_RUDDER: + iforce->dev.absmax[t] = 127; iforce->dev.absmin[t] = -128; break; |
From: James S. <jsi...@us...> - 2002-06-04 19:45:39
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc64 In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/ppc64 Modified Files: config.in Log Message: Synced to 2.5.20. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/config.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- config.in 3 May 2002 22:16:46 -0000 1.5 +++ config.in 4 Jun 2002 19:45:05 -0000 1.6 @@ -5,7 +5,6 @@ define_bool CONFIG_UID16 n define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y -define_bool CONFIG_GENERIC_BUST_SPINLOCK n define_bool CONFIG_GENERIC_ISA_DMA y define_bool CONFIG_HAVE_DEC_LOCK y @@ -30,8 +29,6 @@ if [ "$CONFIG_PPC_ISERIES" = "y" ]; then define_bool CONFIG_MSCHUNKS y -else -bool 'MsChunks Physical to Absolute address translation support' CONFIG_MSCHUNKS fi endmenu @@ -70,6 +67,11 @@ if [ "$CONFIG_PPC_ISERIES" != "y" ]; then bool 'Support for Open Firmware device tree in /proc' CONFIG_PROC_DEVICETREE + + bool 'Default bootloader kernel arguments' CONFIG_CMDLINE_BOOL + if [ "$CONFIG_CMDLINE_BOOL" = "y" ] ; then + string 'Initial kernel command string' CONFIG_CMDLINE "console=ttyS0,9600 console=tty0 root=/dev/sda2" + fi fi endmenu @@ -103,8 +105,12 @@ fi endmenu +source drivers/message/fusion/Config.in + source drivers/ieee1394/Config.in +source drivers/message/i2o/Config.in + if [ "$CONFIG_NET" = "y" ]; then mainmenu_option next_comment comment 'Network device support' @@ -178,6 +184,9 @@ fi source drivers/char/Config.in + +source drivers/media/Config.in + source fs/Config.in mainmenu_option next_comment @@ -191,13 +200,21 @@ source drivers/usb/Config.in +source net/bluetooth/Config.in + mainmenu_option next_comment comment 'Kernel hacking' -bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ -bool 'Include kgdb kernel debugger' CONFIG_KGDB -bool 'Include xmon kernel debugger' CONFIG_XMON -bool 'Include PPCDBG realtime debugging' CONFIG_PPCDBG +bool 'Kernel debugging' CONFIG_DEBUG_KERNEL +if [ "$CONFIG_DEBUG_KERNEL" != "n" ]; then + bool ' Debug memory allocations' CONFIG_DEBUG_SLAB + bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ + bool ' Include xmon kernel debugger' CONFIG_XMON + if [ "$CONFIG_XMON" = "y" ]; then + bool ' Enable xmon by default' CONFIG_XMON_DEFAULT + fi + bool ' Include PPCDBG realtime debugging' CONFIG_PPCDBG +fi endmenu source lib/Config.in |
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/Documentation/DocBook Modified Files: Makefile kernel-api.tmpl Log Message: Synced to 2.5.20. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/Makefile,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- Makefile 3 Jun 2002 22:44:55 -0000 1.13 +++ Makefile 4 Jun 2002 19:45:03 -0000 1.14 @@ -113,6 +113,9 @@ $(TOPDIR)/drivers/net/wan/syncppp.c \ $(TOPDIR)/drivers/net/wan/z85230.c \ $(TOPDIR)/drivers/usb/core/hcd.c \ + $(TOPDIR)/drivers/usb/core/urb.c \ + $(TOPDIR)/drivers/usb/core/message.c \ + $(TOPDIR)/drivers/usb/core/config.c \ $(TOPDIR)/drivers/usb/core/usb.c \ $(TOPDIR)/drivers/video/fbmem.c \ $(TOPDIR)/drivers/video/fbcmap.c \ Index: kernel-api.tmpl =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/kernel-api.tmpl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- kernel-api.tmpl 16 Apr 2002 17:41:46 -0000 1.7 +++ kernel-api.tmpl 4 Jun 2002 19:45:04 -0000 1.8 @@ -282,6 +282,9 @@ </sect1> <sect1><title>USB Core APIs</title> +!Edrivers/usb/core/urb.c +!Edrivers/usb/core/config.c +!Edrivers/usb/core/message.c !Edrivers/usb/core/usb.c </sect1> |
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/i386/kernel Modified Files: apm.c setup.c Log Message: Synced to 2.5.20. Index: apm.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/apm.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- apm.c 25 May 2002 20:31:58 -0000 1.5 +++ apm.c 4 Jun 2002 19:45:04 -0000 1.6 @@ -1792,7 +1792,7 @@ idle_threshold = simple_strtol(str + 15, NULL, 0); if ((strncmp(str, "idle-period=", 12) == 0) || (strncmp(str, "idle_period=", 12) == 0)) - idle_threshold = simple_strtol(str + 15, NULL, 0); + idle_period = simple_strtol(str + 12, NULL, 0); invert = (strncmp(str, "no-", 3) == 0) || (strncmp(str, "no_", 3) == 0); if (invert) Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/setup.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- setup.c 3 Jun 2002 22:44:55 -0000 1.44 +++ setup.c 4 Jun 2002 19:45:05 -0000 1.45 @@ -912,17 +912,11 @@ paging_init(); #ifdef CONFIG_ACPI_BOOT /* - * Initialize the ACPI boot-time table parser (gets the RSDP and SDT). - * Must do this after paging_init (due to reliance on fixmap, and thus - * the bootmem allocator) but before get_smp_config (to allow parsing - * of MADT). + * Parse the ACPI tables for possible boot-time SMP configuration. */ acpi_boot_init(*cmdline_p); #endif #ifdef CONFIG_X86_LOCAL_APIC - /* - * get boot-time SMP configuration: - */ if (smp_found_config) get_smp_config(); #endif |
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/arm/kernel Modified Files: setup.c Log Message: Synced to 2.5.20. Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- setup.c 25 May 2002 20:31:58 -0000 1.12 +++ setup.c 4 Jun 2002 19:45:04 -0000 1.13 @@ -339,7 +339,7 @@ *cmdline_p = command_line; } -void __init +static void __init setup_ramdisk(int doload, int prompt, int image_start, unsigned int rd_sz) { #ifdef CONFIG_BLK_DEV_RAM @@ -357,7 +357,7 @@ /* * initial ram disk */ -void __init setup_initrd(unsigned int start, unsigned int size) +static void __init setup_initrd(unsigned int start, unsigned int size) { #ifdef CONFIG_BLK_DEV_INITRD if (start == 0) |
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux Modified Files: Makefile Log Message: Synced to 2.5.20. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- Makefile 3 Jun 2002 22:44:55 -0000 1.61 +++ Makefile 4 Jun 2002 19:45:03 -0000 1.62 @@ -1,7 +1,23 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 19 +SUBLEVEL = 20 EXTRAVERSION = -ruby + +# We are using a recursive build, so we need to do a little thinking +# to get the ordering right. +# +# Most importantly: sub-Makefiles should only ever modify files in +# their own directory. If in some directory we have a dependency on +# a file in another dir (which doesn't happen often, but it's of +# unavoidable when linking the built-in.o targets which finally +# turn into vmlinux), we will call a sub make in that other dir, and +# after that we are sure that everything which is in that other dir +# is now up to date. +# +# The only cases where we need to modify files which have global +# effects are thus separated out and done before the recursive +# descending is started. They are now explicitly listed as the +# prepare rule. KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -62,13 +78,8 @@ ifeq (.config,$(wildcard .config)) include .config -ifeq (.hdepend,$(wildcard .hdepend)) do-it-all: vmlinux else -CONFIGURATION = depend -do-it-all: depend -endif -else CONFIGURATION = config do-it-all: config endif @@ -172,9 +183,16 @@ # Handle descending into subdirectories listed in $(SUBDIRS) .PHONY: $(SUBDIRS) -$(SUBDIRS): FORCE include/linux/version.h include/config/MARKER +$(SUBDIRS): prepare @$(MAKE) -C $@ +# Things we need done before we even start the actual build. +# The dependency on .hdepend will in turn take care of +# include/asm, include/linux/version etc. + +.PHONY: prepare +prepare: .hdepend include/config/MARKER + # Single targets # --------------------------------------------------------------------------- @@ -189,69 +207,70 @@ %.o: %.S FORCE @$(MAKE) -C $(@D) $(@F) -# Configuration -# --------------------------------------------------------------------------- - -oldconfig: symlinks - $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in - -xconfig: symlinks - @$(MAKE) -C scripts kconfig.tk - wish -f scripts/kconfig.tk - -menuconfig: include/linux/version.h symlinks - @$(MAKE) -C scripts/lxdialog all - $(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in - -config: symlinks - $(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in - -# make asm->asm-$(ARCH) symlink +# FIXME: The asm symlink changes when $(ARCH) changes. That's +# hard to detect, but I suppose "make mrproper" is a good idea +# before switching between archs anyway. -symlinks: - rm -f include/asm - ( cd include ; ln -sf asm-$(ARCH) asm) - @if [ ! -d include/linux/modules ]; then \ - mkdir include/linux/modules; \ - fi +include/asm: + @echo 'Making asm->asm-$(ARCH) symlink' + @ln -s asm-$(ARCH) $@ + @echo 'Making directory include/linux/modules' + @mkdir include/linux/modules -# split autoconf.h into include/linux/config/* +# Split autoconf.h into include/linux/config/* include/config/MARKER: scripts/split-include include/linux/autoconf.h scripts/split-include include/linux/autoconf.h include/config @ touch include/config/MARKER # Generate some files +# --------------------------------------------------------------------------- -$(TOPDIR)/include/linux/version.h: include/linux/version.h +# version.h changes when $(KERNELRELEASE) etc change, as defined in +# this Makefile -include/linux/version.h: ./Makefile +include/linux/version.h: Makefile @echo Generating $@ @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL) -# helpers built in scripts/ +# Helpers built in scripts/ +# --------------------------------------------------------------------------- scripts/mkdep scripts/split-include : FORCE @$(MAKE) -C scripts -# --------------------------------------------------------------------------- # Generate dependencies +# --------------------------------------------------------------------------- -depend dep: dep-files +# In the same pass, generate module versions, that's why it's +# all mixed up here. -dep-files: scripts/mkdep archdep include/linux/version.h - scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend +.PHONY: depend dep $(patsubst %,_sfdep_%,$(SUBDIRS)) + +depend dep: .hdepend + +# .hdepend is missing prerequisites - in fact dependencies need +# to be redone basically each time anything changed - since +# that's too expensive, we traditionally rely on the user to +# run "make dep" manually whenever necessary. In this case, +# we make "FORCE" a prequisite, to force redoing the +# dependencies. Yeah, that's ugly, and it'll go away soon. + +.hdepend: scripts/mkdep include/linux/version.h include/asm \ + $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE) + scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > $@ @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) ifdef CONFIG_MODVERSIONS - $(MAKE) update-modverfile + @$(MAKE) include/linux/modversions.h endif + @$(MAKE) archdep -.PHONY: $(patsubst %,_sfdep_%,$(SUBDIRS)) $(patsubst %,_sfdep_%,$(SUBDIRS)): FORCE @$(MAKE) -C $(patsubst _sfdep_%, %, $@) fastdep -# update modversions.h, but only if it would change -update-modverfile: +# Update modversions.h, but only if it would change. + +include/linux/modversions.h: FORCE @(echo "#ifndef _LINUX_MODVERSIONS_H";\ echo "#define _LINUX_MODVERSIONS_H"; \ echo "#include <linux/modsetver.h>"; \ @@ -260,13 +279,13 @@ if [ -f $$f ]; then echo "#include <linux/modules/$${f}>"; fi; \ done; \ echo "#endif"; \ - ) > $(TOPDIR)/include/linux/modversions.h.tmp - @if [ -r $(TOPDIR)/include/linux/modversions.h ] && cmp -s $(TOPDIR)/include/linux/modversions.h $(TOPDIR)/include/linux/modversions.h.tmp; then \ - echo $(TOPDIR)/include/linux/modversions.h was not updated; \ - rm -f $(TOPDIR)/include/linux/modversions.h.tmp; \ + ) > $@.tmp + @if [ -r $@ ] && cmp -s $@ $@.tmp; then \ + echo $@ was not updated; \ + rm -f $@.tmp; \ else \ - echo $(TOPDIR)/include/linux/modversions.h was updated; \ - mv -f $(TOPDIR)/include/linux/modversions.h.tmp $(TOPDIR)/include/linux/modversions.h; \ + echo $@ was updated; \ + mv -f $@.tmp $@; \ fi # --------------------------------------------------------------------------- @@ -277,7 +296,7 @@ # Build modules ifdef CONFIG_MODVERSIONS -MODFLAGS += -DMODVERSIONS -include $(HPATH)/linux/modversions.h +MODFLAGS += -include $(HPATH)/linux/modversions.h endif .PHONY: modules @@ -332,6 +351,90 @@ endif # CONFIG_MODULES +# Scripts to check various things for consistency +# --------------------------------------------------------------------------- + +checkconfig: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl + +checkhelp: + find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl + +checkincludes: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl + +# Generate tags for editors +# --------------------------------------------------------------------------- + +TAGS: FORCE + { find include/asm-${ARCH} -name '*.h' -print ; \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ + find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags - + +# Exuberant ctags works better with -I +tags: FORCE + CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ + ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ + find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a + +# Assorted miscellaneous targets +# --------------------------------------------------------------------------- + +# Documentation targets + +sgmldocs psdocs pdfdocs htmldocs: + @$(MAKE) -C Documentation/DocBook $@ + + +# RPM target +# +# If you do a make spec before packing the tarball you can rpm -ta it + +spec: + . scripts/mkspec >kernel.spec + +# Build a tar ball, generate an rpm from it and pack the result +# There arw two bits of magic here +# 1) The use of /. to avoid tar packing just the symlink +# 2) Removing the .dep files as they have source paths in them that +# will become invalid + +rpm: clean spec + find . \( -size 0 -o -name .depend -o -name .hdepend \) -type f -print | xargs rm -f + set -e; \ + cd $(TOPDIR)/.. ; \ + ln -sf $(TOPDIR) $(KERNELPATH) ; \ + tar -cvz --exclude CVS -f $(KERNELPATH).tar.gz $(KERNELPATH)/. ; \ + rm $(KERNELPATH) ; \ + cd $(TOPDIR) ; \ + . scripts/mkversion > .version ; \ + rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ + rm $(TOPDIR)/../$(KERNELPATH).tar.gz + +# Targets which don't need .config +# =========================================================================== + +# Kernel configuration +# --------------------------------------------------------------------------- + +.PHONY: oldconfig xconfig menuconfig config + +oldconfig: + $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in + +xconfig: + @$(MAKE) -C scripts kconfig.tk + wish -f scripts/kconfig.tk + +menuconfig: + @$(MAKE) -C scripts/lxdialog all + $(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in + +config: + $(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in + + # Cleaning up # --------------------------------------------------------------------------- @@ -409,80 +512,19 @@ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f -print` TAGS tags -# Assorted miscellaneous targets -# --------------------------------------------------------------------------- - -# Documentation targets - -sgmldocs psdocs pdfdocs htmldocs: - @$(MAKE) -C Documentation/DocBook $@ - - -# RPM target -# -# If you do a make spec before packing the tarball you can rpm -ta it - -spec: - . scripts/mkspec >kernel.spec - -# Build a tar ball, generate an rpm from it and pack the result -# There arw two bits of magic here -# 1) The use of /. to avoid tar packing just the symlink -# 2) Removing the .dep files as they have source paths in them that -# will become invalid - -rpm: clean spec - find . \( -size 0 -o -name .depend -o -name .hdepend \) -type f -print | xargs rm -f - set -e; \ - cd $(TOPDIR)/.. ; \ - ln -sf $(TOPDIR) $(KERNELPATH) ; \ - tar -cvz --exclude CVS -f $(KERNELPATH).tar.gz $(KERNELPATH)/. ; \ - rm $(KERNELPATH) ; \ - cd $(TOPDIR) ; \ - . scripts/mkversion > .version ; \ - rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ - rm $(TOPDIR)/../$(KERNELPATH).tar.gz - -# Scripts to check various things for consistency - -checkconfig: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl - -checkhelp: - find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl - -checkincludes: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl - -# Generate tags for editors - -TAGS: FORCE - { find include/asm-${ARCH} -name '*.h' -print ; \ - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ - find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags - - -# Exuberant ctags works better with -I -tags: FORCE - CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ - ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ - find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a - -# Make a backup -# FIXME anybody still using this? - -backup: mrproper - cd .. && tar cf - linux/ | gzip -9 > backup.gz - sync +# FIXME Should go into a make.lib or something +# =========================================================================== -# Make checksums -# FIXME anybody still using this? +# read all saved command lines -sums: - find . -type f -print | sort | xargs sum > .SUMS +cmd_files := $(wildcard .*.cmd) +ifneq ($(cmd_files),) + include $(cmd_files) +endif -# FIXME Should go into a make.lib or something -# --------------------------------------------------------------------------- +# Usage: $(call if_changed_rule,foo) +# will check if $(cmd_foo) changed, or any of the prequisites changed, +# and if so will execute $(rule_foo) if_changed_rule = $(if $(strip $? \ $(filter-out $(cmd_$(1)),$(cmd_$(@F)))\ |
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/arm Modified Files: config.in Log Message: Synced to 2.5.20. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/config.in,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- config.in 21 May 2002 04:06:05 -0000 1.26 +++ config.in 4 Jun 2002 19:45:04 -0000 1.27 @@ -63,11 +63,6 @@ dep_bool ' Brutus' CONFIG_SA1100_BRUTUS $CONFIG_ARCH_SA1100 dep_bool ' CerfBoard' CONFIG_SA1100_CERF $CONFIG_ARCH_SA1100 if [ "$CONFIG_SA1100_CERF" = "y" ]; then - choice 'Cerf RAM available' \ - "8MB CONFIG_SA1100_CERF_8MB \ - 16MB CONFIG_SA1100_CERF_16MB \ - 32MB CONFIG_SA1100_CERF_32MB \ - 64MB CONFIG_SA1100_CERF_64MB" CerfRam choice 'Cerf Flash available' \ "8MB CONFIG_SA1100_CERF_FLASH_8MB \ 16MB CONFIG_SA1100_CERF_FLASH_16MB \ @@ -453,7 +448,9 @@ fi comment 'At least one math emulation must be selected' tristate 'NWFPE math emulation' CONFIG_FPE_NWFPE -dep_tristate 'FastFPE math emulation (experimental)' CONFIG_FPE_FASTFPE $CONFIG_EXPERIMENTAL +if [ "$CONFIG_CPU_26" = "n" -a "$CONFIG_CPU_32v3" = "n" ]; then + dep_tristate 'FastFPE math emulation (experimental)' CONFIG_FPE_FASTFPE $CONFIG_EXPERIMENTAL +fi choice 'Kernel core (/proc/kcore) format' \ "ELF CONFIG_KCORE_ELF \ A.OUT CONFIG_KCORE_AOUT" ELF @@ -494,15 +491,10 @@ fi fi -if [ "$CONFIG_ARCH_SA1100" = "y" ]; then +if [ "$CONFIG_CPU_32" = "y" ]; then define_bool CONFIG_ALIGNMENT_TRAP y else - if [ "$CONFIG_CPU_32" = "y" -a \ - "$CONFIG_ARCH_EBSA110" != "y" ]; then - bool 'Mis-alignment trap handler' CONFIG_ALIGNMENT_TRAP - else - define_bool CONFIG_ALIGNMENT_TRAP n - fi + define_bool CONFIG_ALIGNMENT_TRAP n fi endmenu @@ -510,6 +502,8 @@ if [ "$CONFIG_ALIGNMENT_TRAP" = "y" ]; then source drivers/mtd/Config.in +else + define_bool CONFIG_MTD n fi source drivers/pnp/Config.in |