'before-fedora-2_6_20-1_2949_fc6_vs2_2_0_1-merge'.
+++ /dev/null
-/COPYING/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/CREDITS/1.5/Fri Jul 30 14:12:43 2004/-ko/
-/MAINTAINERS/1.4/Tue Jul 20 15:32:59 2004/-ko/
-/Makefile/1.10/Mon Aug 9 21:22:34 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/REPORTING-BUGS/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D/Documentation////
-D/arch////
-D/configs////
-D/crypto////
-D/drivers////
-D/fs////
-D/include////
-D/init////
-D/ipc////
-D/kernel////
-D/lib////
-D/mm////
-D/net////
-D/scripts////
-D/security////
-D/sound////
-D/usr////
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bk-kernel-howto.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bk-make-sum/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bksend/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bz64wrap/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cpcset/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cset-to-linus/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/csets-to-patches/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/gcapatch/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/unbz64wrap/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/BK-usage
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/BUG-HUNTING/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/COPYING.modules/1.1.3.1/Wed Jun 2 19:38:09 2004/-ko/
-/Changes/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/CodingStyle/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/DMA-API.txt/1.2/Tue Jul 20 15:32:59 2004/-ko/
-/DMA-mapping.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/IO-mapping.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/IPMI.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/IRQ-affinity.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/MSI-HOWTO.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/README.DAC960/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/README.moxa/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/SAK.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/SubmittingDrivers/1.3/Tue Jul 20 15:32:59 2004/-ko/
-/SubmittingPatches/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/VGA-softcursor.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/basic_profiling.txt/1.2/Tue Jul 20 15:32:59 2004/-ko/
-/binfmt_misc.txt/1.2/Fri Jul 16 15:16:48 2004/-ko/
-/cachetlb.txt/1.3/Tue Jul 20 15:32:59 2004/-ko/
-/cciss.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/cli-sti-removal.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/computone.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/cpqarray.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/debugging-modules.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/devices.txt/1.2/Tue Jul 20 15:32:59 2004/-ko/
-/digiboard.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/digiepca.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/dnotify.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/eisa.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/exception.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/floppy.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/ftape.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/hayes-esp.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/highuid.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/hpet.txt/1.1.3.2/Mon Jul 19 17:08:18 2004/-ko/
-/hw_random.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/ide.txt/1.1.1.2/Mon Jul 12 21:57:17 2004/-ko/
-/initrd.txt/1.2/Wed Jun 2 20:34:35 2004/-ko/
-/io_ordering.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/ioctl-number.txt/1.2/Fri Jul 16 15:16:48 2004/-ko/
-/iostats.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/isapnp.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/java.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/kernel-doc-nano-HOWTO.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/kernel-docs.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/kernel-parameters.txt/1.2/Tue Jul 20 15:32:59 2004/-ko/
-/kobject.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/laptop-mode.txt/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/ldm.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/locks.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/logo.gif/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/logo.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/magic-number.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mandatory.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mca.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/md.txt/1.2/Wed Jun 2 20:34:36 2004/-ko/
-/memory.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mkdev.cciss/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mkdev.ida/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mono.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/moxa-smartio/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mtrr.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/nbd.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/nfsroot.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/nmi_watchdog.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/numastat.txt/1.1.3.1/Wed Jun 2 19:38:09 2004/-ko/
-/oops-tracing.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/paride.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/parport-lowlevel.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/parport.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/pci.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/pm.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/pnp.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/preempt-locking.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/ramdisk.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/riscom8.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/rocket.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/rpc-cache.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/rtc.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sched-coding.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sched-design.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sched-domains.txt/1.1.3.1/Wed Jun 2 19:38:09 2004/-ko/
-/serial-console.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sgi-visws.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/smart-config.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/smp.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sonypi.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/specialix.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/spinlocks.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/stallion.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/svga.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sx.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sysrq.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/tipar.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/unicode.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/voyager.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/xterm-linux.xpm/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/zorro.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-D/BK-usage////
-D/DocBook////
-D/arm////
-D/block////
-D/cdrom////
-D/cpu-freq////
-D/cris////
-D/crypto////
-D/device-mapper////
-D/driver-model////
-D/dvb////
-D/early-userspace////
-D/fb////
-D/filesystems////
-D/firmware_class////
-D/i2c////
-D/i386////
-D/ia64////
-D/input////
-D/isdn////
-D/kbuild////
-D/m68k////
-D/mips////
-D/networking////
-D/parisc////
-D/power////
-D/powerpc////
-D/s390////
-D/scsi////
-D/serial////
-D/sh////
-D/sound////
-D/sparc////
-D/sysctl////
-D/telephony////
-D/uml////
-D/usb////
-D/video4linux////
-D/vm////
-D/watchdog////
-D/x86_64////
+++ /dev/null
-linux-2.6/Documentation
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/deviceiobook.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/gadget.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/journal-api.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/kernel-api.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/kernel-hacking.tmpl/1.2/Wed Jun 2 20:34:36 2004/-ko/
-/kernel-locking.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/libata.tmpl/1.2/Wed Jun 2 20:34:36 2004/-ko/
-/lsm.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mcabook.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/mousedrivers.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/procfs-guide.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/procfs_example.c/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/scsidrivers.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/sis900.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/tulip-user.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/usb.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/via-audio.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/videobook.tmpl/1.2/Wed Jun 2 20:34:36 2004/-ko/
-/wanbook.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/writing_usb_driver.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/z8530book.tmpl/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-D/man////
+++ /dev/null
-linux-2.6/Documentation/DocBook
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/DocBook/man
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Booting/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/IXP4xx/1.1.3.1/Wed Jun 2 19:38:17 2004/-ko/
-/Interrupts/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Netwinder/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Porting/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Setup/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/mem_alignment/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/memory.txt/1.1.1.2/Mon Jul 12 21:57:19 2004/-ko/
-D/SA1100////
-D/Sharp-LH////
-D/VFP////
-D/XScale////
-D/empeg////
-D/nwfpe////
+++ /dev/null
-linux-2.6/Documentation/arm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/ADSBitsy/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Assabet/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Brutus/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/CERF/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/FreeBird/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/GraphicsClient/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/GraphicsMaster/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/HUW_WEBPANEL/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Itsy/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/LART/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/PLEB/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Pangolin/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Tifon/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Victor/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Yopy/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/empeg/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/nanoEngine/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/serial_UART/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/arm/SA1100
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/CompactFlash/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/IOBarrier/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/KEV7A400/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/LPD7A400/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/LPD7A40X/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/SDRAM/1.1.3.1/Tue Jul 13 17:49:43 2004/-ko/
-/VectoredInterruptController/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/arm/Sharp-LH
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/release-notes.txt/1.1.3.1/Tue Jul 13 17:49:43 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/arm/VFP
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-linux-2.6/Documentation/arm/XScale/ADIFCC
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-D/ADIFCC////
-D/IOP3XX////
+++ /dev/null
-linux-2.6/Documentation/arm/XScale
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-linux-2.6/Documentation/arm/XScale/IOP3XX
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ir.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/mkdevs/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/arm/empeg
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/NOTES/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.FPE/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/TODO/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/arm/nwfpe
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/as-iosched.txt/1.1.3.1/Mon Jul 19 17:08:21 2004/-ko/
-/biodoc.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/deadline-iosched.txt/1.1.3.1/Mon Jul 19 17:08:21 2004/-ko/
-/request.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/block
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/aztcd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cdrom-standard.tex/1.2/Wed Jun 2 20:34:37 2004/-ko/
-/cdu31a/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cm206/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/gscd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ide-cd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/isp16/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/mcd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/mcdx/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/optcd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sbpcd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sjcd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sonycd535/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/cdrom
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/amd-powernow.txt/1.1.1.1/Mon Jul 12 21:57:20 2004/-ko/
-/core.txt/1.2/Wed Jun 2 20:34:37 2004/-ko/
-/cpu-drivers.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/governors.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/index.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/user-guide.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/cpu-freq
+++ /dev/null
-/home/mef/projects/cvs
All the statistics will be from the time the stats driver has been inserted
to the time when a read of a particular statistic is done. Obviously, stats
-driver will not have any information about the the frequcny transitions before
+driver will not have any information about the frequency transitions before
the stats driver insertion.
--------------------------------------------------------------------------------
+++ /dev/null
-/README/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/cris
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/api-intro.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/descore-readme.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/crypto
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/dm-io.txt/1.1.3.1/Tue Jul 13 17:49:45 2004/-ko/
-/kcopyd.txt/1.1.3.1/Tue Jul 13 17:49:45 2004/-ko/
-/linear.txt/1.1.3.1/Tue Jul 13 17:49:45 2004/-ko/
-/striped.txt/1.1.3.1/Tue Jul 13 17:49:45 2004/-ko/
-/zero.txt/1.1.3.1/Tue Jul 13 17:49:45 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/device-mapper
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/binding.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bus.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/class.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/device.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/driver.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/interface.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/overview.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/platform.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/porting.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/driver-model
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/avermedia.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bt8xx.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cards.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/contributors.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/faq.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/firmware.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/readme.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ttusb-dec.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/dvb
+++ /dev/null
-/home/mef/projects/cvs
eg: $ szap -c channels.conf -r "TMC" -x
(b) a channels.conf containing a valid PMT PID
-
eg: TMC:11996:h:0:27500:278:512:650:321
here 278 is a valid PMT PID. the rest of the values are the
(c) after running a szap, you have to run ca_zap, for the
descrambler to function,
-
- eg: $ ca_zap patched_channels.conf "TMC"
-
- The patched means a patch to apply to scan, such that scan can
- generate a channels.conf_with pmt, which has this PMT PID info
- (NOTE: szap cannot use this channels.conf with the PMT_PID)
-
+ eg: $ ca_zap channels.conf "TMC"
(d) Hopeflly Enjoy your favourite subscribed channel as you do with
a FTA card.
+++ /dev/null
-/README/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/buffer-format.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/early-userspace
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/aty128fb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cirrusfb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/framebuffer.txt/1.1.1.2/Mon Jul 12 21:57:20 2004/-ko/
-/intel810.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/internals.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/matroxfb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/modedb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/pvr2fb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/pxafb.txt/1.1.3.1/Wed Jun 2 19:38:18 2004/-ko/
-/sa1100fb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sisfb.txt/1.1.3.1/Tue Jul 13 17:49:43 2004/-ko/
-/sstfb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tgafb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tridentfb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/vesafb.txt/1.2/Tue Jun 8 21:22:58 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/fb
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Exporting/1.1.1.2/Mon Jul 12 21:57:20 2004/-ko/
-/Locking/1.1.1.2/Mon Jul 12 21:57:20 2004/-ko/
-/adfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/affs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/afs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/automount-support.txt/1.1.3.1/Mon Jul 19 17:08:25 2004/-ko/
-/befs.txt/1.2/Wed Jun 2 20:34:37 2004/-ko/
-/bfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cifs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/coda.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cramfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/directory-locking/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ext2.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ext3.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/hfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/hpfs.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/isofs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/jfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ncpfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ntfs.txt/1.5/Tue Jul 20 15:33:00 2004/-ko/
-/porting/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/proc.txt/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/relayfs.txt/1.1.9.1/Wed Jun 16 18:15:57 2004/-ko/
-/romfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/smbfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sysfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sysv-fs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tmpfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/udf.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ufs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/umsdos.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/vfat.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/vfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/xfs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D/devfs////
+++ /dev/null
-linux-2.6/Documentation/filesystems
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/ChangeLog/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ToDo/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/boot-options/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/filesystems/devfs
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/README/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/firmware_sample_driver.c/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/firmware_sample_firmware_class.c/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/hotplug-script/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/firmware_class
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/dev-interface/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/functionality/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/i2c-old-porting/1.2/Wed Jun 2 20:34:37 2004/-ko/
-/i2c-parport/1.1.3.1/Mon Jul 19 17:08:23 2004/-ko/
-/i2c-protocol/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/porting-clients/1.2/Wed Jun 2 20:34:38 2004/-ko/
-/smbus-protocol/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/summary/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sysfs-interface/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ten-bit-addresses/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/writing-clients/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/i2c
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/IO-APIC.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/boot.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/usb-legacy-support.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/zero-page.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/i386
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/IRQ-redir.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/efirtc.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/fsys.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/ia64
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/amijoy.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/atarikbd.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cd32.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cs461x.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ff.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/gameport-programming.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/iforce-protocol.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/input-programming.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/input.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/interactive.fig/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/joystick-api.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/joystick-parport.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/joystick.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/shape.fig/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/xpad.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/input
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/CREDITS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/HiSax.cert/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/INTERFACE/1.2/Wed Jun 2 20:34:38 2004/-ko/
-/INTERFACE.fax/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.FAQ/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.HiSax/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.act2000/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.audio/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.avmb1/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.concap/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.diversion/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.eicon/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.fax/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.hfc-pci/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.hysdn/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.icn/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.pcbit/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.sc/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.syncppp/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.x25/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/syncPPP.FAQ/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/isdn
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/kconfig-language.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/makefiles.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/modules.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/kbuild
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.buddha/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/kernel-options.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/m68k
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/GT64120.README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/time.README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D/pci////
+++ /dev/null
-linux-2.6/Documentation/mips
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/pci.README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/mips/pci
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.2/Fri Jul 16 15:16:48 2004/-ko/
-/3c359.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/3c505.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/3c509.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/6pack.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Configurable/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/DLINK.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/NAPI_HOWTO.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/PLIP.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.sb1000/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/TODO/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/alias.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/arcnet-hardware.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/arcnet.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/atm.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ax25.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/baycom.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bonding.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bridge.txt/1.2/Wed Jun 2 20:34:38 2004/-ko/
-/comx.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cops.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cs89x0.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/de4x5.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/decnet.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/depca.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/dgrs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/dl2k.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/dmfe.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/driver.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/e100.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/e1000.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/eql.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ethertap.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ewrk3.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/filter.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/fore200e.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/framerelay.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/generic-hdlc.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ifenslave.c/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ip-sysctl.txt/1.3/Fri Jul 16 15:16:48 2004/-ko/
-/ip_dynaddr.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ipddp.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/iphase.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/irda.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ixgb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/lapb-module.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ltpc.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/multicast.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ncsa-telnet/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/net-modules.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/netconsole.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/netdevices.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/netif-msg.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/olympic.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/packet_mmap.txt/1.1.1.2/Mon Jul 12 21:57:19 2004/-ko/
-/pktgen.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/policy-routing.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ppp_generic.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/pt.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ray_cs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/routing.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/s2io.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sctp.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/shaper.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sis900.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sk98lin.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/skfp.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/slicecom.hun/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/slicecom.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/smc9.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/smctr.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tcp.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tlan.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tms380tr.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tuntap.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/vortex.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/wan-router.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/wanpipe.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/wavelan.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/x25-iface.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/x25.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/z8530drv.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/networking
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/debugging/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/registers/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/parisc
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/devices.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/interface.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/pci.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/states.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/swsusp.txt/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/tricks.txt/1.2/Wed Jun 2 20:34:39 2004/-ko/
-/video.txt/1.3/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/power
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/SBC8260_memory_mapping.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/hvcs.txt/1.1.3.1/Wed Sep 15 03:52:34 2004/-ko/
-/mpc52xx.txt/1.1.3.1/Wed Sep 15 03:52:34 2004/-ko/
-/ppc_htab.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/smp.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sound.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/zImage_layout.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/powerpc
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/3270.ChangeLog/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/3270.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/CommonIO/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/DASD/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Debugging390.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/TAPE/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cds.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/config3270.sh/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/driver-model.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/s390dbf.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D/crypto////
+++ /dev/null
-linux-2.6/Documentation/s390
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/crypto-API.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/s390/crypto
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/00-INDEX/1.2/Wed Jun 2 20:34:39 2004/-ko/
-/53c700.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/BusLogic.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog.ips/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog.megaraid/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog.ncr53c8xx/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog.sym53c8xx/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog.sym53c8xx_2/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/FlashPoint.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/LICENSE.FlashPoint/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Mylex.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/NinjaSCSI.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/aha152x.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/aic79xx.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/aic7xxx.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/aic7xxx_old.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cpqfc.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/dc395x.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/dpti.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/dtc3x80.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/g_NCR5380.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ibmmca.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/in2000.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ncr53c7xx.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ncr53c8xx.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/osst.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ppa.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/qla2xxx.revision.notes/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/qlogicfas.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/qlogicisp.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/scsi-generic.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/scsi.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/scsi_mid_low_api.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/st.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sym53c500_cs.txt/1.1.3.1/Wed Jun 2 19:38:12 2004/-ko/
-/sym53c8xx_2.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/tmscsim.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/scsi
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/driver/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/serial
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/kgdb.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/new-machine.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/sh
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-D/alsa////
-D/oss////
+++ /dev/null
-linux-2.6/Documentation/sound
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/ALSA-Configuration.txt/1.2/Wed Jun 2 20:34:39 2004/-ko/
-/Audigy-mixer.txt/1.1.3.1/Wed Jun 2 19:38:16 2004/-ko/
-/CMIPCI.txt/1.2/Wed Jun 2 20:34:39 2004/-ko/
-/ControlNames.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Joystick.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/MIXART.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/OSS-Emulation.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Procfile.txt/1.2/Wed Jun 2 20:34:39 2004/-ko/
-/SB-Live-mixer.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/seq_oss.html/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/serial-u16550.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D/DocBook////
+++ /dev/null
-linux-2.6/Documentation/sound/alsa
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/alsa-driver-api.tmpl/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/writing-an-alsa-driver.tmpl/1.2/Wed Jun 2 20:34:39 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/sound/alsa/DocBook
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/AD1816/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ALS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/AWE32/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/AudioExcelDSP16/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/CMI8330/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/CMI8338/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/CS4232/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog.awe/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ChangeLog.multisound/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ESS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ESS1868/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/INSTALL.awe/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Introduction/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/MAD16/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Maestro/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Maestro3/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/MultiSound/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/NEWS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/NM256/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/OPL3/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/OPL3-SA/1.2/Wed Jun 2 20:34:40 2004/-ko/
-/OPL3-SA2/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Opti/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/PAS16/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/PSS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/PSS-updates/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.OSS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.awe/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.modules/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.ymfsb/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/SoundPro/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Soundblaster/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Tropez+/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/VIA-chipset/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/VIBRA16/1.2/Wed Jun 2 20:34:40 2004/-ko/
-/WaveArtist/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Wavefront/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/btaudio/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/cs46xx/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/es1370/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/es1371/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/mwave/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/rme96xx/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/solo1/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sonicvibes/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ultrasound/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/vwsnd/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/sound/oss
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/README-2.5/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/sbus_drivers.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/sparc
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/abi.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/fs.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/kernel.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sunrpc.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/vm.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/sysctl
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/ixj.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/telephony
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/UserModeLinux-HOWTO.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/uml
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/CREDITS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/URB.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/acm.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/auerswald.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/bluetooth.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/dma.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ehci.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/error-codes.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/hiddev.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/hotplug.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ibmcam.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/linux.inf/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/mtouchusb.txt/1.2/Wed Jun 2 20:34:40 2004/-ko/
-/ohci.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ov511.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/philips.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/proc_usb_info.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/rio.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/se401.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/silverlink.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/sn9c102.txt/1.1.3.1/Mon Jul 19 17:08:20 2004/-ko/
-/stv680.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/uhci.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/usb-help.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/usb-serial.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/w9968cf.txt/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/usb
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/API.html/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/CARDLIST.bttv/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/CARDLIST.saa7134/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/CARDLIST.tuner/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/CQcam.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/README.cpia/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/README.cx88/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/README.ir/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/README.saa7134/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/Zoran/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/meye.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/radiotrack.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/w9966.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-/zr36120.txt/1.1.1.1/Wed Jun 2 19:23:32 2004/-ko/
-D/bttv////
+++ /dev/null
-linux-2.6/Documentation/video4linux
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/CONTRIBUTORS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Cards/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/ICs/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Insmod-options/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/MAKEDEV/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Modprobe.conf/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Modules.conf/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/PROBLEMS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.WINVIEW/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.freeze/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/README.quirks/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Sound-FAQ/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Specs/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/THANKS/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/Tuners/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/video4linux/bttv
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/balance/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/hugetlbpage.txt/1.2/Fri Jul 30 14:12:43 2004/-ko/
-/locking/1.2/Wed Jun 2 20:34:40 2004/-ko/
-/numa/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/overcommit-accounting/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/vm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/pcwd-watchdog.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/watchdog-api.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-/watchdog.txt/1.1.1.1/Wed Jun 2 19:23:33 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/watchdog
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/boot-options.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-/mm.txt/1.1.1.1/Wed Jun 2 19:23:34 2004/-ko/
-D
+++ /dev/null
-linux-2.6/Documentation/x86_64
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-D/alpha////
-D/arm////
-D/arm26////
-D/cris////
-D/h8300////
-D/i386////
-D/ia64////
-D/m68k////
-D/m68knommu////
-D/mips////
-D/parisc////
-D/ppc////
-D/ppc64////
-D/s390////
-D/sh////
-D/sh64////
-D/sparc////
-D/sparc64////
-D/um////
-D/v850////
-D/x86_64////
+++ /dev/null
-linux-2.6/arch
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.3/Thu Jun 3 22:32:16 2004/-ko/
-/Makefile/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/defconfig/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D/boot////
-D/kernel////
-D/lib////
-D/math-emu////
-D/mm////
-D/oprofile////
+++ /dev/null
-linux-2.6/arch/alpha
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/bootloader.lds/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/bootp.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/bootpz.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/main.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/misc.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D/tools////
+++ /dev/null
-linux-2.6/arch/alpha/boot
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/mkbb.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/objstrip.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/alpha/boot/tools
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/alpha_ksyms.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/asm-offsets.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/console.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/core_apecs.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/core_cia.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/core_irongate.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/core_lca.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/core_marvel.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/core_mcpcia.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/core_polaris.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/core_t2.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/core_titan.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/core_tsunami.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/core_wildfire.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/entry.S/1.2/Fri Jul 30 14:12:43 2004/-ko/
-/err_common.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/err_ev6.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/err_ev7.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/err_impl.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/err_marvel.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/err_titan.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/es1888.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/gct.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/init_task.c/1.2/Fri Jul 16 15:16:48 2004/-ko/
-/irq.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/irq_alpha.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/irq_i8259.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/irq_impl.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/irq_pyxis.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/irq_srm.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/machvec_impl.h/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/module.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/ns87312.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/osf_sys.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/pci-noop.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pci.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pci_impl.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pci_iommu.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/process.c/1.4/Fri Jul 30 14:12:43 2004/-ko/
-/proto.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ptrace.c/1.2/Thu Jun 3 22:32:16 2004/-ko/
-/semaphore.c/1.2/Wed Jun 2 20:34:41 2004/-ko/
-/setup.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/signal.c/1.4/Fri Jul 30 14:12:43 2004/-ko/
-/smc37c669.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/smc37c93x.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/smp.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/srm_env.c/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/srmcons.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_alcor.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_cabriolet.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_dp264.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/sys_eb64p.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_eiger.c/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/sys_jensen.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_marvel.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_miata.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_mikasa.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_nautilus.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_noritake.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_rawhide.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_ruffian.c/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/sys_rx164.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_sable.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_sio.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_sx164.c/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/sys_takara.c/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/sys_titan.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sys_wildfire.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/systbls.S/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/time.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/traps.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/vmlinux.lds.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/alpha/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/callback_srm.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/checksum.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/clear_page.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/clear_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/copy_page.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/copy_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/csum_ipv6_magic.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/csum_partial_copy.c/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/dbg_current.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/dbg_stackcheck.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/dbg_stackkill.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/dec_and_lock.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/divide.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-clear_page.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-clear_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-copy_page.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-copy_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-csum_ipv6_magic.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-divide.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-memchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-memcpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-memset.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-strncpy_from_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-stxcpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev6-stxncpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev67-strcat.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev67-strchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev67-strlen.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev67-strlen_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev67-strncat.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ev67-strrchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fpreg.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memcpy.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memmove.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memset.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/srm_printk.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/srm_puts.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/stacktrace.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strcasecmp.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strcat.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strcpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strlen.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strlen_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strncat.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strncpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strncpy_from_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strrchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/stxcpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/stxncpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/udelay.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/alpha/lib
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/math.c/1.2/Wed Jun 2 20:34:42 2004/-ko/
-/qrnnd.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sfp-util.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/alpha/math-emu
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/extable.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fault.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/init.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/numa.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/remap.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/alpha/mm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/common.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/op_impl.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/op_model_ev4.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/op_model_ev5.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/op_model_ev6.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/op_model_ev67.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/alpha/oprofile
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.5/Tue Jul 20 15:33:00 2004/-ko/
-/Makefile/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/defconfig/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D/boot////
-D/common////
-D/configs////
-D/kernel////
-D/lib////
-D/mach-adifcc////
-D/mach-clps711x////
-D/mach-clps7500////
-D/mach-ebsa110////
-D/mach-epxa10db////
-D/mach-footbridge////
-D/mach-ftvpci////
-D/mach-integrator////
-D/mach-iop3xx////
-D/mach-ixp4xx////
-D/mach-l7200////
-D/mach-lh7a40x////
-D/mach-omap////
-D/mach-pxa////
-D/mach-rpc////
-D/mach-s3c2410////
-D/mach-sa1100////
-D/mach-shark////
-D/mach-tbox////
-D/mach-versatile////
-D/mm////
-D/nwfpe////
-D/oprofile////
-D/tools////
-D/vfp////
+++ /dev/null
-linux-2.6/arch/arm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/install.sh/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D/bootp////
-D/compressed////
+++ /dev/null
-linux-2.6/arch/arm/boot
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/bootp.lds/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/init.S/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/initrd.S/1.1.3.1/Mon Jul 19 17:05:44 2004/-ko/
-/kernel.S/1.1.3.1/Mon Jul 19 17:05:44 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/boot/bootp
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/Makefile.debug/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/head-clps7500.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/head-epxa10db.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/head-l7200.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/head-sa1100.S/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/head-shark.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/head-xscale.S/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/head.S/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/hw-bse.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ice-dcc.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ll_char_wr.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/misc.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ofw-shark.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/piggy.S/1.1.3.1/Mon Jul 19 17:05:44 2004/-ko/
-/vmlinux.lds.in/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/boot/compressed
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/amba.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/dmabounce.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/icst525.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/locomo.c/1.1.3.1/Mon Jul 19 17:05:46 2004/-ko/
-/sa1111.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/time-acorn.c/1.1.3.1/Mon Jul 19 17:05:46 2004/-ko/
-/via82c505.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/common
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/a5k_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/adsbitsy_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/assabet_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/badge4_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/bast_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/brutus_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/cerfcube_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/clps7500_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ebsa110_defconfig/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/edb7211_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/empeg_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/epxa10db_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/flexanet_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/footbridge_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fortunet_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/freebird_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/freebird_new_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/graphicsclient_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/graphicsmaster_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/h3600_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/hackkit_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/huw_webpanel_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/integrator_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/iq80310_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/iq80321_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ixp4xx_defconfig/1.1.3.1/Wed Jun 2 19:33:20 2004/-ko/
-/jornada720_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/lart_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/lpd7a400_defconfig/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/lpd7a404_defconfig/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/lubbock_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/lusl7200_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mainstone_defconfig/1.1.3.2/Mon Jul 19 17:05:46 2004/-ko/
-/neponset_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/netwinder_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/omnimeter_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pangolin_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pfs168_mqtft_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pfs168_mqvga_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pfs168_sastn_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pfs168_satft_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pleb_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/rpc_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/s3c2410_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/shannon_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/shark_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/sherman_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/smdk2410_defconfig/1.1.3.1/Wed Jun 2 19:33:20 2004/-ko/
-/stork_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/system3_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/trizeps_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/versatile_defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/configs
+++ /dev/null
-/home/mef/projects/cvs
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
CONFIG_ARCH_IOP3XX=y
# CONFIG_DL2K is not set
CONFIG_E1000=y
CONFIG_E1000_NAPI=y
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.12-rc1-bk2
-# Sun Mar 27 22:53:40 2005
+# Linux kernel version: 2.6.15
+# Tue Jan 3 03:20:40 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_HOTPLUG is not set
CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
#
# System Type
#
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
#
#
# IXP4xx Platforms
#
-# CONFIG_ARCH_AVILA is not set
+CONFIG_ARCH_AVILA=y
CONFIG_ARCH_ADI_COYOTE=y
CONFIG_ARCH_IXDP425=y
-# CONFIG_MACH_IXDPG425 is not set
-# CONFIG_MACH_IXDP465 is not set
+CONFIG_MACH_IXDPG425=y
+CONFIG_MACH_IXDP465=y
CONFIG_ARCH_IXCDP1100=y
CONFIG_ARCH_PRPMC1100=y
+CONFIG_MACH_NAS100D=y
CONFIG_ARCH_IXDP4XX=y
+CONFIG_CPU_IXP46X=y
# CONFIG_MACH_GTWX5715 is not set
#
CONFIG_CPU_ABRT_EV5T=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_MINICACHE=y
#
# Processor Features
#
# Bus support
#
+CONFIG_ISA_DMA_API=y
CONFIG_PCI=y
CONFIG_PCI_LEGACY_PROC=y
-CONFIG_PCI_NAMES=y
+# CONFIG_PCI_DEBUG is not set
#
# PCCARD (PCMCIA/CardBus) support
# Kernel Features
#
# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
CONFIG_ALIGNMENT_TRAP=y
#
# At least one emulation must be selected
#
CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set
#
# Power management options
#
CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+# CONFIG_PM_DEBUG is not set
CONFIG_APM=y
#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-CONFIG_MTD_IXP4XX=y
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_PCI is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=m
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-CONFIG_MTD_NAND_IDS=m
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CDROM_PKTCDVD is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-CONFIG_IDE=y
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_BLK_DEV_IDEDISK=y
-# CONFIG_IDEDISK_MULTI_MODE is not set
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_IDE_GENERIC=y
-CONFIG_BLK_DEV_IDEPCI=y
-# CONFIG_IDEPCI_SHARE_IRQ is not set
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_GENERIC is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_SL82C105 is not set
-CONFIG_BLK_DEV_IDEDMA_PCI=y
-# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
-# CONFIG_IDEDMA_PCI_AUTO is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-CONFIG_BLK_DEV_CMD64X=y
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_HPT34X is not set
-CONFIG_BLK_DEV_HPT366=y
-# CONFIG_BLK_DEV_SC1200 is not set
-# CONFIG_BLK_DEV_PIIX is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-CONFIG_BLK_DEV_PDC202XX_NEW=y
-# CONFIG_PDC202XX_FORCE is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
-# CONFIG_IDE_ARM is not set
-CONFIG_BLK_DEV_IDEDMA=y
-# CONFIG_IDEDMA_IVB is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI device support
-#
-# CONFIG_SCSI is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-
-#
-# Networking support
+# Networking
#
CONFIG_NET=y
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=m
CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
CONFIG_INET_TUNNEL=m
-# CONFIG_IP_TCPDIAG is not set
-# CONFIG_IP_TCPDIAG_IPV6 is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
#
# IP: Virtual Server Configuration
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+
#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_AMANDA is not set
+# CONFIG_IP_NF_PPTP is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_REALM is not set
# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_DCCP is not set
# CONFIG_IP_NF_MATCH_COMMENT is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
+# CONFIG_IP_NF_MATCH_STRING is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
+# CONFIG_IP_NF_TARGET_NFQUEUE is not set
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
# CONFIG_IP_NF_TARGET_DSCP is not set
CONFIG_IP_NF_TARGET_MARK=m
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
+# CONFIG_IP_NF_TARGET_TTL is not set
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
# Bridge: Netfilter Configuration
#
# CONFIG_BRIDGE_NF_EBTABLES is not set
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
#
# SCTP Configuration (EXPERIMENTAL)
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
+
+#
+# Queueing/Scheduling
+#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_QOS=y
-CONFIG_NET_ESTIMATOR=y
+
+#
+# Classification
+#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
-# CONFIG_NET_CLS_IND is not set
# CONFIG_CLS_U32_MARK is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_ESTIMATOR=y
#
# Network testing
#
CONFIG_NET_PKTGEN=m
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_IDS=m
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_SL82C105 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+# CONFIG_IDEDMA_PCI_AUTO is not set
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+CONFIG_BLK_DEV_CMD64X=y
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+CONFIG_BLK_DEV_HPT366=y
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+CONFIG_BLK_DEV_PDC202XX_NEW=y
+# CONFIG_PDC202XX_FORCE is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Network device support
+#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
#
# Ethernet (10 or 100Mbit)
#
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
#
# Tulip family network device support
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
#
# Ethernet (10000 Mbit)
#
+# CONFIG_CHELSIO_T1 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
#
# Wireless 802.11b ISA/PCI cards support
#
+# CONFIG_AIRO is not set
CONFIG_HERMES=y
# CONFIG_PLX_HERMES is not set
# CONFIG_TMD_HERMES is not set
+# CONFIG_NORTEL_HERMES is not set
CONFIG_PCI_HERMES=y
# CONFIG_ATMEL is not set
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
#
# CONFIG_PRISM54 is not set
+# CONFIG_HOSTAP is not set
CONFIG_NET_WIRELESS=y
#
#
# ATM drivers
#
+# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=m
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
-CONFIG_SOUND_GAMEPORT=y
#
# Character devices
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# TPM devices
#
# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
#
# I2C support
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_IOP3XX is not set
-# CONFIG_I2C_ISA is not set
CONFIG_I2C_IXP4XX=y
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_PCA_ISA is not set
#
-# Hardware Sensors Chip support
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_RTC_X1205_I2C is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Hardware Monitoring support
#
-CONFIG_I2C_SENSOR=y
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
#
-# Other I2C Chip support
+# Misc devices
#
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
#
-# Misc devices
+# Multimedia Capabilities Port drivers
#
#
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
#
# USB Gadget Support
#
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
+# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
-
-#
-# XFS support
-#
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
-# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
#
# Miscellaneous filesystems
# CONFIG_JFFS_FS is not set
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
-# CONFIG_JFFS2_FS_NAND is not set
-# CONFIG_JFFS2_FS_NOR_ECC is not set
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
#
# Partition Types
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_WAITQ is not set
CONFIG_DEBUG_ERRORS=y
# Library routines
#
# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
+++ /dev/null
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/apm.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/arch.c/1.2/Wed Jun 2 20:34:43 2004/-ko/
-/armksyms.c/1.2/Wed Jun 2 20:34:43 2004/-ko/
-/arthur.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/asm-offsets.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/bios32.c/1.2/Wed Jun 2 20:34:43 2004/-ko/
-/calls.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/compat.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/debug.S/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/dma-isa.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ecard.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/entry-armv.S/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/entry-common.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/entry-header.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fiq.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/head.S/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/init_task.c/1.2/Fri Jul 16 15:16:48 2004/-ko/
-/io.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/irq.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/isa.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/module.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/process.c/1.3/Fri Jul 16 15:16:48 2004/-ko/
-/ptrace.c/1.3/Thu Jun 3 22:32:16 2004/-ko/
-/ptrace.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/semaphore.c/1.2/Wed Jun 2 20:34:44 2004/-ko/
-/setup.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/signal.c/1.3/Fri Jul 16 15:16:48 2004/-ko/
-/sys_arm.c/1.2/Wed Jun 2 20:34:44 2004/-ko/
-/time.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/traps.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/vmlinux.lds.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/ashldi3.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ashrdi3.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/backtrace.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/changebit.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/clearbit.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/copy_page.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/csumipv6.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/csumpartial.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/csumpartialcopy.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/csumpartialcopygeneric.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/csumpartialcopyuser.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/delay.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/div64.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ecard.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/findbit.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/floppydma.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/gcclib.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/getuser.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/io-acorn.S/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/io-readsb.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/io-readsl-armv3.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/io-readsl-armv4.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/io-readsw-armv3.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io-readsw-armv4.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io-shark.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io-writesb.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/io-writesl.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io-writesw-armv3.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io-writesw-armv4.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/lib1funcs.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/longlong.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/lshrdi3.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/memchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memcpy.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/memset.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memzero.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/muldi3.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/putuser.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/setbit.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/strchr.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/strncpy_from_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strnlen_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strrchr.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/testchangebit.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/testclearbit.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/testsetbit.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/uaccess.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ucmpdi2.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/udivdi3.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/lib
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-linux-2.6/arch/arm/mach-adifcc
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/autcpu12.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/cdb89712.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/ceiva.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/clep7312.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/edb7211-arch.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/edb7211-mm.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fortunet.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mm.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/p720t-leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/p720t.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/time.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-clps711x
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/core.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-clps7500
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/core.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/io.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-ebsa110
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/arch.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mm.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/time.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-epxa10db
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/arch.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/cats-hw.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/cats-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/dc21285.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ebsa285-leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ebsa285-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/isa-irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mm.c/1.2/Wed Jun 2 20:34:44 2004/-ko/
-/netwinder-hw.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/netwinder-leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/netwinder-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/personal-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/time.c/1.1.3.1/Mon Jul 19 17:05:42 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-footbridge
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-linux-2.6/arch/arm/mach-ftvpci
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/Makefile/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/clock.c/1.1.3.1/Tue Jul 13 17:47:12 2004/-ko/
-/clock.h/1.1.3.1/Tue Jul 13 17:47:12 2004/-ko/
-/core.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/cpu.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/impd1.c/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/integrator_ap.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/integrator_cp.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/lm.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pci_v3.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/time.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-integrator
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/arch.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/iop310-irq.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-/iop310-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/iop321-irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/iop321-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/iop321-time.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/iq80310-irq.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-/iq80310-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/iq80310-time.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-/iq80321-pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mm-321.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-/mm.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-/xs80200-irq.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-iop3xx
+++ /dev/null
-/home/mef/projects/cvs
#include <asm/page.h>
#include <asm/mach/map.h>
-#include <asm/mach-types.h>
/*
+++ /dev/null
-/Kconfig/1.1.3.2/Tue Jul 13 17:47:11 2004/-ko/
-/Makefile/1.1.3.1/Wed Jun 2 19:33:29 2004/-ko/
-/common-pci.c/1.1.3.2/Wed Sep 15 03:52:49 2004/-ko/
-/common.c/1.1.3.2/Mon Jul 19 17:05:41 2004/-ko/
-/coyote-pci.c/1.1.3.1/Wed Jun 2 19:33:29 2004/-ko/
-/coyote-setup.c/1.1.3.3/Wed Sep 15 03:52:49 2004/-ko/
-/ixdp425-pci.c/1.1.3.1/Wed Jun 2 19:33:29 2004/-ko/
-/ixdp425-setup.c/1.1.3.3/Wed Sep 15 03:52:49 2004/-ko/
-/prpmc1100-pci.c/1.1.3.1/Wed Jun 2 19:33:29 2004/-ko/
-/prpmc1100-setup.c/1.1.3.3/Wed Sep 15 03:52:49 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-ixp4xx
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/core.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-l7200
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/arch-kev7a400.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/arch-lpd7a40x.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/fiq.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ide-lpd7a40x.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq-kev7a400.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq-lh7a400.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq-lh7a404.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq-lpd7a40x.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/time.c/1.1.3.1/Mon Jul 19 17:05:45 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-lh7a40x
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/board-generic.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/board-innovator.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/board-osk.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/board-perseus2.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/bus.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/clocks.c/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/common.c/1.1.1.2/Mon Jul 12 21:55:40 2004/-ko/
-/common.h/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/dma.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/fpga.c/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/gpio.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/irq.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/leds-innovator.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-perseus2.c/1.2/Wed Jun 2 20:34:45 2004/-ko/
-/leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mux.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ocpi.c/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/time.c/1.1.3.1/Mon Jul 19 17:05:44 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-omap
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/Makefile/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/dma.c/1.2/Wed Jun 2 20:34:46 2004/-ko/
-/generic.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/generic.h/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/idp.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/leds-idp.c/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/leds-lubbock.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/leds-mainstone.c/1.1.3.2/Tue Jul 13 17:47:12 2004/-ko/
-/leds.c/1.2/Wed Jun 2 20:34:46 2004/-ko/
-/leds.h/1.2/Wed Jun 2 20:34:46 2004/-ko/
-/lubbock.c/1.4/Tue Jul 20 15:33:00 2004/-ko/
-/mainstone.c/1.1.3.3/Mon Jul 19 17:05:42 2004/-ko/
-/pm.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/pxa25x.c/1.1.3.2/Tue Jun 8 17:10:27 2004/-ko/
-/pxa27x.c/1.1.3.2/Tue Jun 8 17:10:27 2004/-ko/
-/sleep.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/time.c/1.1.3.1/Mon Jul 19 17:05:42 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-pxa
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/riscpc.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-rpc
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/Makefile/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/bast-irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/bast.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/gpio.c/1.1.3.1/Wed Sep 15 03:52:50 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mach-bast.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/mach-h1940.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/mach-smdk2410.c/1.1.3.3/Wed Sep 15 03:52:50 2004/-ko/
-/mach-vr1000.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/s3c2410.c/1.2/Wed Jun 2 20:34:46 2004/-ko/
-/s3c2410.h/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/time.c/1.1.3.1/Mon Jul 19 17:05:42 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-s3c2410
+++ /dev/null
-/home/mef/projects/cvs
* 04-Oct-2004 BJD Added irq filter controls for GPIO
* 05-Nov-2004 BJD EXPORT_SYMBOL() added for all code
* 13-Mar-2005 BJD Updates for __iomem
+ * 26-Oct-2005 BJD Added generic configuration types
+ * 15-Jan-2006 LCVR Added support for the S3C2400
*/
void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
{
- void __iomem *base = S3C2410_GPIO_BASE(pin);
+ void __iomem *base = S3C24XX_GPIO_BASE(pin);
unsigned long mask;
unsigned long con;
unsigned long flags;
mask = 3 << S3C2410_GPIO_OFFSET(pin)*2;
}
+ switch (function) {
+ case S3C2410_GPIO_LEAVE:
+ mask = 0;
+ function = 0;
+ break;
+
+ case S3C2410_GPIO_INPUT:
+ case S3C2410_GPIO_OUTPUT:
+ case S3C2410_GPIO_SFN2:
+ case S3C2410_GPIO_SFN3:
+ if (pin < S3C2410_GPIO_BANKB) {
+ function &= 1;
+ function <<= S3C2410_GPIO_OFFSET(pin);
+ } else {
+ function &= 3;
+ function <<= S3C2410_GPIO_OFFSET(pin)*2;
+ }
+ }
+
+ /* modify the specified register wwith IRQs off */
+
local_irq_save(flags);
con = __raw_readl(base + 0x00);
unsigned int s3c2410_gpio_getcfg(unsigned int pin)
{
- void __iomem *base = S3C2410_GPIO_BASE(pin);
+ void __iomem *base = S3C24XX_GPIO_BASE(pin);
unsigned long mask;
if (pin < S3C2410_GPIO_BANKB) {
void s3c2410_gpio_pullup(unsigned int pin, unsigned int to)
{
- void __iomem *base = S3C2410_GPIO_BASE(pin);
+ void __iomem *base = S3C24XX_GPIO_BASE(pin);
unsigned long offs = S3C2410_GPIO_OFFSET(pin);
unsigned long flags;
unsigned long up;
void s3c2410_gpio_setpin(unsigned int pin, unsigned int to)
{
- void __iomem *base = S3C2410_GPIO_BASE(pin);
+ void __iomem *base = S3C24XX_GPIO_BASE(pin);
unsigned long offs = S3C2410_GPIO_OFFSET(pin);
unsigned long flags;
unsigned long dat;
unsigned int s3c2410_gpio_getpin(unsigned int pin)
{
- void __iomem *base = S3C2410_GPIO_BASE(pin);
+ void __iomem *base = S3C24XX_GPIO_BASE(pin);
unsigned long offs = S3C2410_GPIO_OFFSET(pin);
return __raw_readl(base + 0x04) & (1<< offs);
unsigned long misccr;
local_irq_save(flags);
- misccr = __raw_readl(S3C2410_MISCCR);
+ misccr = __raw_readl(S3C24XX_MISCCR);
misccr &= ~clear;
misccr ^= change;
- __raw_writel(misccr, S3C2410_MISCCR);
+ __raw_writel(misccr, S3C24XX_MISCCR);
local_irq_restore(flags);
return misccr;
}
EXPORT_SYMBOL(s3c2410_modify_misccr);
-
-int s3c2410_gpio_getirq(unsigned int pin)
-{
- if (pin < S3C2410_GPF0 || pin > S3C2410_GPG15_EINT23)
- return -1; /* not valid interrupts */
-
- if (pin < S3C2410_GPG0 && pin > S3C2410_GPF7)
- return -1; /* not valid pin */
-
- if (pin < S3C2410_GPF4)
- return (pin - S3C2410_GPF0) + IRQ_EINT0;
-
- if (pin < S3C2410_GPG0)
- return (pin - S3C2410_GPF4) + IRQ_EINT4;
-
- return (pin - S3C2410_GPG0) + IRQ_EINT8;
-}
-
-EXPORT_SYMBOL(s3c2410_gpio_getirq);
-
-int s3c2410_gpio_irqfilter(unsigned int pin, unsigned int on,
- unsigned int config)
-{
- void __iomem *reg = S3C2410_EINFLT0;
- unsigned long flags;
- unsigned long val;
-
- if (pin < S3C2410_GPG8 || pin > S3C2410_GPG15)
- return -1;
-
- config &= 0xff;
-
- pin -= S3C2410_GPG8_EINT16;
- reg += pin & ~3;
-
- local_irq_save(flags);
-
- /* update filter width and clock source */
-
- val = __raw_readl(reg);
- val &= ~(0xff << ((pin & 3) * 8));
- val |= config << ((pin & 3) * 8);
- __raw_writel(val, reg);
-
- /* update filter enable */
-
- val = __raw_readl(S3C2410_EXTINT2);
- val &= ~(1 << ((pin * 4) + 3));
- val |= on << ((pin * 4) + 3);
- __raw_writel(val, S3C2410_EXTINT2);
-
- local_irq_restore(flags);
-
- return 0;
-}
-
-EXPORT_SYMBOL(s3c2410_gpio_irqfilter);
#include <linux/timer.h>
#include <linux/init.h>
#include <linux/delay.h>
-#include <linux/device.h>
+#include <linux/platform_device.h>
#include <linux/kthread.h>
#include <asm/mach/arch.h>
.devices_count = ARRAY_SIZE(n30_devices)
};
-void __init n30_map_io(void)
+static void __init n30_map_io(void)
{
s3c24xx_init_io(n30_iodesc, ARRAY_SIZE(n30_iodesc));
s3c24xx_init_clocks(0);
s3c24xx_set_board(&n30_board);
}
-void __init n30_init_irq(void)
+static void __init n30_init_irq(void)
{
s3c24xx_init_irq();
}
+/* GPB3 is the line that controls the pull-up for the USB D+ line */
-static int n30_usbstart_thread(void *unused)
+static void __init n30_init(void)
{
+ s3c_device_i2c.dev.platform_data = &n30_i2ccfg;
+
/* Turn off suspend on both USB ports, and switch the
* selectable USB port to USB device mode. */
- writel(readl(S3C2410_MISCCR) & ~0x00003008, S3C2410_MISCCR);
-
- /* Turn off the D+ pull up for 3 seconds so that the USB host
- * at the other end will do a rescan of the USB bus. */
- s3c2410_gpio_setpin(S3C2410_GPB3, 0);
-
- msleep_interruptible(3*HZ);
-
- s3c2410_gpio_setpin(S3C2410_GPB3, 1);
-
- return 0;
-}
-
-
-void __init n30_init(void)
-{
- s3c_device_i2c.dev.platform_data = &n30_i2ccfg;
- kthread_run(n30_usbstart_thread, NULL, "n30_usbstart");
+ s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST |
+ S3C2410_MISCCR_USBSUSPND0 |
+ S3C2410_MISCCR_USBSUSPND1, 0x0);
}
MACHINE_START(N30, "Acer-N30")
- MAINTAINER("Christer Weinigel <christer@weinigel.se>, Ben Dooks <ben-linux@fluff.org>")
- BOOT_MEM(S3C2410_SDRAM_PA, S3C2410_PA_UART, (u32)S3C24XX_VA_UART)
- BOOT_PARAMS(S3C2410_SDRAM_PA + 0x100)
-
+ /* Maintainer: Christer Weinigel <christer@weinigel.se>,
+ Ben Dooks <ben-linux@fluff.org>
+ */
+ .phys_io = S3C2410_PA_UART,
+ .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
+ .boot_params = S3C2410_SDRAM_PA + 0x100,
.timer = &s3c24xx_timer,
.init_machine = n30_init,
.init_irq = n30_init_irq,
+++ /dev/null
-/Kconfig/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/Makefile/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/adsbitsy.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/assabet.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/badge4.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/brutus.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/cerf.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/collie.c/1.1.3.2/Wed Sep 15 03:52:50 2004/-ko/
-/cpu-sa1100.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/cpu-sa1110.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/empeg.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/flexanet.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/freebird.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/generic.c/1.2/Wed Jun 2 20:34:46 2004/-ko/
-/generic.h/1.3/Tue Jul 20 15:33:00 2004/-ko/
-/graphicsclient.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/graphicsmaster.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/h3600.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/hackkit.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/huw_webpanel.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/itsy.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/jornada720.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/lart.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/leds-adsbitsy.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-assabet.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-badge4.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-brutus.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-cerf.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-flexanet.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-graphicsclient.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-graphicsmaster.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-hackkit.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-lart.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-pfs168.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-simpad.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds-system3.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/nanoengine.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/neponset.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/omnimeter.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/pangolin.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/pfs168.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/pleb.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/pm.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/shannon.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/sherman.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/simpad.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/sleep.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ssp.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/stork.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/system3.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/time.c/1.1.3.1/Mon Jul 19 17:05:42 2004/-ko/
-/trizeps.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/xp860.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/yopy.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-sa1100
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/core.c/1.2/Tue Jul 20 15:33:00 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/leds.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/pci.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-shark
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-linux-2.6/arch/arm/mach-tbox
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/clock.c/1.1.3.2/Mon Jul 19 17:05:46 2004/-ko/
-/clock.h/1.1.3.1/Tue Jul 13 17:47:14 2004/-ko/
-/core.c/1.3/Tue Jul 20 15:33:00 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mach-versatile
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/abort-ev4.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/abort-ev4t.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/abort-ev5t.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/abort-ev5tj.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/abort-ev6.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/abort-lv4t.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/alignment.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/blockops.c/1.2/Wed Jun 2 20:34:47 2004/-ko/
-/cache-v3.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/cache-v4.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/cache-v4wb.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/cache-v4wt.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/cache-v6.S/1.2/Wed Jun 2 20:34:47 2004/-ko/
-/consistent.c/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/copypage-v3.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/copypage-v4mc.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/copypage-v4wb.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/copypage-v4wt.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/copypage-v6.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/copypage-xscale.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/discontig.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/extable.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fault-armv.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/fault.c/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/fault.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/init.c/1.4/Tue Jul 20 15:33:01 2004/-ko/
-/ioremap.c/1.2/Wed Jun 2 20:34:48 2004/-ko/
-/minicache.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mm-armv.c/1.2/Wed Jun 2 20:34:48 2004/-ko/
-/mmap.c/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/mmu.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm1020.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm1020e.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm1022.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm1026.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm6_7.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm720.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm920.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm922.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm925.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-arm926.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-macros.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-sa110.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-sa1100.S/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/proc-syms.c/1.1.1.2/Mon Jul 12 21:55:39 2004/-ko/
-/proc-v6.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/proc-xscale.S/1.2/Wed Jun 2 20:34:48 2004/-ko/
-/tlb-v3.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/tlb-v4.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/tlb-v4wb.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/tlb-v4wbi.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/tlb-v6.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/mm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/ARM-gcc.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ChangeLog/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/double_cpdo.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/entry.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/entry26.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/extended_cpdo.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpa11.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpa11.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpa11.inl/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpa11_cpdo.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpa11_cpdt.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpa11_cprt.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpmodule.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpmodule.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpmodule.inl/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpopcode.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpopcode.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fpsr.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/milieu.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/single_cpdo.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/softfloat-macros/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/softfloat-specialize/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/softfloat.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/softfloat.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/nwfpe
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/common.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/init.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/op_arm_model.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/op_counter.h/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/op_model_xscale.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/oprofile
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/gen-mach-types/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/mach-types/1.2/Tue Jul 20 15:33:01 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/tools
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-/entry.S/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-/vfp.h/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-/vfpdouble.c/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-/vfphw.S/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-/vfpinstr.h/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-/vfpmodule.c/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-/vfpsingle.c/1.1.3.1/Tue Jul 13 17:47:15 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm/vfp
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/ACKNOWLEDGEMENTS/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/Kconfig/1.2/Thu Jun 3 22:32:16 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/defconfig/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D/boot////
-D/kernel////
-D/lib////
-D/machine////
-D/mm////
-D/nwfpe////
+++ /dev/null
-linux-2.6/arch/arm26
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/install.sh/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D/compressed////
+++ /dev/null
-linux-2.6/arch/arm26/boot
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/hw-bse.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ll_char_wr.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/misc.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ofw-shark.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/uncompress.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/vmlinux.lds.in/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm26/boot/compressed
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/armksyms.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/asm-offsets.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/compat.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ecard.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/entry.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fiq.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/init_task.c/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/irq.c/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/process.c/1.2/Wed Jun 2 20:34:48 2004/-ko/
-/ptrace.c/1.2/Thu Jun 3 22:32:16 2004/-ko/
-/ptrace.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/semaphore.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/setup.c/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/signal.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/sys_arm.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/time-acorn.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/time.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/traps.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/vmlinux-arm26-xip.lds.in/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/vmlinux-arm26.lds.in/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/vmlinux.lds.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm26/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ashldi3.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ashrdi3.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/backtrace.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/changebit.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/clearbit.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/copy_page.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/csumipv6.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/csumpartial.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/csumpartialcopy.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/csumpartialcopygeneric.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/csumpartialcopyuser.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/delay.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ecard.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/findbit.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/floppydma.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/gcclib.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/getuser.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/io-acorn.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/io-readsb.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/io-readsl-armv3.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/io-readsw-armv3.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/io-writesb.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/io-writesl.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/io-writesw-armv3.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/kbd.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/lib1funcs.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/longlong.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/lshrdi3.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/memchr.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/memcpy.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/memset.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/memzero.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/muldi3.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/putuser.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/setbit.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/strchr.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/strrchr.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/testchangebit.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/testclearbit.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/testsetbit.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/uaccess-kernel.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/uaccess-user.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ucmpdi2.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/udivdi3.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm26/lib
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/dma.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/oldlatches.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/small_page.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm26/machine
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/extable.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fault.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fault.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/init.c/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/mm-memc.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/proc-funcs.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm26/mm
+++ /dev/null
-/home/mef/projects/cvs
if (!new_pgd)
goto no_pgd;
- /*
- * This lock is here just to satisfy pmd_alloc and pte_lock
- * FIXME: I bet we could avoid taking it pretty much altogether
- */
- spin_lock(&mm->page_table_lock);
-
/*
* On ARM, first page must always be allocated since it contains
* the machine vectors.
if (!new_pmd)
goto no_pmd;
- new_pte = pte_alloc_kernel(mm, new_pmd, 0);
+ new_pte = pte_alloc_map(mm, new_pmd, 0);
if (!new_pte)
goto no_pte;
init_pte = pte_offset(init_pmd, 0);
set_pte(new_pte, *init_pte);
+ pte_unmap(new_pte);
/*
* the page table entries are zeroed
memcpy(new_pgd + FIRST_KERNEL_PGD_NR, init_pgd + FIRST_KERNEL_PGD_NR,
(PTRS_PER_PGD - FIRST_KERNEL_PGD_NR) * sizeof(pgd_t));
- spin_unlock(&mm->page_table_lock);
-
/* update MEMC tables */
cpu_memc_update_all(new_pgd);
return new_pgd;
no_pte:
- spin_unlock(&mm->page_table_lock);
pmd_free(new_pmd);
- free_pgd_slow(new_pgd);
- return NULL;
-
no_pmd:
- spin_unlock(&mm->page_table_lock);
free_pgd_slow(new_pgd);
- return NULL;
-
no_pgd:
return NULL;
}
+++ /dev/null
-/ARM-gcc.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ChangeLog/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/double_cpdo.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/entry.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/extended_cpdo.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpa11.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpa11.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpa11.inl/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpa11_cpdo.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpa11_cpdt.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpa11_cprt.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpmodule.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpmodule.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpmodule.inl/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpopcode.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpopcode.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpsr.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/milieu.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/single_cpdo.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/softfloat-macros/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/softfloat-specialize/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/softfloat.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/softfloat.h/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/arm26/nwfpe
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/Makefile/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/defconfig/1.2/Tue Jun 8 21:22:58 2004/-ko/
-D/arch-v10////
-D/kernel////
-D/mm////
+++ /dev/null
-linux-2.6/arch/cris
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/README.mm/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/defconfig/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/output_arch.ld/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/vmlinux.lds.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D/boot////
-D/drivers////
-D/kernel////
-D/lib////
-D/mm////
+++ /dev/null
-linux-2.6/arch/cris/arch-v10
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D/compressed////
-D/rescue////
-D/tools////
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/boot
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/decompress.ld/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/misc.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/boot/compressed
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/kimagerescue.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/rescue.ld/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/testrescue.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/boot/rescue
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/build.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/boot/tools
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/Makefile/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/axisflashmap.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/ds1302.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/eeprom.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/ethernet.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/gpio.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/i2c.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/i2c.h/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/ide.c/1.1.3.1/Tue Jun 8 17:10:01 2004/-ko/
-/pcf8563.c/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/serial.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/serial.h/1.2/Tue Jun 8 21:22:58 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/drivers
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/asm-offsets.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/debugport.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/entry.S/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/fasttimer.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/head.S/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/irq.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/kgdb.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/process.c/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/ptrace.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/setup.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/shadows.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/signal.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/time.c/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/traps.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/checksum.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/checksumcopy.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/csumcpfruser.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/dmacopy.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/dram_init.S/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/hw_settings.S/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/memset.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/old_checksum.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/string.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/usercopy.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/lib
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fault.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/init.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/tlb.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/arch-v10/mm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/crisksyms.c/1.1.3.1/Tue Jun 8 17:10:02 2004//
-/irq.c/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/module.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/process.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/ptrace.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/semaphore.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/setup.c/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/sys_cris.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/time.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/traps.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fault.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/init.c/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/ioremap.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/tlb.c/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/cris/mm
+++ /dev/null
-/home/mef/projects/cvs
# - reserve CC3 for use with atomic ops
# - all the extra registers are dealt with only at context switch time
CFLAGS += -mno-fdpic -mgpr-32 -msoft-float -mno-media
-CFLAGS += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15
+CFLAGS += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2
AFLAGS += -mno-fdpic
ASFLAGS += -mno-fdpic
$(Q)$(MAKEBOOT) bootstrap
archmrproper:
- $(Q)$(MAKE) -C arch/frv/boot mrproper
+ $(Q)$(MAKE) $(build)=arch/frv/boot mrproper
archclean:
- $(Q)$(MAKE) -C arch/frv/boot clean
+ $(Q)$(MAKE) $(build)=arch/frv/boot clean
archdep: scripts/mkdep symlinks
- $(Q)$(MAKE) -C arch/frv/boot dep
+ $(Q)$(MAKE) $(build)=arch/frv/boot dep
# installation
#
install: $(CONFIGURE) Image
- sh ./install.sh $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) Image $(TOPDIR)/System.map "$(INSTALL_PATH)"
+ sh ./install.sh $(KERNELRELEASE) Image $(TOPDIR)/System.map "$(INSTALL_PATH)"
zinstall: $(CONFIGURE) zImage
- sh ./install.sh $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) zImage $(TOPDIR)/System.map "$(INSTALL_PATH)"
+ sh ./install.sh $(KERNELRELEASE) zImage $(TOPDIR)/System.map "$(INSTALL_PATH)"
#
# miscellany
obj-$(CONFIG_PM) += pm.o cmode.o
obj-$(CONFIG_MB93093_PDK) += pm-mb93093.o
obj-$(CONFIG_SYSCTL) += sysctl.o
+obj-$(CONFIG_FUTEX) += futex.o
+obj-$(CONFIG_MODULES) += module.o
#endif
)
SCHED_TEXT
+ LOCK_TEXT
*(.fixup)
*(.gnu.warning)
*(.exitcall.exit)
#include <net/checksum.h>
#include <asm/checksum.h>
+#include <linux/module.h>
static inline unsigned short from32to16(unsigned long x)
{
return result;
}
+EXPORT_SYMBOL(csum_partial);
+
/*
* this routine is used for miscellaneous IP-like checksums, mainly
* in icmp.c
*/
unsigned short ip_compute_csum(const unsigned char * buff, int len)
{
- return ~do_csum(buff,len);
+ return ~do_csum(buff, len);
}
+EXPORT_SYMBOL(ip_compute_csum);
+
/*
* copy from fs while checksumming, otherwise like csum_partial
*/
-
unsigned int
-csum_partial_copy_from_user(const char *src, char *dst, int len, int sum, int *csum_err)
+csum_partial_copy_from_user(const char __user *src, char *dst,
+ int len, int sum, int *csum_err)
{
- if (csum_err) *csum_err = 0;
- memcpy(dst, src, len);
+ int rem;
+
+ if (csum_err)
+ *csum_err = 0;
+
+ rem = copy_from_user(dst, src, len);
+ if (rem != 0) {
+ if (csum_err)
+ *csum_err = -EFAULT;
+ memset(dst + len - rem, 0, rem);
+ len = rem;
+ }
+
return csum_partial(dst, len, sum);
}
+EXPORT_SYMBOL(csum_partial_copy_from_user);
+
/*
* copy from ds while checksumming, otherwise like csum_partial
*/
-
unsigned int
csum_partial_copy(const char *src, char *dst, int len, int sum)
{
memcpy(dst, src, len);
return csum_partial(dst, len, sum);
}
+
+EXPORT_SYMBOL(csum_partial_copy);
* the fault.
*/
switch (handle_mm_fault(mm, vma, ear0, write)) {
- case 1:
+ case VM_FAULT_MINOR:
current->min_flt++;
break;
- case 2:
+ case VM_FAULT_MAJOR:
current->maj_flt++;
break;
- case 0:
+ case VM_FAULT_SIGBUS:
goto do_sigbus;
default:
goto out_of_memory;
struct page *page = virt_to_page(pgd);
page->index = (unsigned long) pgd_list;
if (pgd_list)
- pgd_list->private = (unsigned long) &page->index;
+ set_page_private(pgd_list, (unsigned long) &page->index);
pgd_list = page;
- page->private = (unsigned long) &pgd_list;
+ set_page_private(page, (unsigned long)&pgd_list);
}
static inline void pgd_list_del(pgd_t *pgd)
{
struct page *next, **pprev, *page = virt_to_page(pgd);
next = (struct page *) page->index;
- pprev = (struct page **) page->private;
+ pprev = (struct page **) page_private(page);
*pprev = next;
if (next)
- next->private = (unsigned long) pprev;
+ set_page_private(next, (unsigned long) pprev);
}
void pgd_ctor(void *pgd, kmem_cache_t *cache, unsigned long unused)
+++ /dev/null
-/Kconfig/1.4/Fri Jul 16 15:16:49 2004/-ko/
-/Kconfig.cpu/1.1.3.1/Wed Jun 2 19:33:35 2004/-ko/
-/Kconfig.ide/1.2/Wed Jun 2 20:34:49 2004/-ko/
-/Makefile/1.2/Wed Jun 2 20:34:49 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/defconfig/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D/boot////
-D/kernel////
-D/lib////
-D/mm////
-D/platform////
+++ /dev/null
-linux-2.6/arch/h8300
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/boot
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Wed Jun 2 20:34:49 2004/-ko/
-/asm-offsets.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/gpio.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/h8300_ksyms.c/1.2/Wed Jun 2 20:34:49 2004/-ko/
-/init_task.c/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/ints.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/module.c/1.1.3.1/Wed Jun 2 19:33:37 2004/-ko/
-/process.c/1.2/Wed Jun 2 20:34:49 2004/-ko/
-/ptrace.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/semaphore.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/setup.c/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/signal.c/1.2/Wed Jun 2 20:34:50 2004/-ko/
-/sys_h8300.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/syscalls.S/1.2/Wed Jun 2 20:34:50 2004/-ko/
-/time.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/traps.c/1.2/Wed Jun 2 20:34:50 2004/-ko/
-/vmlinux.lds.S/1.2/Wed Jun 2 20:34:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/abs.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ashrdi3.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/checksum.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/memcpy.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/memset.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/romfs.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/lib
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/fault.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/init.c/1.2/Wed Jun 2 20:34:50 2004/-ko/
-/kmap.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/memory.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/mm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-D/h8300h////
-D/h8s////
+++ /dev/null
-linux-2.6/arch/h8300/platform
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/entry.S/1.2/Wed Jun 2 20:34:50 2004/-ko/
-/ints_h8300h.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ptrace_h8300h.c/1.2/Wed Jun 2 20:34:50 2004/-ko/
-D/aki3068net////
-D/generic////
-D/h8max////
+++ /dev/null
-linux-2.6/arch/h8300/platform/h8300h
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_ram.S/1.2/Wed Jun 2 20:34:50 2004/-ko/
-/ram.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/timer.c/1.2/Wed Jun 2 20:34:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/platform/h8300h/aki3068net
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_ram.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_rom.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ram.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/rom.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/timer.c/1.2/Wed Jun 2 20:34:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/platform/h8300h/generic
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_ram.S/1.2/Wed Jun 2 20:34:50 2004/-ko/
-/ram.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/timer.c/1.2/Wed Jun 2 20:34:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/platform/h8300h/h8max
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/entry.S/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/ints.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ints_h8s.c/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ptrace_h8s.c/1.2/Fri Jul 16 15:16:49 2004/-ko/
-D/edosk2674////
-D/generic////
+++ /dev/null
-linux-2.6/arch/h8300/platform/h8s
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_ram.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_rom.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ram.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/rom.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/timer.c/1.2/Wed Jun 2 20:34:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/platform/h8s/edosk2674
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_ram.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/crt0_rom.S/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/ram.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/rom.ld/1.1.1.1/Wed Jun 2 19:22:52 2004/-ko/
-/timer.c/1.2/Wed Jun 2 20:34:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/h8300/platform/h8s/generic
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.6/Sun Sep 12 03:11:13 2004/-ko/
-/Makefile/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/defconfig/1.2/Tue Jul 20 15:33:01 2004/-ko/
-D/boot////
-D/boot98////
-D/crypto////
-D/kernel////
-D/lib////
-D/mach-default////
-D/mach-es7000////
-D/mach-generic////
-D/mach-pc9800////
-D/mach-visws////
-D/mach-voyager////
-D/math-emu////
-D/mm////
-D/oprofile////
-D/pci////
-D/power////
+++ /dev/null
-linux-2.6/arch/i386
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Sun Sep 12 03:11:13 2004/-ko/
-/bootsect.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/edd.S/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/install.sh/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/mtools.conf.in/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/setup.S/1.2/Wed Jun 2 20:34:51 2004/-ko/
-/video.S/1.2/Wed Jun 2 20:34:51 2004/-ko/
-D/compressed////
-D/tools////
+++ /dev/null
-linux-2.6/arch/i386/boot
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/misc.c/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/vmlinux.scr/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/boot/compressed
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/build.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/boot/tools
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-D/compressed////
-D/tools////
+++ /dev/null
-linux-2.6/arch/i386/boot98
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/head.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/misc.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/vmlinux.scr/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/boot98/compressed
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/build.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/boot98/tools
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.3.1/Wed Sep 15 03:52:57 2004/-ko/
-/aes-i586-asm.S/1.1.3.1/Wed Sep 15 03:52:57 2004/-ko/
-/aes.c/1.1.3.1/Wed Sep 15 03:52:57 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/crypto
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/apic.c/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/apm.c/1.2/Tue Jul 20 15:33:01 2004/-ko/
-/asm-offsets.c/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/bootflag.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/cpuid.c/1.3/Tue Jul 20 15:33:01 2004/-ko/
-/dmi_scan.c/1.4/Tue Jul 20 15:33:01 2004/-ko/
-/doublefault.c/1.2/Wed Jun 2 20:34:51 2004/-ko/
-/early_printk.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/efi.c/1.2/Fri Jul 16 15:16:49 2004/-ko/
-/efi_stub.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/entry.S/1.4/Tue Jul 20 15:33:01 2004/-ko/
-/entry_trampoline.c/1.1.3.2/Tue Jun 8 17:09:24 2004/-ko/
-/head.S/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/i386_ksyms.c/1.5/Sun Sep 12 03:11:13 2004/-ko/
-/i387.c/1.2/Wed Jun 2 20:34:51 2004/-ko/
-/i8259.c/1.3/Tue Jul 20 15:33:02 2004/-ko/
-/init_task.c/1.3/Fri Jul 16 15:16:49 2004/-ko/
-/io_apic.c/1.4/Tue Jul 20 15:33:02 2004/-ko/
-/ioport.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/irq.c/1.4/Tue Jul 20 15:33:02 2004/-ko/
-/ldt.c/1.3/Tue Jul 20 15:33:02 2004/-ko/
-/mca.c/1.2/Wed Jun 2 20:34:51 2004/-ko/
-/microcode.c/1.3/Tue Jul 20 15:33:02 2004/-ko/
-/module.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/mpparse.c/1.4/Tue Jul 20 15:33:02 2004/-ko/
-/msr.c/1.3/Tue Jul 20 15:33:02 2004/-ko/
-/nmi.c/1.4/Sun Sep 12 03:11:13 2004/-ko/
-/numaq.c/1.2/Tue Jul 20 15:33:02 2004/-ko/
-/pci-dma.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/process.c/1.4/Tue Jul 20 15:33:02 2004/-ko/
-/ptrace.c/1.3/Thu Jun 3 22:32:16 2004/-ko/
-/reboot.c/1.3/Tue Jul 20 15:33:02 2004/-ko/
-/scx200.c/1.3/Tue Jul 20 15:33:02 2004/-ko/
-/semaphore.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/setup.c/1.5/Sun Sep 12 03:11:13 2004/-ko/
-/sigframe.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/signal.c/1.4/Tue Jul 20 15:33:02 2004/-ko/
-/smp.c/1.5/Sun Sep 12 03:11:13 2004/-ko/
-/smpboot.c/1.4/Tue Jul 20 15:33:02 2004/-ko/
-/srat.c/1.2/Tue Jul 20 15:33:02 2004/-ko/
-/summit.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/sys_i386.c/1.4/Fri Jul 16 15:16:50 2004/-ko/
-/sysenter.c/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/time.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/time_hpet.c/1.3/Tue Jul 20 15:33:02 2004/-ko/
-/trampoline.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/traps.c/1.5/Sun Sep 12 03:11:13 2004/-ko/
-/vm86.c/1.4/Tue Jul 20 15:33:02 2004/-ko/
-/vmlinux.lds.S/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/vsyscall-int80.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/vsyscall-sigreturn.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/vsyscall-sysenter.S/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/vsyscall.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/vsyscall.lds/1.2/Wed Jun 2 20:34:52 2004/-ko/
-D/acpi////
-D/cpu////
-D/timers////
+++ /dev/null
-linux-2.6/arch/i386/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/boot.c/1.4/Tue Jul 20 15:33:03 2004/-ko/
-/sleep.c/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/wakeup.S/1.3/Tue Jun 8 21:22:58 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/kernel/acpi
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/amd.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/centaur.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/changelog/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/common.c/1.3/Tue Jul 20 15:33:03 2004/-ko/
-/cpu.h/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/cyrix.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/intel.c/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/nexgen.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/proc.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/rise.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/transmeta.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/umc.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D/cpufreq////
-D/mcheck////
-D/mtrr////
+++ /dev/null
-linux-2.6/arch/i386/kernel/cpu
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/Makefile/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/acpi.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/elanfreq.c/1.3/Fri Jul 16 15:16:50 2004/-ko/
-/gx-suspmod.c/1.4/Fri Jul 16 15:16:50 2004/-ko/
-/longhaul.c/1.4/Fri Jul 16 15:16:50 2004/-ko/
-/longhaul.h/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/longrun.c/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/p4-clockmod.c/1.4/Fri Jul 16 15:16:50 2004/-ko/
-/powernow-k6.c/1.2/Wed Jun 2 20:34:52 2004/-ko/
-/powernow-k7.c/1.5/Tue Jul 20 15:33:03 2004/-ko/
-/powernow-k7.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/powernow-k8.c/1.4/Fri Jul 16 15:16:50 2004/-ko/
-/powernow-k8.h/1.2/Wed Jun 2 20:34:53 2004/-ko/
-/speedstep-centrino.c/1.3/Tue Jul 20 15:33:03 2004/-ko/
-/speedstep-ich.c/1.3/Fri Jul 16 15:16:50 2004/-ko/
-/speedstep-lib.c/1.1.1.2/Mon Jul 12 21:55:55 2004/-ko/
-/speedstep-lib.h/1.1.1.2/Mon Jul 12 21:55:55 2004/-ko/
-/speedstep-smi.c/1.3/Fri Jul 16 15:16:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/kernel/cpu/cpufreq
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/k7.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/mce.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/mce.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/non-fatal.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/p4.c/1.2/Wed Jun 2 20:34:53 2004/-ko/
-/p5.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/p6.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/winchip.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/kernel/cpu/mcheck
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/amd.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/centaur.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/changelog/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/cyrix.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/generic.c/1.2/Tue Jul 20 15:33:03 2004/-ko/
-/if.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/main.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/mtrr.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/state.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/kernel/cpu/mtrr
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/common.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/timer.c/1.2/Wed Jun 2 20:34:53 2004/-ko/
-/timer_cyclone.c/1.1.1.2/Mon Jul 12 21:55:55 2004/-ko/
-/timer_hpet.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/timer_none.c/1.2/Tue Jul 20 15:33:03 2004/-ko/
-/timer_pit.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/timer_pm.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/timer_tsc.c/1.3/Tue Jul 20 15:33:03 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/kernel/timers
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/bitops.c/1.1.3.1/Tue Jul 13 17:47:45 2004/-ko/
-/checksum.S/1.2/Wed Jun 2 20:34:53 2004/-ko/
-/dec_and_lock.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/delay.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/getuser.S/1.3/Tue Jun 8 21:22:58 2004/-ko/
-/memcpy.c/1.2/Tue Jul 20 15:33:03 2004/-ko/
-/mmx.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/strstr.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/usercopy.c/1.3/Tue Jul 20 15:33:03 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/lib
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/setup.c/1.2/Tue Jul 20 15:33:03 2004/-ko/
-/topology.c/1.2/Wed Jun 2 20:34:54 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/mach-default
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Wed Jun 2 20:34:54 2004/-ko/
-/es7000.h/1.2/Wed Jun 2 20:34:54 2004/-ko/
-/es7000plat.c/1.1.3.2/Tue Jul 13 17:47:45 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/mach-es7000
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Wed Jun 2 20:34:54 2004/-ko/
-/bigsmp.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/default.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/es7000.c/1.1.3.1/Wed Jun 2 19:32:18 2004/-ko/
-/probe.c/1.2/Wed Jun 2 20:34:54 2004/-ko/
-/summit.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/mach-generic
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-linux-2.6/arch/i386/mach-pc9800
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/mpparse.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/reboot.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/setup.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/traps.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/visws_apic.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/mach-visws
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/setup.c/1.2/Tue Jul 20 15:33:03 2004/-ko/
-/voyager_basic.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/voyager_cat.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/voyager_smp.c/1.4/Tue Jul 20 15:33:03 2004/-ko/
-/voyager_thread.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/mach-voyager
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/control_w.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/div_Xsig.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/div_small.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/errors.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/exception.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/fpu_arith.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/fpu_asm.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/fpu_aux.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/fpu_emu.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/fpu_entry.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/fpu_etc.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/fpu_proto.h/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/fpu_system.h/1.3/Fri Jul 16 15:16:50 2004/-ko/
-/fpu_tags.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/fpu_trig.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/get_address.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/load_store.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/mul_Xsig.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/poly.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/poly_2xm1.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/poly_atan.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/poly_l2.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/poly_sin.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/poly_tan.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/polynom_Xsig.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_add_sub.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_compare.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/reg_constant.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_constant.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_convert.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_divide.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_ld_str.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/reg_mul.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_norm.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_round.S/1.2/Tue Jul 20 15:33:03 2004/-ko/
-/reg_u_add.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_u_div.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_u_mul.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/reg_u_sub.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/round_Xsig.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/shr_Xsig.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/status_w.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/version.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/wm_shrx.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/wm_sqrt.S/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/math-emu
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/boot_ioremap.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/discontig.c/1.2/Tue Jul 20 15:33:04 2004/-ko/
-/extable.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/fault.c/1.5/Tue Jul 20 15:33:04 2004/-ko/
-/highmem.c/1.2/Tue Jun 8 21:22:58 2004/-ko/
-/hugetlbpage.c/1.5/Tue Jul 20 15:33:04 2004/-ko/
-/init.c/1.6/Sun Sep 12 03:11:13 2004/-ko/
-/ioremap.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/mmap.c/1.1.3.1/Wed Sep 15 03:53:00 2004/-ko/
-/pageattr.c/1.3/Tue Jul 20 15:33:04 2004/-ko/
-/pgtable.c/1.3/Tue Jul 20 15:33:04 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/mm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/init.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/nmi_int.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/nmi_timer_int.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/op_counter.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/op_model_athlon.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/op_model_p4.c/1.3/Tue Jul 20 15:33:04 2004/-ko/
-/op_model_ppro.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/op_x86_model.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/oprofile
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/acpi.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/changelog/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/common.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/direct.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/fixup.c/1.3/Fri Jul 16 15:16:50 2004/-ko/
-/i386.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/irq.c/1.3/Tue Jul 20 15:33:04 2004/-ko/
-/legacy.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/mmconfig.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/numa.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/pcbios.c/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/pci.h/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/visws.c/1.2/Tue Jul 20 15:33:04 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/pci
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:46 2004/-ko/
-/cpu.c/1.3/Tue Jul 20 15:33:04 2004/-ko/
-/pmdisk.S/1.2/Wed Jun 2 20:34:56 2004/-ko/
-/swsusp.S/1.3/Tue Jul 20 15:33:04 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/i386/power
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.5/Tue Jul 20 15:33:04 2004/-ko/
-/Makefile/1.3/Tue Jul 20 15:33:04 2004/-ko/
-/defconfig/1.3/Tue Jul 20 15:33:04 2004/-ko/
-/install.sh/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/module.lds/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D/configs////
-D/dig////
-D/hp////
-D/ia32////
-D/kernel////
-D/lib////
-D/mm////
-D/oprofile////
-D/pci////
-D/scripts////
-D/sn////
+++ /dev/null
-linux-2.6/arch/ia64
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/generic_defconfig/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sim_defconfig/1.1.1.1/Mon Jul 12 21:55:45 2004/-ko/
-/sn2_defconfig/1.2/Tue Jul 20 15:33:04 2004/-ko/
-/zx1_defconfig/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/configs
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Wed Jun 2 20:34:57 2004/-ko/
-/machvec.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/setup.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/topology.c/1.1.3.1/Wed Jun 2 19:33:09 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/dig
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-D/common////
-D/sim////
-D/zx1////
+++ /dev/null
-linux-2.6/arch/ia64/hp
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sba_iommu.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/hp/common
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hpsim.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hpsim_console.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hpsim_irq.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hpsim_machvec.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hpsim_setup.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hpsim_ssc.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/simeth.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/simscsi.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/simserial.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D/boot////
+++ /dev/null
-linux-2.6/arch/ia64/hp/sim
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/boot_head.S/1.2/Wed Jun 2 20:34:57 2004/-ko/
-/bootloader.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/bootloader.lds/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fw-emu.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ssc.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/hp/sim/boot
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hpzx1_machvec.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/hp/zx1
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Wed Jun 2 20:34:58 2004/-ko/
-/binfmt_elf32.c/1.5/Tue Jul 20 15:33:04 2004/-ko/
-/elfcore32.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ia32_entry.S/1.4/Tue Jul 20 15:33:04 2004/-ko/
-/ia32_ioctl.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ia32_ldt.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ia32_signal.c/1.2/Wed Jun 2 20:34:58 2004/-ko/
-/ia32_support.c/1.2/Tue Jul 20 15:33:04 2004/-ko/
-/ia32_traps.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ia32priv.h/1.2/Tue Jul 20 15:33:04 2004/-ko/
-/sys_ia32.c/1.3/Tue Jul 20 15:33:04 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/ia32
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.2/Wed Jun 2 20:34:58 2004/-ko/
-/acpi-ext.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/acpi.c/1.3/Fri Jul 16 15:16:50 2004/-ko/
-/asm-offsets.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/brl_emu.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/cyclone.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/efi.c/1.3/Tue Jul 20 15:33:04 2004/-ko/
-/efi_stub.S/1.2/Tue Jul 20 15:33:04 2004/-ko/
-/entry.S/1.5/Fri Jul 30 14:12:43 2004/-ko/
-/entry.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fsys.S/1.4/Tue Jul 20 15:33:04 2004/-ko/
-/gate-data.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/gate.S/1.1.1.2/Mon Jul 12 21:55:44 2004/-ko/
-/gate.lds.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/head.S/1.4/Tue Jul 20 15:33:05 2004/-ko/
-/ia64_ksyms.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/init_task.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-/iosapic.c/1.4/Tue Jul 20 15:33:05 2004/-ko/
-/irq.c/1.4/Tue Jul 20 15:33:05 2004/-ko/
-/irq_ia64.c/1.2/Wed Jun 2 20:34:59 2004/-ko/
-/irq_lsapic.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ivt.S/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/machvec.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/mca.c/1.2/Tue Jul 20 15:33:05 2004/-ko/
-/mca_asm.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/minstate.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/module.c/1.2/Tue Jul 20 15:33:05 2004/-ko/
-/pal.S/1.2/Tue Jul 20 15:33:05 2004/-ko/
-/palinfo.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/patch.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/perfmon.c/1.4/Tue Jul 20 15:33:05 2004/-ko/
-/perfmon_default_smpl.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/perfmon_generic.h/1.2/Wed Jun 2 20:34:59 2004/-ko/
-/perfmon_itanium.h/1.2/Wed Jun 2 20:34:59 2004/-ko/
-/perfmon_mckinley.h/1.2/Wed Jun 2 20:34:59 2004/-ko/
-/process.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/ptrace.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/sal.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/salinfo.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/semaphore.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/setup.c/1.4/Tue Jul 20 15:33:05 2004/-ko/
-/sigframe.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/signal.c/1.2/Wed Jun 2 20:35:00 2004/-ko/
-/smp.c/1.2/Wed Jun 2 20:35:00 2004/-ko/
-/smpboot.c/1.3/Fri Jul 16 15:16:50 2004/-ko/
-/sys_ia64.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/time.c/1.3/Fri Jul 16 15:16:50 2004/-ko/
-/traps.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/unaligned.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/unwind.c/1.3/Tue Jul 20 15:33:05 2004/-ko/
-/unwind_decoder.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/unwind_i.h/1.2/Wed Jun 2 20:35:01 2004/-ko/
-/vmlinux.lds.S/1.1.1.2/Mon Jul 12 21:55:44 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/kernel
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.2/Mon Jul 12 21:55:45 2004/-ko/
-/bitop.c/1.1.1.1/Mon Jul 12 21:55:45 2004/-ko/
-/carta_random.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/checksum.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/clear_page.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/clear_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/copy_page.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/copy_page_mck.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/copy_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/csum_partial_copy.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/dec_and_lock.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/do_csum.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/flush.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/idiv32.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/idiv64.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ip_fast_csum.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memcpy.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memcpy_mck.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/memset.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strlen.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strlen_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strncpy_from_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/strnlen_user.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/swiotlb.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/xor.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/lib
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/contig.c/1.2/Tue Jul 20 15:33:05 2004/-ko/
-/discontig.c/1.2/Tue Jul 20 15:33:05 2004/-ko/
-/extable.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fault.c/1.3/Fri Jul 30 14:12:43 2004/-ko/
-/hugetlbpage.c/1.4/Tue Jul 20 15:33:05 2004/-ko/
-/init.c/1.2/Wed Jun 2 20:35:01 2004/-ko/
-/numa.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/tlb.c/1.2/Wed Jun 2 20:35:01 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/mm
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/init.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/oprofile
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pci.c/1.2/Fri Jul 16 15:16:50 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/pci
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/check-gas/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/check-gas-asm.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/check-model.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/check-segrel.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/check-segrel.lds/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/check-serialize.S/1.1.3.1/Wed Jun 2 19:33:09 2004/-ko/
-/check-text-align.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/toolchain-flags/1.2/Wed Jun 2 20:35:01 2004/-ko/
-/unwcheck.py/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/scripts
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D/fakeprom////
-D/io////
-D/kernel////
+++ /dev/null
-linux-2.6/arch/ia64/sn
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/README/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fpmem.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fpmem.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fprom.lds/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fpromasm.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/fw-emu.c/1.2/Tue Jul 20 15:33:05 2004/-ko/
-/klgraph_init.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/main.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/make_textsym/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/runsim/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/sn/fakeprom
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/cdl.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io.c/1.2/Wed Jun 2 20:35:01 2004/-ko/
-/snia_if.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/xswitch.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D/drivers////
-D/hwgfs////
-D/machvec////
-D/platform_init////
-D/sn2////
+++ /dev/null
-linux-2.6/arch/ia64/sn/io
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ioconfig_bus.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/sn/io/drivers
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hcl.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hcl_util.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/interface.c/1.2/Wed Jun 2 20:35:02 2004/-ko/
-/labelcl.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ramfs.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/sn/io/hwgfs
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/iomv.c/1.1.1.2/Mon Jul 12 21:55:44 2004/-ko/
-/pci.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pci_bus_cvlink.c/1.3/Tue Jul 20 15:33:06 2004/-ko/
-/pci_dma.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/sn/io/machvec
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sgi_io_init.c/1.2/Wed Jun 2 20:35:02 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/sn/io/platform_init
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/bte_error.c/1.2/Tue Jul 20 15:33:06 2004/-ko/
-/geo_op.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/klconflib.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/klgraph.c/1.3/Tue Jul 20 15:33:06 2004/-ko/
-/l1_command.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ml_SN_init.c/1.2/Wed Jun 2 20:35:02 2004/-ko/
-/ml_SN_intr.c/1.2/Wed Jun 2 20:35:02 2004/-ko/
-/ml_iograph.c/1.3/Tue Jul 20 15:33:06 2004/-ko/
-/module.c/1.3/Tue Jul 20 15:33:06 2004/-ko/
-/pciio.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pic.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/shub.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/shub_intr.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/shuberror.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/shubio.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/xbow.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/xtalk.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D/pcibr////
+++ /dev/null
-linux-2.6/arch/ia64/sn/io/sn2
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_ate.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_config.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_dvr.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/pcibr_error.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_hints.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_intr.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_reg.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_rrb.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/pcibr_slot.c/1.1.1.2/Mon Jul 12 21:55:44 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/sn/io/sn2/pcibr
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/bte.c/1.2/Tue Jul 20 15:33:06 2004/-ko/
-/idle.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/irq.c/1.2/Tue Jul 20 15:33:06 2004/-ko/
-/machvec.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/mca.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/probe.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/setup.c/1.3/Tue Jul 20 15:33:06 2004/-ko/
-D/sn2////
+++ /dev/null
-linux-2.6/arch/ia64/sn/kernel
+++ /dev/null
-/home/mef/projects/cvs
#include <linux/module.h>
#include <asm/io.h>
#include <asm/delay.h>
+#include <asm/vga.h>
#include <asm/sn/nodepda.h>
#include <asm/sn/simulator.h>
#include <asm/sn/pda.h>
#include <asm/sn/sn_cpuid.h>
#include <asm/sn/shub_mmr.h>
+#define IS_LEGACY_VGA_IOPORT(p) \
+ (((p) >= 0x3b0 && (p) <= 0x3bb) || ((p) >= 0x3c0 && (p) <= 0x3df))
+
/**
* sn_io_addr - convert an in/out port to an i/o address
* @port: port to convert
void *sn_io_addr(unsigned long port)
{
if (!IS_RUNNING_ON_SIMULATOR()) {
+ if (IS_LEGACY_VGA_IOPORT(port))
+ port += vga_console_iobase;
/* On sn2, legacy I/O ports don't point at anything */
if (port < (64 * 1024))
return NULL;
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/cache.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/io.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/prominfo_proc.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/ptc_deadlock.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/sn2_smp.c/1.2/Tue Jul 20 15:33:06 2004/-ko/
-/sn_proc_fs.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/timer.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/timer_interrupt.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/ia64/sn/kernel/sn2
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Kconfig/1.3/Thu Jun 3 22:32:16 2004/-ko/
-/Makefile/1.3/Tue Jul 20 15:33:06 2004/-ko/
-/defconfig/1.2/Wed Jun 2 20:35:03 2004/-ko/
-D/amiga////
-D/apollo////
-D/atari////
-D/bvme6000////
-D/fpsp040////
-D/hp300////
-D/ifpsp060////
-D/kernel////
-D/lib////
-D/mac////
-D/math-emu////
-D/mm////
-D/mvme147////
-D/mvme16x////
-D/q40////
-D/sun3////
-D/sun3x////
-D/tools////
+++ /dev/null
-linux-2.6/arch/m68k
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/amiga_ksyms.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/amiints.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/amisound.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/chipram.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/cia.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/config.c/1.2/Wed Jun 2 20:35:03 2004/-ko/
-/pcmcia.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/m68k/amiga
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/config.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/dma.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/dn_debug.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/dn_ints.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/m68k/apollo
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ataints.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/atari_ksyms.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/atasound.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/atasound.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/config.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/debug.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/hades-pci.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/stdma.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/stram.c/1.4/Tue Jul 20 15:33:06 2004/-ko/
-/time.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/m68k/atari
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/bvmeints.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/config.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/rtc.c/1.2/Wed Jun 2 20:35:04 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/m68k/bvme6000
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/README/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/bindec.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/binstr.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/bugfix.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/decbin.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/do_func.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/fpsp.h/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/gen_except.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/get_op.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/kernel_ex.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/res_func.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/round.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/sacos.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/sasin.S/1.2/Wed Jun 2 20:35:04 2004/-ko/
-/satan.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/satanh.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/scale.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/scosh.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/setox.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/sgetem.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/sint.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/skeleton.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/slog2.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/slogn.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/smovecr.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/srem_mod.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/ssin.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/ssinh.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/stan.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/stanh.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/sto_res.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/stwotox.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/tbldo.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/util.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_bsun.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_fline.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_operr.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_ovfl.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_snan.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_store.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_unfl.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_unimp.S/1.2/Wed Jun 2 20:35:05 2004/-ko/
-/x_unsupp.S/1.2/Wed Jun 2 20:35:06 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/m68k/fpsp040
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/Makefile/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/README.hp300/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/config.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/hp300map.map/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/ints.c/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/ints.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/ksyms.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/reboot.S/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/time.c/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-/time.h/1.1.1.1/Wed Jun 2 19:22:51 2004/-ko/
-D
+++ /dev/null
-linux-2.6/arch/m68k/hp300
+++ /dev/null
-/home/mef/projects/cvs
+++ /dev/null
-/CHANGES/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/MISC/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/Makefile/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/README/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/TEST.DOC/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/fplsp.doc/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/fplsp.sa/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fpsp.doc/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/fpsp.sa/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/fskeleton.S/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/ftest.sa/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/ilsp.doc/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/ilsp.sa/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/iskeleton.S/1.3/Tue Jul 20 15:33:06 2004/-ko/
-/isp.doc/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/isp.sa/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/itest.sa/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-/os.S/1.2/Wed Jun 2 20:35:06 2004/-ko/
-/pfpsp.sa/1.1.1.1/Wed Jun 2 19:22:50 2004/-ko/
-D/src////
+++ /dev/null
-linux-2.6/arch/m68k/ifpsp060
+++ /dev/null
-/home/mef/projects/cvs
oprofile-$(CONFIG_CPU_MIPS32) += op_model_mipsxx.o
oprofile-$(CONFIG_CPU_MIPS64) += op_model_mipsxx.o
+oprofile-$(CONFIG_CPU_SB1) += op_model_mipsxx.o
oprofile-$(CONFIG_CPU_RM9000) += op_model_rm9000.o
#ifndef OP_IMPL_H
#define OP_IMPL_H 1
+struct pt_regs;
+
+extern int null_perf_irq(struct pt_regs *regs);
+extern int (*perf_irq)(struct pt_regs *regs);
+
/* Per-counter configuration as set via oprofilefs. */
struct op_counter_config {
unsigned long enabled;
help
This option enables support for the MPC 8540 ADS evaluation board.
+config MPC8548_CDS
+ bool "Freescale MPC8548 CDS"
+ help
+ This option enablese support for the MPC8548 CDS evaluation board.
+
config MPC8555_CDS
bool "Freescale MPC8555 CDS"
help
config SBC8560
bool "WindRiver PowerQUICC III SBC8560"
help
- This option enables support for the WindRiver PowerQUICC III
+ This option enables support for the WindRiver PowerQUICC III
SBC8560 board.
config STX_GP3
This option enables support for the Silicon Turnkey Express GP3
board.
+config TQM8540
+ bool "TQ Components TQM8540"
+ help
+ This option enablese support for the TQ Components TQM8540 board.
+
+config TQM8541
+ bool "TQ Components TQM8541"
+ help
+ This option enablese support for the TQ Components TQM8541 board.
+
+config TQM8555
+ bool "TQ Components TQM8555"
+ help
+ This option enablese support for the TQ Components TQM8555 board.
+
+config TQM8560
+ bool "TQ Components TQM8560"
+ help
+ This option enablese support for the TQ Components TQM8560 board.
+
endchoice
# It's often necessary to know the specific 85xx processor type.
# don't need to ask more redundant questions.
config MPC8540
bool
- depends on MPC8540_ADS
+ depends on MPC8540_ADS || TQM8540
+ default y
+
+config MPC8548
+ bool
+ depends on MPC8548_CDS
default y
config MPC8555
bool
- depends on MPC8555_CDS
+ depends on MPC8555_CDS || TQM8541 || TQM8555
default y
config MPC8560
bool
- depends on SBC8560 || MPC8560_ADS || STX_GP3
+ depends on SBC8560 || MPC8560_ADS || STX_GP3 || TQM8560
default y
config 85xx_PCI2
{
volatile __u8 *bp;
volatile __u16 *p;
+ unsigned char *s = addr;
if (CHECK_AX88796L_PORT(port)) {
p = (volatile unsigned short *)port88796l(port, 0);
- while (count--) *((unsigned char *) addr)++ = *p & 0xff;
+ while (count--) *s++ = *p & 0xff;
} else if (PXSEG(port))
- while (count--) *((unsigned char *) addr)++ = *(volatile unsigned char *)port;
+ while (count--) *s++ = *(volatile unsigned char *)port;
else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) {
bp = (__u8 *)PCI_IOMAP(port);
- while (count--) *((volatile unsigned char *) addr)++ = *bp;
+ while (count--) *s++ = *bp;
} else {
p = (volatile unsigned short *)port2adr(port);
- while (count--) *((unsigned char *) addr)++ = *p & 0xff;
+ while (count--) *s++ = *p & 0xff;
}
}
void rts7751r2d_insw(unsigned long port, void *addr, unsigned long count)
{
volatile __u16 *p;
+ __u16 *s = addr;
if (CHECK_AX88796L_PORT(port))
p = (volatile unsigned short *)port88796l(port, 1);
p = (volatile unsigned short *)PCI_IOMAP(port);
else
p = (volatile unsigned short *)port2adr(port);
- while (count--) *((__u16 *) addr)++ = *p;
+ while (count--) *s++ = *p;
}
void rts7751r2d_insl(unsigned long port, void *addr, unsigned long count)
maybebadio(insl, port);
else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) {
volatile __u32 *p = (__u32 *)PCI_IOMAP(port);
+ __u32 *s = addr;
- while (count--) *((__u32 *) addr)++ = *p;
+ while (count--) *s++ = *p;
} else
maybebadio(insl, port);
}
{
volatile __u8 *bp;
volatile __u16 *p;
+ const __u8 *s = addr;
if (CHECK_AX88796L_PORT(port)) {
p = (volatile unsigned short *)port88796l(port, 0);
- while (count--) *p = *((unsigned char *) addr)++;
+ while (count--) *p = *s++;
} else if (PXSEG(port))
- while (count--) *(volatile unsigned char *)port = *((unsigned char *) addr)++;
+ while (count--) *(volatile unsigned char *)port = *s++;
else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) {
bp = (__u8 *)PCI_IOMAP(port);
- while (count--) *bp = *((volatile unsigned char *) addr)++;
+ while (count--) *bp = *s++;
} else {
p = (volatile unsigned short *)port2adr(port);
- while (count--) *p = *((unsigned char *) addr)++;
+ while (count--) *p = *s++;
}
}
void rts7751r2d_outsw(unsigned long port, const void *addr, unsigned long count)
{
volatile __u16 *p;
+ const __u16 *s = addr;
if (CHECK_AX88796L_PORT(port))
p = (volatile unsigned short *)port88796l(port, 1);
p = (volatile unsigned short *)PCI_IOMAP(port);
else
p = (volatile unsigned short *)port2adr(port);
- while (count--) *p = *((__u16 *) addr)++;
+ while (count--) *p = *s++;
}
void rts7751r2d_outsl(unsigned long port, const void *addr, unsigned long count)
maybebadio(outsl, port);
else if (CHECK_SH7751_PCIIO(port) || shifted_port(port)) {
volatile __u32 *p = (__u32 *)PCI_IOMAP(port);
+ const __u32 *s = addr;
- while (count--) *p = *((__u32 *) addr)++;
+ while (count--) *p = *s++;
} else
maybebadio(outsl, port);
}
*
* sysfs interface for SH DMA API
*
- * Copyright (C) 2004 Paul Mundt
+ * Copyright (C) 2004, 2005 Paul Mundt
*
* 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
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sysdev.h>
+#include <linux/platform_device.h>
#include <linux/module.h>
+#include <linux/err.h>
+#include <linux/string.h>
#include <asm/dma.h>
static struct sysdev_class dma_sysclass = {
unsigned long config;
config = simple_strtoul(buf, NULL, 0);
- dma_configure_channel(channel->chan, config);
+ dma_configure_channel(channel->vchan, config);
return count;
}
dma_ro_attr(count, "0x%08x\n");
dma_ro_attr(flags, "0x%08lx\n");
-int __init dma_create_sysfs_files(struct dma_channel *chan)
+int dma_create_sysfs_files(struct dma_channel *chan, struct dma_info *info)
{
struct sys_device *dev = &chan->dev;
+ char name[16];
int ret;
- dev->id = chan->chan;
+ dev->id = chan->vchan;
dev->cls = &dma_sysclass;
ret = sysdev_register(dev);
sysdev_create_file(dev, &attr_flags);
sysdev_create_file(dev, &attr_config);
- return 0;
+ snprintf(name, sizeof(name), "dma%d", chan->chan);
+ return sysfs_create_link(&info->pdev->dev.kobj, &dev->kobj, name);
+}
+
+void dma_remove_sysfs_files(struct dma_channel *chan, struct dma_info *info)
+{
+ struct sys_device *dev = &chan->dev;
+ char name[16];
+
+ sysdev_remove_file(dev, &attr_dev_id);
+ sysdev_remove_file(dev, &attr_count);
+ sysdev_remove_file(dev, &attr_mode);
+ sysdev_remove_file(dev, &attr_flags);
+ sysdev_remove_file(dev, &attr_config);
+
+ snprintf(name, sizeof(name), "dma%d", chan->chan);
+ sysfs_remove_link(&info->pdev->dev.kobj, name);
+
+ sysdev_unregister(dev);
}
*/
survive:
switch (handle_mm_fault(mm, vma, address, writeaccess)) {
- case 1:
+ case VM_FAULT_MINOR:
tsk->min_flt++;
break;
- case 2:
+ case VM_FAULT_MAJOR:
tsk->maj_flt++;
break;
- case 0:
+ case VM_FAULT_SIGBUS:
goto do_sigbus;
default:
goto out_of_memory;
if (filp->f_flags & O_NONBLOCK)
return ret ? : -EAGAIN;
- if(need_resched()){
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(1);
- }
+ if(need_resched())
+ schedule_timeout_interruptible(1);
}
else return n;
if (signal_pending (current))
extern void save_registers(int pid, union uml_pt_regs *regs);
extern void restore_registers(int pid, union uml_pt_regs *regs);
extern void init_registers(int pid);
+extern void get_safe_registers(unsigned long * regs, unsigned long * fp_regs);
+extern void get_thread_regs(union uml_pt_regs *uml_regs, void *buffer);
#endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
case RBP: val = UPT_RBP(regs); break; \
case ORIG_RAX: val = UPT_ORIG_RAX(regs); break; \
case CS: val = UPT_CS(regs); break; \
- case DS: val = UPT_DS(regs); break; \
- case ES: val = UPT_ES(regs); break; \
- case FS: val = UPT_FS(regs); break; \
- case GS: val = UPT_GS(regs); break; \
case EFLAGS: val = UPT_EFLAGS(regs); break; \
default : \
panic("Bad register in UPT_REG : %d\n", reg); \
case RBP: UPT_RBP(regs) = __upt_val; break; \
case ORIG_RAX: UPT_ORIG_RAX(regs) = __upt_val; break; \
case CS: UPT_CS(regs) = __upt_val; break; \
- case DS: UPT_DS(regs) = __upt_val; break; \
- case ES: UPT_ES(regs) = __upt_val; break; \
- case FS: UPT_FS(regs) = __upt_val; break; \
- case GS: UPT_GS(regs) = __upt_val; break; \
case EFLAGS: UPT_EFLAGS(regs) = __upt_val; break; \
default : \
panic("Bad register in UPT_SET : %d\n", reg); \
break; \
} \
- val; \
+ __upt_val; \
})
#define UPT_SET_SYSCALL_RETURN(r, res) \
#define PTRACE_OLDSETOPTIONS 21
#endif
+/* These are before the system call, so the the system call number is RAX
+ * rather than ORIG_RAX, and arg4 is R10 rather than RCX
+ */
+#define REGS_SYSCALL_NR PT_INDEX(RAX)
+#define REGS_SYSCALL_ARG1 PT_INDEX(RDI)
+#define REGS_SYSCALL_ARG2 PT_INDEX(RSI)
+#define REGS_SYSCALL_ARG3 PT_INDEX(RDX)
+#define REGS_SYSCALL_ARG4 PT_INDEX(R10)
+#define REGS_SYSCALL_ARG5 PT_INDEX(R8)
+#define REGS_SYSCALL_ARG6 PT_INDEX(R9)
+
+#define REGS_IP_INDEX PT_INDEX(RIP)
+#define REGS_SP_INDEX PT_INDEX(RSP)
+
#endif
/*
#include <stddef.h>
#include "init.h"
#include "elf_user.h"
+#include "mem_user.h"
+#include <kern_constants.h>
-#if ELF_CLASS == ELFCLASS32
+/* Use the one from the kernel - the host may miss it, if having old headers. */
+#if UM_ELF_CLASS == UM_ELFCLASS32
typedef Elf32_auxv_t elf_auxv_t;
#else
typedef Elf64_auxv_t elf_auxv_t;
break;
case AT_SYSINFO_EHDR:
vsyscall_ehdr = auxv->a_un.a_val;
+ /* See if the page is under TASK_SIZE */
+ if (vsyscall_ehdr < (unsigned long) envp)
+ vsyscall_ehdr = 0;
break;
case AT_HWCAP:
elf_aux_hwcap = auxv->a_un.a_val;
* a_un, so we have to use a_val, which is
* all that's left.
*/
- elf_aux_platform = (char *) auxv->a_un.a_val;
+ elf_aux_platform =
+ (char *) (long) auxv->a_un.a_val;
break;
case AT_PAGESZ:
page_size = auxv->a_un.a_val;
#include <asm/msr.h>
#include <asm/mce.h>
#include <asm/hw_irq.h>
+#include <asm/idle.h>
static DEFINE_PER_CPU(unsigned long, next_check);
ack_APIC_irq();
+ exit_idle();
irq_enter();
if (time_before(jiffies, __get_cpu_var(next_check)))
goto done;
irq_exit();
}
-static void __init intel_init_thermal(struct cpuinfo_x86 *c)
+static void __cpuinit intel_init_thermal(struct cpuinfo_x86 *c)
{
u32 l, h;
int tm2 = 0;
h = THERMAL_APIC_VECTOR;
h |= (APIC_DM_FIXED | APIC_LVT_MASKED);
- apic_write_around(APIC_LVTTHMR, h);
+ apic_write(APIC_LVTTHMR, h);
rdmsr(MSR_IA32_THERM_INTERRUPT, l, h);
wrmsr(MSR_IA32_THERM_INTERRUPT, l | 0x03, h);
wrmsr(MSR_IA32_MISC_ENABLE, l | (1 << 3), h);
l = apic_read(APIC_LVTTHMR);
- apic_write_around(APIC_LVTTHMR, l & ~APIC_LVT_MASKED);
+ apic_write(APIC_LVTTHMR, l & ~APIC_LVT_MASKED);
printk(KERN_INFO "CPU%d: Thermal monitoring enabled (%s)\n",
cpu, tm2 ? "TM2" : "TM1");
return;
}
-void __init mce_intel_feature_init(struct cpuinfo_x86 *c)
+void __cpuinit mce_intel_feature_init(struct cpuinfo_x86 *c)
{
intel_init_thermal(c);
}
/**
- * \file drm_auth.h
+ * \file drm_auth.c
* IOCTLs for authentication
*
* \author Rickard E. (Rik) Faith <faith@valinux.com>
*/
static int drm_hash_magic(drm_magic_t magic)
{
- return magic & (DRM_HASH_SIZE-1);
+ return magic & (DRM_HASH_SIZE - 1);
}
/**
* \param magic magic number.
*
* Searches in drm_device::magiclist within all files with the same hash key
- * the one with matching magic number, while holding the drm_device::struct_sem
+ * the one with matching magic number, while holding the drm_device::struct_mutex
* lock.
*/
-static drm_file_t *drm_find_file(drm_device_t *dev, drm_magic_t magic)
+static drm_file_t *drm_find_file(drm_device_t * dev, drm_magic_t magic)
{
- drm_file_t *retval = NULL;
+ drm_file_t *retval = NULL;
drm_magic_entry_t *pt;
- int hash = drm_hash_magic(magic);
+ int hash = drm_hash_magic(magic);
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
for (pt = dev->magiclist[hash].head; pt; pt = pt->next) {
if (pt->magic == magic) {
retval = pt->priv;
break;
}
}
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return retval;
}
/**
* Adds a magic number.
- *
+ *
* \param dev DRM device.
* \param priv file private data.
* \param magic magic number.
*
* Creates a drm_magic_entry structure and appends to the linked list
* associated the magic number hash key in drm_device::magiclist, while holding
- * the drm_device::struct_sem lock.
+ * the drm_device::struct_mutex lock.
*/
-int drm_add_magic(drm_device_t *dev, drm_file_t *priv, drm_magic_t magic)
+static int drm_add_magic(drm_device_t * dev, drm_file_t * priv,
+ drm_magic_t magic)
{
- int hash;
+ int hash;
drm_magic_entry_t *entry;
DRM_DEBUG("%d\n", magic);
- hash = drm_hash_magic(magic);
- entry = drm_alloc(sizeof(*entry), DRM_MEM_MAGIC);
- if (!entry) return -ENOMEM;
+ hash = drm_hash_magic(magic);
+ entry = drm_alloc(sizeof(*entry), DRM_MEM_MAGIC);
+ if (!entry)
+ return -ENOMEM;
memset(entry, 0, sizeof(*entry));
entry->magic = magic;
- entry->priv = priv;
- entry->next = NULL;
+ entry->priv = priv;
+ entry->next = NULL;
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
if (dev->magiclist[hash].tail) {
dev->magiclist[hash].tail->next = entry;
- dev->magiclist[hash].tail = entry;
+ dev->magiclist[hash].tail = entry;
} else {
- dev->magiclist[hash].head = entry;
- dev->magiclist[hash].tail = entry;
+ dev->magiclist[hash].head = entry;
+ dev->magiclist[hash].tail = entry;
}
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return 0;
}
/**
* Remove a magic number.
- *
+ *
* \param dev DRM device.
* \param magic magic number.
*
* Searches and unlinks the entry in drm_device::magiclist with the magic
- * number hash key, while holding the drm_device::struct_sem lock.
+ * number hash key, while holding the drm_device::struct_mutex lock.
*/
-int drm_remove_magic(drm_device_t *dev, drm_magic_t magic)
+static int drm_remove_magic(drm_device_t * dev, drm_magic_t magic)
{
drm_magic_entry_t *prev = NULL;
drm_magic_entry_t *pt;
- int hash;
-
+ int hash;
DRM_DEBUG("%d\n", magic);
hash = drm_hash_magic(magic);
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
for (pt = dev->magiclist[hash].head; pt; prev = pt, pt = pt->next) {
if (pt->magic == magic) {
if (dev->magiclist[hash].head == pt) {
if (prev) {
prev->next = pt->next;
}
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return 0;
}
}
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
drm_free(pt, sizeof(*pt), DRM_MEM_MAGIC);
* filp.
*/
int drm_getmagic(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg)
+ unsigned int cmd, unsigned long arg)
{
static drm_magic_t sequence = 0;
static DEFINE_SPINLOCK(lock);
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- drm_auth_t auth;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ drm_auth_t auth;
- /* Find unique magic */
+ /* Find unique magic */
if (priv->magic) {
auth.magic = priv->magic;
} else {
do {
spin_lock(&lock);
- if (!sequence) ++sequence; /* reserve 0 */
+ if (!sequence)
+ ++sequence; /* reserve 0 */
auth.magic = sequence++;
spin_unlock(&lock);
} while (drm_find_file(dev, auth.magic));
}
DRM_DEBUG("%u\n", auth.magic);
- if (copy_to_user((drm_auth_t __user *)arg, &auth, sizeof(auth)))
+ if (copy_to_user((drm_auth_t __user *) arg, &auth, sizeof(auth)))
return -EFAULT;
return 0;
}
* Checks if \p filp is associated with the magic number passed in \arg.
*/
int drm_authmagic(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg)
+ unsigned int cmd, unsigned long arg)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- drm_auth_t auth;
- drm_file_t *file;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ drm_auth_t auth;
+ drm_file_t *file;
- if (copy_from_user(&auth, (drm_auth_t __user *)arg, sizeof(auth)))
+ if (copy_from_user(&auth, (drm_auth_t __user *) arg, sizeof(auth)))
return -EFAULT;
DRM_DEBUG("%u\n", auth.magic);
if ((file = drm_find_file(dev, auth.magic))) {
/**
- * \file drm_drawable.h
+ * \file drm_drawable.c
* IOCTLs for drawables
*
* \author Rickard E. (Rik) Faith <faith@valinux.com>
/** No-op. */
int drm_adddraw(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg)
+ unsigned int cmd, unsigned long arg)
{
drm_draw_t draw;
draw.handle = 0; /* NOOP */
DRM_DEBUG("%d\n", draw.handle);
- if (copy_to_user((drm_draw_t __user *)arg, &draw, sizeof(draw)))
+ if (copy_to_user((drm_draw_t __user *) arg, &draw, sizeof(draw)))
return -EFAULT;
return 0;
}
/** No-op. */
int drm_rmdraw(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg)
+ unsigned int cmd, unsigned long arg)
{
return 0; /* NOOP */
}
/**
- * \file drm_ioctl.h
+ * \file drm_ioctl.c
* IOCTL processing for DRM
*
* \author Rickard E. (Rik) Faith <faith@valinux.com>
/**
* Get the bus id.
- *
+ *
* \param inode device inode.
* \param filp file pointer.
* \param cmd command.
* Copies the bus id from drm_device::unique into user space.
*/
int drm_getunique(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg)
+ unsigned int cmd, unsigned long arg)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- drm_unique_t __user *argp = (void __user *)arg;
- drm_unique_t u;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ drm_unique_t __user *argp = (void __user *)arg;
+ drm_unique_t u;
if (copy_from_user(&u, argp, sizeof(u)))
return -EFAULT;
/**
* Set the bus id.
- *
+ *
* \param inode device inode.
* \param filp file pointer.
* \param cmd command.
* version 1.1 or greater.
*/
int drm_setunique(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg)
+ unsigned int cmd, unsigned long arg)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- drm_unique_t u;
- int domain, bus, slot, func, ret;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ drm_unique_t u;
+ int domain, bus, slot, func, ret;
- if (dev->unique_len || dev->unique) return -EBUSY;
+ if (dev->unique_len || dev->unique)
+ return -EBUSY;
- if (copy_from_user(&u, (drm_unique_t __user *)arg, sizeof(u)))
+ if (copy_from_user(&u, (drm_unique_t __user *) arg, sizeof(u)))
return -EFAULT;
- if (!u.unique_len || u.unique_len > 1024) return -EINVAL;
+ if (!u.unique_len || u.unique_len > 1024)
+ return -EINVAL;
dev->unique_len = u.unique_len;
- dev->unique = drm_alloc(u.unique_len + 1, DRM_MEM_DRIVER);
- if(!dev->unique) return -ENOMEM;
+ dev->unique = drm_alloc(u.unique_len + 1, DRM_MEM_DRIVER);
+ if (!dev->unique)
+ return -ENOMEM;
if (copy_from_user(dev->unique, u.unique, dev->unique_len))
return -EFAULT;
dev->unique[dev->unique_len] = '\0';
- dev->devname = drm_alloc(strlen(dev->driver->pci_driver.name) + strlen(dev->unique) + 2,
- DRM_MEM_DRIVER);
+ dev->devname =
+ drm_alloc(strlen(dev->driver->pci_driver.name) +
+ strlen(dev->unique) + 2, DRM_MEM_DRIVER);
if (!dev->devname)
return -ENOMEM;
- sprintf(dev->devname, "%s@%s", dev->driver->pci_driver.name, dev->unique);
+ sprintf(dev->devname, "%s@%s", dev->driver->pci_driver.name,
+ dev->unique);
/* Return error if the busid submitted doesn't match the device's actual
* busid.
return DRM_ERR(EINVAL);
domain = bus >> 8;
bus &= 0xff;
-
+
if ((domain != dev->pci_domain) ||
(bus != dev->pci_bus) ||
- (slot != dev->pci_slot) ||
- (func != dev->pci_func))
+ (slot != dev->pci_slot) || (func != dev->pci_func))
return -EINVAL;
return 0;
}
-static int
-drm_set_busid(drm_device_t *dev)
+static int drm_set_busid(drm_device_t * dev)
{
+ int len;
+
if (dev->unique != NULL)
return EBUSY;
- dev->unique_len = 20;
+ dev->unique_len = 40;
dev->unique = drm_alloc(dev->unique_len + 1, DRM_MEM_DRIVER);
if (dev->unique == NULL)
return ENOMEM;
- snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
- dev->pci_domain, dev->pci_bus, dev->pci_slot, dev->pci_func);
+ len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
+ dev->pci_domain, dev->pci_bus, dev->pci_slot, dev->pci_func);
+
+ if (len > dev->unique_len)
+ DRM_ERROR("Unique buffer overflowed\n");
- dev->devname = drm_alloc(strlen(dev->driver->pci_driver.name) + dev->unique_len + 2,
- DRM_MEM_DRIVER);
+ dev->devname =
+ drm_alloc(strlen(dev->driver->pci_driver.name) + dev->unique_len +
+ 2, DRM_MEM_DRIVER);
if (dev->devname == NULL)
return ENOMEM;
- sprintf(dev->devname, "%s@%s", dev->driver->pci_driver.name, dev->unique);
+ sprintf(dev->devname, "%s@%s", dev->driver->pci_driver.name,
+ dev->unique);
return 0;
}
-
/**
* Get a mapping information.
*
* \param filp file pointer.
* \param cmd command.
* \param arg user argument, pointing to a drm_map structure.
- *
+ *
* \return zero on success or a negative number on failure.
*
* Searches for the mapping with the specified offset and copies its information
* into userspace
*/
-int drm_getmap( struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg )
+int drm_getmap(struct inode *inode, struct file *filp,
+ unsigned int cmd, unsigned long arg)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- drm_map_t __user *argp = (void __user *)arg;
- drm_map_t map;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ drm_map_t __user *argp = (void __user *)arg;
+ drm_map_t map;
drm_map_list_t *r_list = NULL;
struct list_head *list;
- int idx;
- int i;
+ int idx;
+ int i;
if (copy_from_user(&map, argp, sizeof(map)))
return -EFAULT;
idx = map.offset;
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
if (idx < 0) {
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return -EINVAL;
}
i = 0;
list_for_each(list, &dev->maplist->head) {
- if(i == idx) {
+ if (i == idx) {
r_list = list_entry(list, drm_map_list_t, head);
break;
}
i++;
}
- if(!r_list || !r_list->map) {
- up(&dev->struct_sem);
+ if (!r_list || !r_list->map) {
+ mutex_unlock(&dev->struct_mutex);
return -EINVAL;
}
map.offset = r_list->map->offset;
- map.size = r_list->map->size;
- map.type = r_list->map->type;
- map.flags = r_list->map->flags;
- map.handle = r_list->map->handle;
- map.mtrr = r_list->map->mtrr;
- up(&dev->struct_sem);
-
- if (copy_to_user(argp, &map, sizeof(map))) return -EFAULT;
+ map.size = r_list->map->size;
+ map.type = r_list->map->type;
+ map.flags = r_list->map->flags;
+ map.handle = (void *)(unsigned long)r_list->user_token;
+ map.mtrr = r_list->map->mtrr;
+ mutex_unlock(&dev->struct_mutex);
+
+ if (copy_to_user(argp, &map, sizeof(map)))
+ return -EFAULT;
return 0;
}
* \param filp file pointer.
* \param cmd command.
* \param arg user argument, pointing to a drm_client structure.
- *
+ *
* \return zero on success or a negative number on failure.
*
* Searches for the client with the specified index and copies its information
* into userspace
*/
-int drm_getclient( struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg )
+int drm_getclient(struct inode *inode, struct file *filp,
+ unsigned int cmd, unsigned long arg)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- drm_client_t __user *argp = (void __user *)arg;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ drm_client_t __user *argp = (drm_client_t __user *)arg;
drm_client_t client;
- drm_file_t *pt;
- int idx;
- int i;
+ drm_file_t *pt;
+ int idx;
+ int i;
if (copy_from_user(&client, argp, sizeof(client)))
return -EFAULT;
idx = client.idx;
- down(&dev->struct_sem);
- for (i = 0, pt = dev->file_first; i < idx && pt; i++, pt = pt->next)
- ;
+ mutex_lock(&dev->struct_mutex);
+ for (i = 0, pt = dev->file_first; i < idx && pt; i++, pt = pt->next) ;
if (!pt) {
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return -EINVAL;
}
- client.auth = pt->authenticated;
- client.pid = pt->pid;
- client.uid = pt->uid;
+ client.auth = pt->authenticated;
+ client.pid = pt->pid;
+ client.uid = pt->uid;
client.magic = pt->magic;
- client.iocs = pt->ioctl_count;
- up(&dev->struct_sem);
+ client.iocs = pt->ioctl_count;
+ mutex_unlock(&dev->struct_mutex);
- if (copy_to_user((drm_client_t __user *)arg, &client, sizeof(client)))
+ if (copy_to_user(argp, &client, sizeof(client)))
return -EFAULT;
return 0;
}
-/**
- * Get statistics information.
- *
+/**
+ * Get statistics information.
+ *
* \param inode device inode.
* \param filp file pointer.
* \param cmd command.
* \param arg user argument, pointing to a drm_stats structure.
- *
+ *
* \return zero on success or a negative number on failure.
*/
-int drm_getstats( struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg )
+int drm_getstats(struct inode *inode, struct file *filp,
+ unsigned int cmd, unsigned long arg)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- drm_stats_t stats;
- int i;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ drm_stats_t stats;
+ int i;
memset(&stats, 0, sizeof(stats));
-
- down(&dev->struct_sem);
+
+ mutex_lock(&dev->struct_mutex);
for (i = 0; i < dev->counters; i++) {
if (dev->types[i] == _DRM_STAT_LOCK)
stats.data[i].value
- = (dev->lock.hw_lock
- ? dev->lock.hw_lock->lock : 0);
- else
+ = (dev->lock.hw_lock ? dev->lock.hw_lock->lock : 0);
+ else
stats.data[i].value = atomic_read(&dev->counts[i]);
- stats.data[i].type = dev->types[i];
+ stats.data[i].type = dev->types[i];
}
-
+
stats.count = dev->counters;
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
- if (copy_to_user((drm_stats_t __user *)arg, &stats, sizeof(stats)))
+ if (copy_to_user((drm_stats_t __user *) arg, &stats, sizeof(stats)))
return -EFAULT;
return 0;
}
drm_set_version_t retv;
int if_version;
drm_set_version_t __user *argp = (void __user *)data;
- drm_version_t version;
DRM_COPY_FROM_USER_IOCTL(sv, argp, sizeof(sv));
- memset(&version, 0, sizeof(version));
-
- dev->driver->version(&version);
retv.drm_di_major = DRM_IF_MAJOR;
retv.drm_di_minor = DRM_IF_MINOR;
- retv.drm_dd_major = version.version_major;
- retv.drm_dd_minor = version.version_minor;
+ retv.drm_dd_major = dev->driver->major;
+ retv.drm_dd_minor = dev->driver->minor;
DRM_COPY_TO_USER_IOCTL(argp, retv, sizeof(sv));
if (sv.drm_di_major != DRM_IF_MAJOR ||
sv.drm_di_minor < 0 || sv.drm_di_minor > DRM_IF_MINOR)
return EINVAL;
- if_version = DRM_IF_VERSION(sv.drm_di_major, sv.drm_dd_minor);
+ if_version = DRM_IF_VERSION(sv.drm_di_major, sv.drm_di_minor);
dev->if_version = DRM_MAX(if_version, dev->if_version);
if (sv.drm_di_minor >= 1) {
/*
}
if (sv.drm_dd_major != -1) {
- if (sv.drm_dd_major != version.version_major ||
- sv.drm_dd_minor < 0 || sv.drm_dd_minor > version.version_minor)
+ if (sv.drm_dd_major != dev->driver->major ||
+ sv.drm_dd_minor < 0
+ || sv.drm_dd_minor > dev->driver->minor)
return EINVAL;
if (dev->driver->set_version)
/** No-op ioctl. */
int drm_noop(struct inode *inode, struct file *filp, unsigned int cmd,
- unsigned long arg)
+ unsigned long arg)
{
DRM_DEBUG("\n");
return 0;
/**
- * \file drm_lock.h
+ * \file drm_lock.c
* IOCTLs for locking
- *
+ *
* \author Rickard E. (Rik) Faith <faith@valinux.com>
* \author Gareth Hughes <gareth@valinux.com>
*/
#include "drmP.h"
-/**
+static int drm_lock_transfer(drm_device_t * dev,
+ __volatile__ unsigned int *lock,
+ unsigned int context);
+static int drm_notifier(void *priv);
+
+/**
* Lock ioctl.
*
* \param inode device inode.
*
* Add the current task to the lock wait queue, and attempt to take to lock.
*/
-int drm_lock( struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg )
+int drm_lock(struct inode *inode, struct file *filp,
+ unsigned int cmd, unsigned long arg)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
- DECLARE_WAITQUEUE( entry, current );
- drm_lock_t lock;
- int ret = 0;
+ drm_file_t *priv = filp->private_data;
+ drm_device_t *dev = priv->head->dev;
+ DECLARE_WAITQUEUE(entry, current);
+ drm_lock_t lock;
+ int ret = 0;
++priv->lock_count;
- if ( copy_from_user( &lock, (drm_lock_t __user *)arg, sizeof(lock) ) )
+ if (copy_from_user(&lock, (drm_lock_t __user *) arg, sizeof(lock)))
return -EFAULT;
- if ( lock.context == DRM_KERNEL_CONTEXT ) {
- DRM_ERROR( "Process %d using kernel context %d\n",
- current->pid, lock.context );
- return -EINVAL;
- }
+ if (lock.context == DRM_KERNEL_CONTEXT) {
+ DRM_ERROR("Process %d using kernel context %d\n",
+ current->pid, lock.context);
+ return -EINVAL;
+ }
- DRM_DEBUG( "%d (pid %d) requests lock (0x%08x), flags = 0x%08x\n",
- lock.context, current->pid,
- dev->lock.hw_lock->lock, lock.flags );
+ DRM_DEBUG("%d (pid %d) requests lock (0x%08x), flags = 0x%08x\n",
+ lock.context, current->pid,
+ dev->lock.hw_lock->lock, lock.flags);
if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE))
- if ( lock.context < 0 )
+ if (lock.context < 0)
return -EINVAL;
- add_wait_queue( &dev->lock.lock_queue, &entry );
+ add_wait_queue(&dev->lock.lock_queue, &entry);
for (;;) {
__set_current_state(TASK_INTERRUPTIBLE);
- if ( !dev->lock.hw_lock ) {
+ if (!dev->lock.hw_lock) {
/* Device has been unregistered */
ret = -EINTR;
break;
}
- if ( drm_lock_take( &dev->lock.hw_lock->lock,
- lock.context ) ) {
- dev->lock.filp = filp;
+ if (drm_lock_take(&dev->lock.hw_lock->lock, lock.context)) {
+ dev->lock.filp = filp;
dev->lock.lock_time = jiffies;
- atomic_inc( &dev->counts[_DRM_STAT_LOCKS] );
- break; /* Got lock */
+ atomic_inc(&dev->counts[_DRM_STAT_LOCKS]);
+ break; /* Got lock */
}
-
+
/* Contention */
schedule();
- if ( signal_pending( current ) ) {
+ if (signal_pending(current)) {
ret = -ERESTARTSYS;
break;
}
}
__set_current_state(TASK_RUNNING);
- remove_wait_queue( &dev->lock.lock_queue, &entry );
+ remove_wait_queue(&dev->lock.lock_queue, &entry);
- sigemptyset( &dev->sigmask );
- sigaddset( &dev->sigmask, SIGSTOP );
- sigaddset( &dev->sigmask, SIGTSTP );
- sigaddset( &dev->sigmask, SIGTTIN );
- sigaddset( &dev->sigmask, SIGTTOU );
+ DRM_DEBUG("%d %s\n", lock.context, ret ? "interrupted" : "has lock");
+ if (ret)
+ return ret;
+
+ sigemptyset(&dev->sigmask);
+ sigaddset(&dev->sigmask, SIGSTOP);
+ sigaddset(&dev->sigmask, SIGTSTP);
+ sigaddset(&dev->sigmask, SIGTTIN);
+ sigaddset(&dev->sigmask, SIGTTOU);
dev->sigdata.context = lock.context;
- dev->sigdata.lock = dev->lock.hw_lock;
- block_all_signals( drm_notifier,
- &dev->sigdata, &dev->sigmask );
-
+ dev->sigdata.lock = dev->lock.hw_lock;
+ block_all_signals(drm_notifier, &dev->sigdata, &dev->sigmask);
+
if (dev->driver->dma_ready && (lock.flags & _DRM_LOCK_READY))
dev->driver->dma_ready(dev);
-
- if ( dev->driver->dma_quiescent && (lock.flags & _DRM_LOCK_QUIESCENT ))
- return dev->driver->dma_quiescent(dev);
-
- /* dev->driver->kernel_context_switch isn't used by any of the x86
+
+ if (dev->driver->dma_quiescent && (lock.flags & _DRM_LOCK_QUIESCENT)) {
+ if (dev->driver->dma_quiescent(dev)) {
+ DRM_DEBUG("%d waiting for DMA quiescent\n", lock.context);
+ return DRM_ERR(EBUSY);
+ }
+ }
+
+ /* dev->driver->kernel_context_switch isn't used by any of the x86
* drivers but is used by the Sparc driver.
*/
-
- if (dev->driver->kernel_context_switch &&
+ if (dev->driver->kernel_context_switch &&
dev->last_context != lock.context) {
- dev->driver->kernel_context_switch(dev, dev->last_context,
- lock.context);
+ dev->driver->kernel_context_switch(dev, dev->last_context,
+ lock.context);
}
- DRM_DEBUG( "%d %s\n", lock.context, ret ? "interrupted" : "has lock" );
-
- return ret;
+ return 0;
}
-/**
+/**
* Unlock ioctl.
*
* \param inode device inode.
*
* Transfer and free the lock.
*/
-int drm_unlock( struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg )
+int drm_unlock(struct inode *inode, struct file *filp,
+ unsigned int cmd, unsigned long arg)
{
drm_file_t *priv = filp->private_data;
drm_device_t *dev = priv->head->dev;
drm_lock_t lock;
- if ( copy_from_user( &lock, (drm_lock_t __user *)arg, sizeof(lock) ) )
+ if (copy_from_user(&lock, (drm_lock_t __user *) arg, sizeof(lock)))
return -EFAULT;
- if ( lock.context == DRM_KERNEL_CONTEXT ) {
- DRM_ERROR( "Process %d using kernel context %d\n",
- current->pid, lock.context );
+ if (lock.context == DRM_KERNEL_CONTEXT) {
+ DRM_ERROR("Process %d using kernel context %d\n",
+ current->pid, lock.context);
return -EINVAL;
}
- atomic_inc( &dev->counts[_DRM_STAT_UNLOCKS] );
+ atomic_inc(&dev->counts[_DRM_STAT_UNLOCKS]);
/* kernel_context_switch isn't used by any of the x86 drm
* modules but is required by the Sparc driver.
if (dev->driver->kernel_context_switch_unlock)
dev->driver->kernel_context_switch_unlock(dev, &lock);
else {
- drm_lock_transfer( dev, &dev->lock.hw_lock->lock,
- DRM_KERNEL_CONTEXT );
-
- if ( drm_lock_free( dev, &dev->lock.hw_lock->lock,
- DRM_KERNEL_CONTEXT ) ) {
- DRM_ERROR( "\n" );
+ drm_lock_transfer(dev, &dev->lock.hw_lock->lock,
+ DRM_KERNEL_CONTEXT);
+
+ if (drm_lock_free(dev, &dev->lock.hw_lock->lock,
+ DRM_KERNEL_CONTEXT)) {
+ DRM_ERROR("\n");
}
}
do {
old = *lock;
- if (old & _DRM_LOCK_HELD) new = old | _DRM_LOCK_CONT;
- else new = context | _DRM_LOCK_HELD;
+ if (old & _DRM_LOCK_HELD)
+ new = old | _DRM_LOCK_CONT;
+ else
+ new = context | _DRM_LOCK_HELD;
prev = cmpxchg(lock, old, new);
} while (prev != old);
if (_DRM_LOCKING_CONTEXT(old) == context) {
}
}
if (new == (context | _DRM_LOCK_HELD)) {
- /* Have lock */
+ /* Have lock */
return 1;
}
return 0;
/**
* This takes a lock forcibly and hands it to context. Should ONLY be used
- * inside *_unlock to give lock to kernel before calling *_dma_schedule.
- *
+ * inside *_unlock to give lock to kernel before calling *_dma_schedule.
+ *
* \param dev DRM device.
* \param lock lock pointer.
* \param context locking context.
* Resets the lock file pointer.
* Marks the lock as held by the given context, via the \p cmpxchg instruction.
*/
-int drm_lock_transfer(drm_device_t *dev,
- __volatile__ unsigned int *lock, unsigned int context)
+static int drm_lock_transfer(drm_device_t * dev,
+ __volatile__ unsigned int *lock,
+ unsigned int context)
{
unsigned int old, new, prev;
dev->lock.filp = NULL;
do {
- old = *lock;
- new = context | _DRM_LOCK_HELD;
+ old = *lock;
+ new = context | _DRM_LOCK_HELD;
prev = cmpxchg(lock, old, new);
} while (prev != old);
return 1;
/**
* Free lock.
- *
+ *
* \param dev DRM device.
* \param lock lock.
* \param context context.
- *
+ *
* Resets the lock file pointer.
* Marks the lock as not held, via the \p cmpxchg instruction. Wakes any task
* waiting on the lock queue.
*/
-int drm_lock_free(drm_device_t *dev,
- __volatile__ unsigned int *lock, unsigned int context)
+int drm_lock_free(drm_device_t * dev,
+ __volatile__ unsigned int *lock, unsigned int context)
{
unsigned int old, new, prev;
dev->lock.filp = NULL;
do {
- old = *lock;
- new = 0;
+ old = *lock;
+ new = 0;
prev = cmpxchg(lock, old, new);
} while (prev != old);
if (_DRM_LOCK_IS_HELD(old) && _DRM_LOCKING_CONTEXT(old) != context) {
DRM_ERROR("%d freed heavyweight lock held by %d\n",
- context,
- _DRM_LOCKING_CONTEXT(old));
+ context, _DRM_LOCKING_CONTEXT(old));
return 1;
}
wake_up_interruptible(&dev->lock.lock_queue);
* \return one if the signal should be delivered normally, or zero if the
* signal should be blocked.
*/
-int drm_notifier(void *priv)
+static int drm_notifier(void *priv)
{
- drm_sigdata_t *s = (drm_sigdata_t *)priv;
- unsigned int old, new, prev;
-
+ drm_sigdata_t *s = (drm_sigdata_t *) priv;
+ unsigned int old, new, prev;
- /* Allow signal delivery if lock isn't held */
+ /* Allow signal delivery if lock isn't held */
if (!s->lock || !_DRM_LOCK_IS_HELD(s->lock->lock)
- || _DRM_LOCKING_CONTEXT(s->lock->lock) != s->context) return 1;
+ || _DRM_LOCKING_CONTEXT(s->lock->lock) != s->context)
+ return 1;
- /* Otherwise, set flag to force call to
- drmUnlock */
+ /* Otherwise, set flag to force call to
+ drmUnlock */
do {
- old = s->lock->lock;
- new = old | _DRM_LOCK_CONT;
+ old = s->lock->lock;
+ new = old | _DRM_LOCK_CONT;
prev = cmpxchg(&s->lock->lock, old, new);
} while (prev != old);
return 0;
/**
- * \file drm_proc.h
+ * \file drm_proc.c
* /proc support for DRM
*
* \author Rickard E. (Rik) Faith <faith@valinux.com>
#include "drmP.h"
-static int drm_name_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data);
-static int drm_vm_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data);
-static int drm_clients_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data);
-static int drm_queues_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data);
-static int drm_bufs_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data);
+static int drm_name_info(char *buf, char **start, off_t offset,
+ int request, int *eof, void *data);
+static int drm_vm_info(char *buf, char **start, off_t offset,
+ int request, int *eof, void *data);
+static int drm_clients_info(char *buf, char **start, off_t offset,
+ int request, int *eof, void *data);
+static int drm_queues_info(char *buf, char **start, off_t offset,
+ int request, int *eof, void *data);
+static int drm_bufs_info(char *buf, char **start, off_t offset,
+ int request, int *eof, void *data);
#if DRM_DEBUG_CODE
-static int drm_vma_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data);
+static int drm_vma_info(char *buf, char **start, off_t offset,
+ int request, int *eof, void *data);
#endif
/**
* Proc file list.
*/
-struct drm_proc_list {
+static struct drm_proc_list {
const char *name; /**< file name */
- int (*f)(char *, char **, off_t, int, int *, void *); /**< proc callback*/
+ int (*f) (char *, char **, off_t, int, int *, void *); /**< proc callback*/
} drm_proc_list[] = {
- { "name", drm_name_info },
- { "mem", drm_mem_info },
- { "vm", drm_vm_info },
- { "clients", drm_clients_info },
- { "queues", drm_queues_info },
- { "bufs", drm_bufs_info },
+ {"name", drm_name_info},
+ {"mem", drm_mem_info},
+ {"vm", drm_vm_info},
+ {"clients", drm_clients_info},
+ {"queues", drm_queues_info},
+ {"bufs", drm_bufs_info},
#if DRM_DEBUG_CODE
- { "vma", drm_vma_info },
+ {"vma", drm_vma_info},
#endif
};
+
#define DRM_PROC_ENTRIES (sizeof(drm_proc_list)/sizeof(drm_proc_list[0]))
/**
* \param root DRI proc dir entry.
* \param dev_root resulting DRI device proc dir entry.
* \return root entry pointer on success, or NULL on failure.
- *
+ *
* Create the DRI proc root entry "/proc/dri", the device proc root entry
* "/proc/dri/%minor%/", and each entry in proc_list as
* "/proc/dri/%minor%/%name%".
*/
-int drm_proc_init(drm_device_t *dev, int minor,
- struct proc_dir_entry *root,
- struct proc_dir_entry **dev_root)
+int drm_proc_init(drm_device_t * dev, int minor,
+ struct proc_dir_entry *root, struct proc_dir_entry **dev_root)
{
struct proc_dir_entry *ent;
- int i, j;
- char name[64];
+ int i, j;
+ char name[64];
sprintf(name, "%d", minor);
- *dev_root = create_proc_entry(name, S_IFDIR, root);
+ *dev_root = proc_mkdir(name, root);
if (!*dev_root) {
DRM_ERROR("Cannot create /proc/dri/%s\n", name);
return -1;
for (i = 0; i < DRM_PROC_ENTRIES; i++) {
ent = create_proc_entry(drm_proc_list[i].name,
- S_IFREG|S_IRUGO, *dev_root);
+ S_IFREG | S_IRUGO, *dev_root);
if (!ent) {
DRM_ERROR("Cannot create /proc/dri/%s/%s\n",
name, drm_proc_list[i].name);
return -1;
}
ent->read_proc = drm_proc_list[i].f;
- ent->data = dev;
+ ent->data = dev;
}
return 0;
}
-
/**
* Cleanup the proc filesystem resources.
*
* Remove all proc entries created by proc_init().
*/
int drm_proc_cleanup(int minor, struct proc_dir_entry *root,
- struct proc_dir_entry *dev_root)
+ struct proc_dir_entry *dev_root)
{
- int i;
+ int i;
char name[64];
- if (!root || !dev_root) return 0;
+ if (!root || !dev_root)
+ return 0;
for (i = 0; i < DRM_PROC_ENTRIES; i++)
remove_proc_entry(drm_proc_list[i].name, dev_root);
/**
* Called when "/proc/dri/.../name" is read.
- *
+ *
* \param buf output buffer.
* \param start start of output data.
* \param offset requested start offset.
* \param eof whether there is no more data to return.
* \param data private data.
* \return number of written bytes.
- *
+ *
* Prints the device name together with the bus id if available.
*/
static int drm_name_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int len = 0;
+ drm_device_t *dev = (drm_device_t *) data;
+ int len = 0;
if (offset > DRM_PROC_LIMIT) {
*eof = 1;
}
*start = &buf[offset];
- *eof = 0;
+ *eof = 0;
if (dev->unique) {
DRM_PROC_PRINT("%s %s %s\n",
- dev->driver->pci_driver.name, pci_name(dev->pdev), dev->unique);
+ dev->driver->pci_driver.name,
+ pci_name(dev->pdev), dev->unique);
} else {
- DRM_PROC_PRINT("%s %s\n", dev->driver->pci_driver.name, pci_name(dev->pdev));
+ DRM_PROC_PRINT("%s %s\n", dev->driver->pci_driver.name,
+ pci_name(dev->pdev));
}
- if (len > request + offset) return request;
+ if (len > request + offset)
+ return request;
*eof = 1;
return len - offset;
}
/**
* Called when "/proc/dri/.../vm" is read.
- *
+ *
* \param buf output buffer.
* \param start start of output data.
* \param offset requested start offset.
* \param eof whether there is no more data to return.
* \param data private data.
* \return number of written bytes.
- *
+ *
* Prints information about all mappings in drm_device::maplist.
*/
static int drm__vm_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int len = 0;
- drm_map_t *map;
+ drm_device_t *dev = (drm_device_t *) data;
+ int len = 0;
+ drm_map_t *map;
drm_map_list_t *r_list;
struct list_head *list;
- /* Hardcoded from _DRM_FRAME_BUFFER,
- _DRM_REGISTERS, _DRM_SHM, _DRM_AGP, and
- _DRM_SCATTER_GATHER. */
- const char *types[] = { "FB", "REG", "SHM", "AGP", "SG" };
- const char *type;
- int i;
+ /* Hardcoded from _DRM_FRAME_BUFFER,
+ _DRM_REGISTERS, _DRM_SHM, _DRM_AGP, and
+ _DRM_SCATTER_GATHER and _DRM_CONSISTENT */
+ const char *types[] = { "FB", "REG", "SHM", "AGP", "SG", "PCI" };
+ const char *type;
+ int i;
if (offset > DRM_PROC_LIMIT) {
*eof = 1;
}
*start = &buf[offset];
- *eof = 0;
+ *eof = 0;
DRM_PROC_PRINT("slot offset size type flags "
"address mtrr\n\n");
i = 0;
- if (dev->maplist != NULL) list_for_each(list, &dev->maplist->head) {
+ if (dev->maplist != NULL)
+ list_for_each(list, &dev->maplist->head) {
r_list = list_entry(list, drm_map_list_t, head);
map = r_list->map;
- if(!map) continue;
- if (map->type < 0 || map->type > 4) type = "??";
- else type = types[map->type];
- DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s 0x%02x 0x%08lx ",
+ if (!map)
+ continue;
+ if (map->type < 0 || map->type > 5)
+ type = "??";
+ else
+ type = types[map->type];
+ DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s 0x%02x 0x%08x ",
i,
map->offset,
- map->size,
- type,
- map->flags,
- (unsigned long)map->handle);
+ map->size, type, map->flags, r_list->user_token);
if (map->mtrr < 0) {
DRM_PROC_PRINT("none\n");
} else {
DRM_PROC_PRINT("%4d\n", map->mtrr);
}
i++;
- }
+ }
- if (len > request + offset) return request;
+ if (len > request + offset)
+ return request;
*eof = 1;
return len - offset;
}
/**
- * Simply calls _vm_info() while holding the drm_device::struct_sem lock.
+ * Simply calls _vm_info() while holding the drm_device::struct_mutex lock.
*/
static int drm_vm_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int ret;
+ drm_device_t *dev = (drm_device_t *) data;
+ int ret;
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
ret = drm__vm_info(buf, start, offset, request, eof, data);
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return ret;
}
/**
* Called when "/proc/dri/.../queues" is read.
- *
+ *
* \param buf output buffer.
* \param start start of output data.
* \param offset requested start offset.
* \return number of written bytes.
*/
static int drm__queues_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data)
+ int request, int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int len = 0;
- int i;
- drm_queue_t *q;
+ drm_device_t *dev = (drm_device_t *) data;
+ int len = 0;
+ int i;
+ drm_queue_t *q;
if (offset > DRM_PROC_LIMIT) {
*eof = 1;
}
*start = &buf[offset];
- *eof = 0;
+ *eof = 0;
DRM_PROC_PRINT(" ctx/flags use fin"
" blk/rw/rwf wait flushed queued"
atomic_read(&q->block_count),
atomic_read(&q->block_read) ? 'r' : '-',
atomic_read(&q->block_write) ? 'w' : '-',
- waitqueue_active(&q->read_queue) ? 'r':'-',
- waitqueue_active(&q->write_queue) ? 'w':'-',
- waitqueue_active(&q->flush_queue) ? 'f':'-',
+ waitqueue_active(&q->read_queue) ? 'r' : '-',
+ waitqueue_active(&q->
+ write_queue) ? 'w' : '-',
+ waitqueue_active(&q->
+ flush_queue) ? 'f' : '-',
DRM_BUFCOUNT(&q->waitlist));
atomic_dec(&q->use_count);
}
- if (len > request + offset) return request;
+ if (len > request + offset)
+ return request;
*eof = 1;
return len - offset;
}
/**
- * Simply calls _queues_info() while holding the drm_device::struct_sem lock.
+ * Simply calls _queues_info() while holding the drm_device::struct_mutex lock.
*/
static int drm_queues_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int ret;
+ drm_device_t *dev = (drm_device_t *) data;
+ int ret;
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
ret = drm__queues_info(buf, start, offset, request, eof, data);
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return ret;
}
/**
* Called when "/proc/dri/.../bufs" is read.
- *
+ *
* \param buf output buffer.
* \param start start of output data.
* \param offset requested start offset.
* \return number of written bytes.
*/
static int drm__bufs_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int len = 0;
+ drm_device_t *dev = (drm_device_t *) data;
+ int len = 0;
drm_device_dma_t *dma = dev->dma;
- int i;
+ int i;
if (!dma || offset > DRM_PROC_LIMIT) {
*eof = 1;
}
*start = &buf[offset];
- *eof = 0;
+ *eof = 0;
DRM_PROC_PRINT(" o size count free segs pages kB\n\n");
for (i = 0; i <= DRM_MAX_ORDER; i++) {
.freelist.count),
dma->bufs[i].seg_count,
dma->bufs[i].seg_count
- *(1 << dma->bufs[i].page_order),
+ * (1 << dma->bufs[i].page_order),
(dma->bufs[i].seg_count
* (1 << dma->bufs[i].page_order))
* PAGE_SIZE / 1024);
}
DRM_PROC_PRINT("\n");
for (i = 0; i < dma->buf_count; i++) {
- if (i && !(i%32)) DRM_PROC_PRINT("\n");
+ if (i && !(i % 32))
+ DRM_PROC_PRINT("\n");
DRM_PROC_PRINT(" %d", dma->buflist[i]->list);
}
DRM_PROC_PRINT("\n");
- if (len > request + offset) return request;
+ if (len > request + offset)
+ return request;
*eof = 1;
return len - offset;
}
/**
- * Simply calls _bufs_info() while holding the drm_device::struct_sem lock.
+ * Simply calls _bufs_info() while holding the drm_device::struct_mutex lock.
*/
static int drm_bufs_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int ret;
+ drm_device_t *dev = (drm_device_t *) data;
+ int ret;
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
ret = drm__bufs_info(buf, start, offset, request, eof, data);
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return ret;
}
/**
* Called when "/proc/dri/.../clients" is read.
- *
+ *
* \param buf output buffer.
* \param start start of output data.
* \param offset requested start offset.
* \return number of written bytes.
*/
static int drm__clients_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data)
+ int request, int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int len = 0;
- drm_file_t *priv;
+ drm_device_t *dev = (drm_device_t *) data;
+ int len = 0;
+ drm_file_t *priv;
if (offset > DRM_PROC_LIMIT) {
*eof = 1;
}
*start = &buf[offset];
- *eof = 0;
+ *eof = 0;
DRM_PROC_PRINT("a dev pid uid magic ioctls\n\n");
for (priv = dev->file_first; priv; priv = priv->next) {
priv->authenticated ? 'y' : 'n',
priv->minor,
priv->pid,
- priv->uid,
- priv->magic,
- priv->ioctl_count);
+ priv->uid, priv->magic, priv->ioctl_count);
}
- if (len > request + offset) return request;
+ if (len > request + offset)
+ return request;
*eof = 1;
return len - offset;
}
/**
- * Simply calls _clients_info() while holding the drm_device::struct_sem lock.
+ * Simply calls _clients_info() while holding the drm_device::struct_mutex lock.
*/
static int drm_clients_info(char *buf, char **start, off_t offset,
- int request, int *eof, void *data)
+ int request, int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int ret;
+ drm_device_t *dev = (drm_device_t *) data;
+ int ret;
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
ret = drm__clients_info(buf, start, offset, request, eof, data);
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return ret;
}
#if DRM_DEBUG_CODE
static int drm__vma_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int len = 0;
- drm_vma_entry_t *pt;
+ drm_device_t *dev = (drm_device_t *) data;
+ int len = 0;
+ drm_vma_entry_t *pt;
struct vm_area_struct *vma;
#if defined(__i386__)
- unsigned int pgprot;
+ unsigned int pgprot;
#endif
if (offset > DRM_PROC_LIMIT) {
}
*start = &buf[offset];
- *eof = 0;
+ *eof = 0;
DRM_PROC_PRINT("vma use count: %d, high_memory = %p, 0x%08lx\n",
atomic_read(&dev->vma_count),
high_memory, virt_to_phys(high_memory));
for (pt = dev->vmalist; pt; pt = pt->next) {
- if (!(vma = pt->vma)) continue;
+ if (!(vma = pt->vma))
+ continue;
DRM_PROC_PRINT("\n%5d 0x%08lx-0x%08lx %c%c%c%c%c%c 0x%08lx",
pt->pid,
vma->vm_start,
vma->vm_end,
- vma->vm_flags & VM_READ ? 'r' : '-',
- vma->vm_flags & VM_WRITE ? 'w' : '-',
- vma->vm_flags & VM_EXEC ? 'x' : '-',
+ vma->vm_flags & VM_READ ? 'r' : '-',
+ vma->vm_flags & VM_WRITE ? 'w' : '-',
+ vma->vm_flags & VM_EXEC ? 'x' : '-',
vma->vm_flags & VM_MAYSHARE ? 's' : 'p',
- vma->vm_flags & VM_LOCKED ? 'l' : '-',
- vma->vm_flags & VM_IO ? 'i' : '-',
+ vma->vm_flags & VM_LOCKED ? 'l' : '-',
+ vma->vm_flags & VM_IO ? 'i' : '-',
VM_OFFSET(vma));
#if defined(__i386__)
pgprot = pgprot_val(vma->vm_page_prot);
DRM_PROC_PRINT(" %c%c%c%c%c%c%c%c%c",
- pgprot & _PAGE_PRESENT ? 'p' : '-',
- pgprot & _PAGE_RW ? 'w' : 'r',
- pgprot & _PAGE_USER ? 'u' : 's',
- pgprot & _PAGE_PWT ? 't' : 'b',
- pgprot & _PAGE_PCD ? 'u' : 'c',
+ pgprot & _PAGE_PRESENT ? 'p' : '-',
+ pgprot & _PAGE_RW ? 'w' : 'r',
+ pgprot & _PAGE_USER ? 'u' : 's',
+ pgprot & _PAGE_PWT ? 't' : 'b',
+ pgprot & _PAGE_PCD ? 'u' : 'c',
pgprot & _PAGE_ACCESSED ? 'a' : '-',
- pgprot & _PAGE_DIRTY ? 'd' : '-',
- pgprot & _PAGE_PSE ? 'm' : 'k',
- pgprot & _PAGE_GLOBAL ? 'g' : 'l' );
+ pgprot & _PAGE_DIRTY ? 'd' : '-',
+ pgprot & _PAGE_PSE ? 'm' : 'k',
+ pgprot & _PAGE_GLOBAL ? 'g' : 'l');
#endif
DRM_PROC_PRINT("\n");
}
- if (len > request + offset) return request;
+ if (len > request + offset)
+ return request;
*eof = 1;
return len - offset;
}
static int drm_vma_info(char *buf, char **start, off_t offset, int request,
- int *eof, void *data)
+ int *eof, void *data)
{
- drm_device_t *dev = (drm_device_t *)data;
- int ret;
+ drm_device_t *dev = (drm_device_t *) data;
+ int ret;
- down(&dev->struct_sem);
+ mutex_lock(&dev->struct_mutex);
ret = drm__vma_info(buf, start, offset, request, eof, data);
- up(&dev->struct_sem);
+ mutex_unlock(&dev->struct_mutex);
return ret;
}
#endif
-
-
config CRYPTO_DEV_PADLOCK
tristate "Support for VIA PadLock ACE"
- depends on CRYPTO && X86 && !X86_64
+ depends on CRYPTO && X86_32
help
Some VIA processors come with an integrated crypto engine
(so called VIA PadLock ACE, Advanced Cryptography Engine)
#ifndef _CRYPTO_PADLOCK_H
#define _CRYPTO_PADLOCK_H
+#define PADLOCK_ALIGNMENT 16
+
/* Control word. */
-union cword {
- uint32_t cword[4];
- struct {
- int rounds:4;
- int algo:3;
- int keygen:1;
- int interm:1;
- int encdec:1;
- int ksize:2;
- } b;
-};
+struct cword {
+ unsigned int __attribute__ ((__packed__))
+ rounds:4,
+ algo:3,
+ keygen:1,
+ interm:1,
+ encdec:1,
+ ksize:2;
+} __attribute__ ((__aligned__(PADLOCK_ALIGNMENT)));
#define PFX "padlock: "
err = i2c_write(adap, p->buf, p->len);
}
- return err;
+ return (err < 0) ? err : i;
}
static u32 sgi_func(struct i2c_adapter *adap)
}
static struct i2c_algorithm sgi_algo = {
- .name = "SGI algorithm",
- .id = I2C_ALGO_SGI,
.master_xfer = sgi_xfer,
.functionality = sgi_func,
};
*/
int i2c_sgi_add_bus(struct i2c_adapter *adap)
{
- adap->id |= sgi_algo.id;
adap->algo = &sgi_algo;
return i2c_add_adapter(adap);
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <linux/config.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/module.h>
}
static struct i2c_algorithm au1550_algo = {
- .name = "Au1550 algorithm",
- .id = I2C_ALGO_AU1550,
.master_xfer = au1550_xfer,
.functionality = au1550_func,
};
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/i2c-algo-sibyte.h>
#include <asm/sibyte/sb1250_regs.h>
#include <asm/sibyte/sb1250_smbus.h>
static struct i2c_algo_sibyte_data sibyte_board_data[2] = {
- { NULL, 0, (void *) (KSEG1+A_SMB_BASE(0)) },
- { NULL, 1, (void *) (KSEG1+A_SMB_BASE(1)) }
+ { NULL, 0, (void *) (CKSEG1+A_SMB_BASE(0)) },
+ { NULL, 1, (void *) (CKSEG1+A_SMB_BASE(1)) }
};
static struct i2c_adapter sibyte_board_adapter[2] = {
/*
* Copyright (c) 2004 Topspin Communications. All rights reserved.
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
*
* This software is available to you under a choice of one of two
* licenses. You may choose to be licensed under the terms of the GNU
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/init.h>
-
-#include <asm/semaphore.h>
+#include <linux/mutex.h>
#include "core_priv.h"
static LIST_HEAD(client_list);
/*
- * device_sem protects access to both device_list and client_list.
+ * device_mutex protects access to both device_list and client_list.
* There's no real point to using multiple locks or something fancier
* like an rwsem: we always access both lists, and we're always
* modifying one list or the other list. In any case this is not a
* hot path so there's no point in trying to optimize.
*/
-static DECLARE_MUTEX(device_sem);
+static DEFINE_MUTEX(device_mutex);
static int ib_device_check_mandatory(struct ib_device *device)
{
*/
struct ib_device *ib_alloc_device(size_t size)
{
- void *dev;
-
BUG_ON(size < sizeof (struct ib_device));
- dev = kmalloc(size, GFP_KERNEL);
- if (!dev)
- return NULL;
-
- memset(dev, 0, size);
-
- return dev;
+ return kzalloc(size, GFP_KERNEL);
}
EXPORT_SYMBOL(ib_alloc_device);
{
int ret;
- down(&device_sem);
+ mutex_lock(&device_mutex);
if (strchr(device->name, '%')) {
ret = alloc_name(device->name);
}
out:
- up(&device_sem);
+ mutex_unlock(&device_mutex);
return ret;
}
EXPORT_SYMBOL(ib_register_device);
struct ib_client_data *context, *tmp;
unsigned long flags;
- down(&device_sem);
+ mutex_lock(&device_mutex);
list_for_each_entry_reverse(client, &client_list, list)
if (client->remove)
list_del(&device->core_list);
- up(&device_sem);
+ mutex_unlock(&device_mutex);
spin_lock_irqsave(&device->client_data_lock, flags);
list_for_each_entry_safe(context, tmp, &device->client_data_list, list)
{
struct ib_device *device;
- down(&device_sem);
+ mutex_lock(&device_mutex);
list_add_tail(&client->list, &client_list);
list_for_each_entry(device, &device_list, core_list)
if (client->add && !add_client_context(device, client))
client->add(device);
- up(&device_sem);
+ mutex_unlock(&device_mutex);
return 0;
}
struct ib_device *device;
unsigned long flags;
- down(&device_sem);
+ mutex_lock(&device_mutex);
list_for_each_entry(device, &device_list, core_list) {
if (client->remove)
}
list_del(&client->list);
- up(&device_sem);
+ mutex_unlock(&device_mutex);
}
EXPORT_SYMBOL(ib_unregister_client);
u8 port_num,
struct ib_port_attr *port_attr)
{
+ if (device->node_type == IB_NODE_SWITCH) {
+ if (port_num)
+ return -EINVAL;
+ } else if (port_num < 1 || port_num > device->phys_port_cnt)
+ return -EINVAL;
+
return device->query_port(device, port_num, port_attr);
}
EXPORT_SYMBOL(ib_query_port);
u8 port_num, int port_modify_mask,
struct ib_port_modify *port_modify)
{
+ if (device->node_type == IB_NODE_SWITCH) {
+ if (port_num)
+ return -EINVAL;
+ } else if (port_num < 1 || port_num > device->phys_port_cnt)
+ return -EINVAL;
+
return device->modify_port(device, port_num, port_modify_mask,
port_modify);
}
/*
- * Copyright (c) 2004 Mellanox Technologies Ltd. All rights reserved.
- * Copyright (c) 2004 Infinicon Corporation. All rights reserved.
- * Copyright (c) 2004 Intel Corporation. All rights reserved.
- * Copyright (c) 2004 Topspin Corporation. All rights reserved.
- * Copyright (c) 2004 Voltaire Corporation. All rights reserved.
+ * Copyright (c) 2004, 2005 Mellanox Technologies Ltd. All rights reserved.
+ * Copyright (c) 2004, 2005 Infinicon Corporation. All rights reserved.
+ * Copyright (c) 2004, 2005 Intel Corporation. All rights reserved.
+ * Copyright (c) 2004, 2005 Topspin Corporation. All rights reserved.
+ * Copyright (c) 2004, 2005 Voltaire Corporation. All rights reserved.
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
*
* This software is available to you under a choice of one of two
* licenses. You may choose to be licensed under the terms of the GNU
* $Id: smi.c 1389 2004-12-27 22:56:47Z roland $
*/
-#include <ib_smi.h>
+#include <rdma/ib_smi.h>
#include "smi.h"
/*
* $Id$
*/
+#include <asm/page.h> /* PAGE_SHIFT */
+
#include "mthca_dev.h"
#include "mthca_memfree.h"
static DECLARE_WAIT_QUEUE_HEAD(hp_sdc_rtc_wait);
-static loff_t hp_sdc_rtc_llseek(struct file *file, loff_t offset, int origin);
-
static ssize_t hp_sdc_rtc_read(struct file *file, char *buf,
size_t count, loff_t *ppos);
return 0;
}
-static loff_t hp_sdc_rtc_llseek(struct file *file, loff_t offset, int origin)
-{
- return -ESPIPE;
-}
-
static ssize_t hp_sdc_rtc_read(struct file *file, char *buf,
size_t count, loff_t *ppos) {
ssize_t retval;
static struct file_operations hp_sdc_rtc_fops = {
.owner = THIS_MODULE,
- .llseek = hp_sdc_rtc_llseek,
+ .llseek = no_llseek,
.read = hp_sdc_rtc_read,
.poll = hp_sdc_rtc_poll,
.ioctl = hp_sdc_rtc_ioctl,
};
struct alps_data {
- struct input_dev dev2; /* Relative device */
+ struct input_dev *dev2; /* Relative device */
char name[32]; /* Name */
char phys[32]; /* Phys */
struct alps_model_info *i; /* Info */
static int __init hp_sdc_init_hppa(struct parisc_device *d);
static struct parisc_driver hp_sdc_driver = {
- .name = "HP SDC",
+ .name = "hp_sdc",
.id_table = hp_sdc_tbl,
.probe = hp_sdc_init_hppa,
};
hp_sdc.dev = d;
hp_sdc.irq = d->irq;
hp_sdc.nmi = d->aux_irq;
- hp_sdc.base_io = d->hpa;
- hp_sdc.data_io = d->hpa + 0x800;
- hp_sdc.status_io = d->hpa + 0x801;
+ hp_sdc.base_io = d->hpa.start;
+ hp_sdc.data_io = d->hpa.start + 0x800;
+ hp_sdc.status_io = d->hpa.start + 0x801;
return hp_sdc_init();
}
#define ELO_MAX_LENGTH 10
-static char *elo_name = "Elo Serial TouchScreen";
-
/*
* Per-touchscreen data.
*/
struct elo {
- struct input_dev dev;
+ struct input_dev *dev;
struct serio *serio;
int id;
int idx;
static void elo_process_data_10(struct elo* elo, unsigned char data, struct pt_regs *regs)
{
- struct input_dev *dev = &elo->dev;
+ struct input_dev *dev = elo->dev;
elo->csum += elo->data[elo->idx] = data;
input_report_abs(dev, ABS_X, (elo->data[4] << 8) | elo->data[3]);
input_report_abs(dev, ABS_Y, (elo->data[6] << 8) | elo->data[5]);
input_report_abs(dev, ABS_PRESSURE, (elo->data[8] << 8) | elo->data[7]);
- input_report_key(dev, BTN_TOUCH, elo->data[2] & 3);
+ input_report_key(dev, BTN_TOUCH, elo->data[8] || elo->data[7]);
input_sync(dev);
}
elo->idx = 0;
static void elo_process_data_6(struct elo* elo, unsigned char data, struct pt_regs *regs)
{
- struct input_dev *dev = &elo->dev;
+ struct input_dev *dev = elo->dev;
elo->data[elo->idx] = data;
case 5:
if ((data & 0xf0) == 0) {
input_report_abs(dev, ABS_PRESSURE, elo->data[5]);
- input_report_key(dev, BTN_TOUCH, elo->data[5]);
+ input_report_key(dev, BTN_TOUCH, !!elo->data[5]);
}
input_sync(dev);
elo->idx = 0;
static void elo_process_data_3(struct elo* elo, unsigned char data, struct pt_regs *regs)
{
- struct input_dev *dev = &elo->dev;
+ struct input_dev *dev = elo->dev;
elo->data[elo->idx] = data;
{
struct elo* elo = serio_get_drvdata(serio);
- input_unregister_device(&elo->dev);
+ input_unregister_device(elo->dev);
serio_close(serio);
serio_set_drvdata(serio, NULL);
kfree(elo);
static int elo_connect(struct serio *serio, struct serio_driver *drv)
{
struct elo *elo;
+ struct input_dev *input_dev;
int err;
- if (!(elo = kmalloc(sizeof(struct elo), GFP_KERNEL)))
- return -ENOMEM;
+ elo = kzalloc(sizeof(struct elo), GFP_KERNEL);
+ input_dev = input_allocate_device();
+ if (!elo || !input_dev) {
+ err = -ENOMEM;
+ goto fail;
+ }
- memset(elo, 0, sizeof(struct elo));
+ elo->serio = serio;
+ elo->id = serio->id.id;
+ elo->dev = input_dev;
+ snprintf(elo->phys, sizeof(elo->phys), "%s/input0", serio->phys);
- init_input_dev(&elo->dev);
- elo->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
- elo->dev.keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
+ input_dev->private = elo;
+ input_dev->name = "Elo Serial TouchScreen";
+ input_dev->phys = elo->phys;
+ input_dev->id.bustype = BUS_RS232;
+ input_dev->id.vendor = SERIO_ELO;
+ input_dev->id.product = elo->id;
+ input_dev->id.version = 0x0100;
+ input_dev->cdev.dev = &serio->dev;
- elo->id = serio->id.id;
+ input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
+ input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
switch (elo->id) {
case 0: /* 10-byte protocol */
- input_set_abs_params(&elo->dev, ABS_X, 96, 4000, 0, 0);
- input_set_abs_params(&elo->dev, ABS_Y, 96, 4000, 0, 0);
- input_set_abs_params(&elo->dev, ABS_PRESSURE, 0, 255, 0, 0);
+ input_set_abs_params(input_dev, ABS_X, 96, 4000, 0, 0);
+ input_set_abs_params(input_dev, ABS_Y, 96, 4000, 0, 0);
+ input_set_abs_params(input_dev, ABS_PRESSURE, 0, 255, 0, 0);
break;
-
+
case 1: /* 6-byte protocol */
- input_set_abs_params(&elo->dev, ABS_PRESSURE, 0, 15, 0, 0);
+ input_set_abs_params(input_dev, ABS_PRESSURE, 0, 15, 0, 0);
case 2: /* 4-byte protocol */
- input_set_abs_params(&elo->dev, ABS_X, 96, 4000, 0, 0);
- input_set_abs_params(&elo->dev, ABS_Y, 96, 4000, 0, 0);
+ input_set_abs_params(input_dev, ABS_X, 96, 4000, 0, 0);
+ input_set_abs_params(input_dev, ABS_Y, 96, 4000, 0, 0);
break;
case 3: /* 3-byte protocol */
- input_set_abs_params(&elo->dev, ABS_X, 0, 255, 0, 0);
- input_set_abs_params(&elo->dev, ABS_Y, 0, 255, 0, 0);
+ input_set_abs_params(input_dev, ABS_X, 0, 255, 0, 0);
+ input_set_abs_params(input_dev, ABS_Y, 0, 255, 0, 0);
break;
}
- elo->serio = serio;
-
- sprintf(elo->phys, "%s/input0", serio->phys);
-
- elo->dev.private = elo;
- elo->dev.name = elo_name;
- elo->dev.phys = elo->phys;
- elo->dev.id.bustype = BUS_RS232;
- elo->dev.id.vendor = SERIO_ELO;
- elo->dev.id.product = elo->id;
- elo->dev.id.version = 0x0100;
-
serio_set_drvdata(serio, elo);
err = serio_open(serio, drv);
- if (err) {
- serio_set_drvdata(serio, NULL);
- kfree(elo);
- return err;
- }
-
- input_register_device(&elo->dev);
-
- printk(KERN_INFO "input: %s on %s\n", elo_name, serio->phys);
+ if (err)
+ goto fail;
+ input_register_device(elo->dev);
return 0;
+
+ fail: serio_set_drvdata(serio, NULL);
+ input_free_device(input_dev);
+ kfree(elo);
+ return err;
}
/*
* found in Gateway AOL Connected Touchpad computers.
*
* Documentation for ICS MK712 can be found at:
- * http://www.icst.com/pdf/mk712.pdf
+ * http://www.icst.com/pdf/mk712.pdf
*/
/*
#define MK712_READ_ONE_POINT 0x20
#define MK712_POWERUP 0x40
-static int mk712_used = 0;
-static struct input_dev mk712_dev;
+static struct input_dev *mk712_dev;
static DEFINE_SPINLOCK(mk712_lock);
static irqreturn_t mk712_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static unsigned short last_y;
spin_lock(&mk712_lock);
- input_regs(&mk712_dev, regs);
+ input_regs(mk712_dev, regs);
status = inb(mk712_io + MK712_STATUS);
if (~status & MK712_STATUS_TOUCH)
{
debounce = 1;
- input_report_key(&mk712_dev, BTN_TOUCH, 0);
+ input_report_key(mk712_dev, BTN_TOUCH, 0);
goto end;
}
goto end;
}
- input_report_key(&mk712_dev, BTN_TOUCH, 1);
- input_report_abs(&mk712_dev, ABS_X, last_x);
- input_report_abs(&mk712_dev, ABS_Y, last_y);
+ input_report_key(mk712_dev, BTN_TOUCH, 1);
+ input_report_abs(mk712_dev, ABS_X, last_x);
+ input_report_abs(mk712_dev, ABS_Y, last_y);
end:
last_x = inw(mk712_io + MK712_X) & 0x0fff;
last_y = inw(mk712_io + MK712_Y) & 0x0fff;
- input_sync(&mk712_dev);
+ input_sync(mk712_dev);
spin_unlock(&mk712_lock);
return IRQ_HANDLED;
}
spin_lock_irqsave(&mk712_lock, flags);
- if (!mk712_used++) {
+ outb(0, mk712_io + MK712_CONTROL); /* Reset */
- outb(0, mk712_io + MK712_CONTROL); /* Reset */
+ outb(MK712_ENABLE_INT | MK712_INT_ON_CONVERSION_COMPLETE |
+ MK712_INT_ON_CHANGE_IN_TOUCH_STATUS |
+ MK712_ENABLE_PERIODIC_CONVERSIONS |
+ MK712_POWERUP, mk712_io + MK712_CONTROL);
- outb(MK712_ENABLE_INT | MK712_INT_ON_CONVERSION_COMPLETE |
- MK712_INT_ON_CHANGE_IN_TOUCH_STATUS |
- MK712_ENABLE_PERIODIC_CONVERSIONS |
- MK712_POWERUP, mk712_io + MK712_CONTROL);
-
- outb(10, mk712_io + MK712_RATE); /* 187 points per second */
- }
+ outb(10, mk712_io + MK712_RATE); /* 187 points per second */
spin_unlock_irqrestore(&mk712_lock, flags);
spin_lock_irqsave(&mk712_lock, flags);
- if (!--mk712_used)
- outb(0, mk712_io + MK712_CONTROL);
+ outb(0, mk712_io + MK712_CONTROL);
spin_unlock_irqrestore(&mk712_lock, flags);
}
-static struct input_dev mk712_dev = {
- .evbit = { BIT(EV_KEY) | BIT(EV_ABS) },
- .keybit = { [LONG(BTN_TOUCH)] = BIT(BTN_TOUCH) },
- .absbit = { BIT(ABS_X) | BIT(ABS_Y) },
- .open = mk712_open,
- .close = mk712_close,
- .name = "ICS MicroClock MK712 TouchScreen",
- .phys = "isa0260/input0",
- .absmin = { [ABS_X] = 0, [ABS_Y] = 0 },
- .absmax = { [ABS_X] = 0xfff, [ABS_Y] = 0xfff },
- .absfuzz = { [ABS_X] = 88, [ABS_Y] = 88 },
- .id = {
- .bustype = BUS_ISA,
- .vendor = 0x0005,
- .product = 0x0001,
- .version = 0x0100,
- },
-};
-
-int __init mk712_init(void)
+static int __init mk712_init(void)
{
+ int err;
- if(!request_region(mk712_io, 8, "mk712"))
- {
+ if (!request_region(mk712_io, 8, "mk712")) {
printk(KERN_WARNING "mk712: unable to get IO region\n");
return -ENODEV;
}
(inw(mk712_io + MK712_Y) & 0xf000) ||
(inw(mk712_io + MK712_STATUS) & 0xf333)) {
printk(KERN_WARNING "mk712: device not present\n");
- release_region(mk712_io, 8);
- return -ENODEV;
+ err = -ENODEV;
+ goto fail;
}
- if(request_irq(mk712_irq, mk712_interrupt, 0, "mk712", &mk712_dev))
- {
- printk(KERN_WARNING "mk712: unable to get IRQ\n");
- release_region(mk712_io, 8);
- return -EBUSY;
+ if (!(mk712_dev = input_allocate_device())) {
+ printk(KERN_ERR "mk712: not enough memory\n");
+ err = -ENOMEM;
+ goto fail;
}
- input_register_device(&mk712_dev);
+ mk712_dev->name = "ICS MicroClock MK712 TouchScreen";
+ mk712_dev->phys = "isa0260/input0";
+ mk712_dev->id.bustype = BUS_ISA;
+ mk712_dev->id.vendor = 0x0005;
+ mk712_dev->id.product = 0x0001;
+ mk712_dev->id.version = 0x0100;
- printk(KERN_INFO "input: ICS MicroClock MK712 TouchScreen at %#x irq %d\n", mk712_io, mk712_irq);
+ mk712_dev->open = mk712_open;
+ mk712_dev->close = mk712_close;
+ mk712_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
+ mk712_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
+ input_set_abs_params(mk712_dev, ABS_X, 0, 0xfff, 88, 0);
+ input_set_abs_params(mk712_dev, ABS_Y, 0, 0xfff, 88, 0);
+
+ if (request_irq(mk712_irq, mk712_interrupt, 0, "mk712", mk712_dev)) {
+ printk(KERN_WARNING "mk712: unable to get IRQ\n");
+ err = -EBUSY;
+ goto fail;
+ }
+
+ input_register_device(mk712_dev);
return 0;
+
+ fail: input_free_device(mk712_dev);
+ release_region(mk712_io, 8);
+ return err;
}
static void __exit mk712_exit(void)
{
- input_unregister_device(&mk712_dev);
- free_irq(mk712_irq, &mk712_dev);
+ input_unregister_device(mk712_dev);
+ free_irq(mk712_irq, mk712_dev);
release_region(mk712_io, 8);
}
/*
* hfc_usb.h
*
-* $Id: hfc_usb.h,v 4.1 2005/01/26 17:25:53 martinb1 Exp $
+* $Id: hfc_usb.h,v 4.2 2005/04/07 15:27:17 martinb1 Exp $
*/
#ifndef __HFC_USB_H__
/**********/
/* macros */
/**********/
-#define write_usb(a,b,c)usb_control_msg((a)->dev,(a)->ctrl_out_pipe,0,0x40,(c),(b),0,0,HFC_CTRL_TIMEOUT)
+#define write_usb(a,b,c)usb_control_msg((a)->dev,(a)->ctrl_out_pipe,0,0x40,(c),(b),NULL,0,HFC_CTRL_TIMEOUT)
#define read_usb(a,b,c) usb_control_msg((a)->dev,(a)->ctrl_in_pipe,1,0xC0,0,(b),(c),1,HFC_CTRL_TIMEOUT)
* 3 entries are the configuration number, the minimum interval for
* Interrupt endpoints & boolean if E-channel logging possible
*/
-int validconf[][19] = {
+static int validconf[][19] = {
// INT in, ISO out config
{EP_NUL, EP_INT, EP_NUL, EP_INT, EP_NUL, EP_INT, EP_NOP, EP_INT,
EP_ISO, EP_NUL, EP_ISO, EP_NUL, EP_ISO, EP_NUL, EP_NUL, EP_NUL,
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} // EOL element
};
+#ifdef CONFIG_HISAX_DEBUG
// string description of chosen config
-char *conf_str[] = {
+static char *conf_str[] = {
"4 Interrupt IN + 3 Isochron OUT",
"3 Interrupt IN + 3 Isochron OUT",
"4 Isochron IN + 3 Isochron OUT",
"3 Isochron IN + 3 Isochron OUT"
};
+#endif
typedef struct {
/* You can't use a snapshot if this is 0 (e.g. if full) */
int valid;
- int have_metadata;
+
+ /* Origin writes don't trigger exceptions until this is set */
+ int active;
/* Used for display of table */
char type;
/*
- * $Id: ixp4xx.c,v 1.7 2004/11/04 13:24:15 gleixner Exp $
+ * $Id: ixp4xx.c,v 1.13 2005/11/16 16:23:21 dvrabel Exp $
*
* drivers/mtd/maps/ixp4xx.c
*
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>
+#include <linux/slab.h>
+#include <linux/ioport.h>
+#include <linux/device.h>
+#include <linux/platform_device.h>
+
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
#include <linux/mtd/partitions.h>
-#include <linux/ioport.h>
-#include <linux/device.h>
+
#include <asm/io.h>
-#include <asm/mach-types.h>
#include <asm/mach/flash.h>
#include <linux/reboot.h>
+/*
+ * Read/write a 16 bit word from flash address 'addr'.
+ *
+ * When the cpu is in little-endian mode it swizzles the address lines
+ * ('address coherency') so we need to undo the swizzling to ensure commands
+ * and the like end up on the correct flash address.
+ *
+ * To further complicate matters, due to the way the expansion bus controller
+ * handles 32 bit reads, the byte stream ABCD is stored on the flash as:
+ * D15 D0
+ * +---+---+
+ * | A | B | 0
+ * +---+---+
+ * | C | D | 2
+ * +---+---+
+ * This means that on LE systems each 16 bit word must be swapped. Note that
+ * this requires CONFIG_MTD_CFI_BE_BYTE_SWAP to be enabled to 'unswap' the CFI
+ * data and other flash commands which are always in D7-D0.
+ */
#ifndef __ARMEB__
+#ifndef CONFIG_MTD_CFI_BE_BYTE_SWAP
+# error CONFIG_MTD_CFI_BE_BYTE_SWAP required
+#endif
+
+static inline u16 flash_read16(void __iomem *addr)
+{
+ return be16_to_cpu(__raw_readw((void __iomem *)((unsigned long)addr ^ 0x2)));
+}
+
+static inline void flash_write16(u16 d, void __iomem *addr)
+{
+ __raw_writew(cpu_to_be16(d), (void __iomem *)((unsigned long)addr ^ 0x2));
+}
+
#define BYTE0(h) ((h) & 0xFF)
#define BYTE1(h) (((h) >> 8) & 0xFF)
+
#else
+
+static inline u16 flash_read16(const void __iomem *addr)
+{
+ return __raw_readw(addr);
+}
+
+static inline void flash_write16(u16 d, void __iomem *addr)
+{
+ __raw_writew(d, addr);
+}
+
#define BYTE0(h) (((h) >> 8) & 0xFF)
#define BYTE1(h) ((h) & 0xFF)
#endif
static map_word ixp4xx_read16(struct map_info *map, unsigned long ofs)
{
map_word val;
- val.x[0] = *(__u16 *) (map->map_priv_1 + ofs);
+ val.x[0] = flash_read16(map->virt + ofs);
return val;
}
static void ixp4xx_copy_from(struct map_info *map, void *to,
unsigned long from, ssize_t len)
{
- int i;
u8 *dest = (u8 *) to;
- u16 *src = (u16 *) (map->map_priv_1 + from);
- u16 data;
+ void __iomem *src = map->virt + from;
+
+ if (len <= 0)
+ return;
- for (i = 0; i < (len / 2); i++) {
- data = src[i];
- dest[i * 2] = BYTE0(data);
- dest[i * 2 + 1] = BYTE1(data);
+ if (from & 1) {
+ *dest++ = BYTE1(flash_read16(src));
+ src++;
+ --len;
}
- if (len & 1)
- dest[len - 1] = BYTE0(src[i]);
+ while (len >= 2) {
+ u16 data = flash_read16(src);
+ *dest++ = BYTE0(data);
+ *dest++ = BYTE1(data);
+ src += 2;
+ len -= 2;
+ }
+
+ if (len > 0)
+ *dest++ = BYTE0(flash_read16(src));
}
-/*
+/*
* Unaligned writes are ignored, causing the 8-bit
* probe to fail and proceed to the 16-bit probe (which succeeds).
*/
static void ixp4xx_probe_write16(struct map_info *map, map_word d, unsigned long adr)
{
if (!(adr & 1))
- *(__u16 *) (map->map_priv_1 + adr) = d.x[0];
+ flash_write16(d.x[0], map->virt + adr);
}
-/*
+/*
* Fast write16 function without the probing check above
*/
static void ixp4xx_write16(struct map_info *map, map_word d, unsigned long adr)
{
- *(__u16 *) (map->map_priv_1 + adr) = d.x[0];
+ flash_write16(d.x[0], map->virt + adr);
}
struct ixp4xx_flash_info {
static const char *probes[] = { "RedBoot", "cmdlinepart", NULL };
-static int ixp4xx_flash_remove(struct device *_dev)
+static int ixp4xx_flash_remove(struct platform_device *dev)
{
- struct platform_device *dev = to_platform_device(_dev);
struct flash_platform_data *plat = dev->dev.platform_data;
- struct ixp4xx_flash_info *info = dev_get_drvdata(&dev->dev);
- map_word d;
+ struct ixp4xx_flash_info *info = platform_get_drvdata(dev);
- dev_set_drvdata(&dev->dev, NULL);
+ platform_set_drvdata(dev, NULL);
if(!info)
return 0;
- /*
- * This is required for a soft reboot to work.
- */
- d.x[0] = 0xff;
- ixp4xx_write16(&info->map, d, 0x55 * 0x2);
-
if (info->mtd) {
del_mtd_partitions(info->mtd);
map_destroy(info->mtd);
}
- if (info->map.map_priv_1)
- iounmap((void *) info->map.map_priv_1);
+ if (info->map.virt)
+ iounmap(info->map.virt);
- if (info->partitions)
- kfree(info->partitions);
+ kfree(info->partitions);
if (info->res) {
release_resource(info->res);
if (plat->exit)
plat->exit();
- /* Disable flash write */
- *IXP4XX_EXP_CS0 &= ~IXP4XX_FLASH_WRITABLE;
-
return 0;
}
-static int ixp4xx_flash_probe(struct device *_dev)
+static int ixp4xx_flash_probe(struct platform_device *dev)
{
- struct platform_device *dev = to_platform_device(_dev);
struct flash_platform_data *plat = dev->dev.platform_data;
struct ixp4xx_flash_info *info;
int err = -1;
if(!info) {
err = -ENOMEM;
goto Error;
- }
+ }
memzero(info, sizeof(struct ixp4xx_flash_info));
- dev_set_drvdata(&dev->dev, info);
-
- /*
- * Enable flash write
- * TODO: Move this out to board specific code
- */
- *IXP4XX_EXP_CS0 |= IXP4XX_FLASH_WRITABLE;
+ platform_set_drvdata(dev, info);
/*
* Tell the MTD layer we're not 1:1 mapped so that it does
info->map.write = ixp4xx_probe_write16,
info->map.copy_from = ixp4xx_copy_from,
- info->res = request_mem_region(dev->resource->start,
- dev->resource->end - dev->resource->start + 1,
+ info->res = request_mem_region(dev->resource->start,
+ dev->resource->end - dev->resource->start + 1,
"IXP4XXFlash");
if (!info->res) {
printk(KERN_ERR "IXP4XXFlash: Could not reserve memory region\n");
goto Error;
}
- info->map.map_priv_1 = ioremap(dev->resource->start,
- dev->resource->end - dev->resource->start + 1);
- if (!info->map.map_priv_1) {
+ info->map.virt = ioremap(dev->resource->start,
+ dev->resource->end - dev->resource->start + 1);
+ if (!info->map.virt) {
printk(KERN_ERR "IXP4XXFlash: Failed to ioremap region\n");
err = -EIO;
goto Error;
goto Error;
}
info->mtd->owner = THIS_MODULE;
-
+
/* Use the fast version */
info->map.write = ixp4xx_write16,
return 0;
Error:
- ixp4xx_flash_remove(_dev);
+ ixp4xx_flash_remove(dev);
return err;
}
-static struct device_driver ixp4xx_flash_driver = {
- .name = "IXP4XX-Flash",
- .bus = &platform_bus_type,
+static struct platform_driver ixp4xx_flash_driver = {
.probe = ixp4xx_flash_probe,
.remove = ixp4xx_flash_remove,
+ .driver = {
+ .name = "IXP4XX-Flash",
+ },
};
static int __init ixp4xx_flash_init(void)
{
- return driver_register(&ixp4xx_flash_driver);
+ return platform_driver_register(&ixp4xx_flash_driver);
}
static void __exit ixp4xx_flash_exit(void)
{
- driver_unregister(&ixp4xx_flash_driver);
+ platform_driver_unregister(&ixp4xx_flash_driver);
}
module_exit(ixp4xx_flash_exit);
MODULE_LICENSE("GPL");
-MODULE_DESCRIPTION("MTD map driver for Intel IXP4xx systems")
+MODULE_DESCRIPTION("MTD map driver for Intel IXP4xx systems");
MODULE_AUTHOR("Deepak Saxena");
-
return ret ? -EIO : 0;
}
+/* Only Yukon supports checksum offload. */
+static int setScatterGather(struct net_device *dev, u32 data)
+{
+ DEV_NET *pNet = netdev_priv(dev);
+ SK_AC *pAC = pNet->pAC;
+
+ if (pAC->GIni.GIChipId == CHIP_ID_GENESIS)
+ return -EOPNOTSUPP;
+ return ethtool_op_set_sg(dev, data);
+}
+
+static int setTxCsum(struct net_device *dev, u32 data)
+{
+ DEV_NET *pNet = netdev_priv(dev);
+ SK_AC *pAC = pNet->pAC;
+
+ if (pAC->GIni.GIChipId == CHIP_ID_GENESIS)
+ return -EOPNOTSUPP;
+
+ return ethtool_op_set_tx_csum(dev, data);
+}
+
+static u32 getRxCsum(struct net_device *dev)
+{
+ DEV_NET *pNet = netdev_priv(dev);
+ SK_AC *pAC = pNet->pAC;
+
+ return pAC->RxPort[pNet->PortNr].RxCsum;
+}
+
+static int setRxCsum(struct net_device *dev, u32 data)
+{
+ DEV_NET *pNet = netdev_priv(dev);
+ SK_AC *pAC = pNet->pAC;
+
+ if (pAC->GIni.GIChipId == CHIP_ID_GENESIS)
+ return -EOPNOTSUPP;
+
+ pAC->RxPort[pNet->PortNr].RxCsum = data != 0;
+ return 0;
+}
+
struct ethtool_ops SkGeEthtoolOps = {
.get_settings = getSettings,
.set_settings = setSettings,
.phys_id = locateDevice,
.get_pauseparam = getPauseParams,
.set_pauseparam = setPauseParams,
+ .get_link = ethtool_op_get_link,
+ .get_perm_addr = ethtool_op_get_perm_addr,
+ .get_sg = ethtool_op_get_sg,
+ .set_sg = setScatterGather,
+ .get_tx_csum = ethtool_op_get_tx_csum,
+ .set_tx_csum = setTxCsum,
+ .get_rx_csum = getRxCsum,
+ .set_rx_csum = setRxCsum,
};
* Define constants *
* *
********************************************************/
-#define VERSION_CLAW_H "$Revision: 1.6 $"
+
/*-----------------------------------------------------*
* CCW command codes for CLAW protocol *
*------------------------------------------------------*/
/*
- * linux/drivers/s390/net/qeth_eddp.c ($Revision: 1.5 $)
+ * linux/drivers/s390/net/qeth_eddp.h
*
- * Header file for qeth enhanced device driver pakcing.
+ * Header file for qeth enhanced device driver packing.
*
* Copyright 2004 IBM Corporation
*
* Author(s): Thomas Spatzier <tspat@de.ibm.com>
*
- * $Revision: 1.5 $ $Date: 2005/03/24 09:04:18 $
- *
*/
#ifndef __QETH_EDDP_H__
#define __QETH_EDDP_H__
/**/ outb(qlcfg5, qbase + 5); /* select timer */
outb(qlcfg9 & 7, qbase + 9); /* prescaler */
/* outb(0x99, qbase + 5); */
- outb(cmd->device->id, qbase + 4);
+ outb(scmd_id(cmd), qbase + 4);
for (i = 0; i < cmd->cmd_len; i++)
outb(cmd->cmnd[i], qbase + 2);
int qlogicfas408_queuecommand(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *))
{
struct qlogicfas408_priv *priv = get_priv_by_cmd(cmd);
- if (cmd->device->id == priv->qinitid) {
+ if (scmd_id(cmd) == priv->qinitid) {
cmd->result = DID_BAD_TARGET << 16;
done(cmd);
return 0;
int qlogicfas408_bus_reset(Scsi_Cmnd * cmd)
{
struct qlogicfas408_priv *priv = get_priv_by_cmd(cmd);
- priv->qabort = 2;
- ql_zap(priv);
- return SUCCESS;
-}
-
-/*
- * Reset SCSI host controller
- */
+ unsigned long flags;
-int qlogicfas408_host_reset(Scsi_Cmnd * cmd)
-{
- return FAILED;
-}
+ priv->qabort = 2;
-/*
- * Reset SCSI device
- */
+ spin_lock_irqsave(cmd->device->host->host_lock, flags);
+ ql_zap(priv);
+ spin_unlock_irqrestore(cmd->device->host->host_lock, flags);
-int qlogicfas408_device_reset(Scsi_Cmnd * cmd)
-{
- return FAILED;
+ return SUCCESS;
}
/*
EXPORT_SYMBOL(qlogicfas408_queuecommand);
EXPORT_SYMBOL(qlogicfas408_abort);
EXPORT_SYMBOL(qlogicfas408_bus_reset);
-EXPORT_SYMBOL(qlogicfas408_device_reset);
-EXPORT_SYMBOL(qlogicfas408_host_reset);
EXPORT_SYMBOL(qlogicfas408_biosparam);
EXPORT_SYMBOL(qlogicfas408_ihandl);
EXPORT_SYMBOL(qlogicfas408_get_chip_type);
sector_t capacity, int ip[]);
int qlogicfas408_abort(Scsi_Cmnd * cmd);
int qlogicfas408_bus_reset(Scsi_Cmnd * cmd);
-int qlogicfas408_host_reset(Scsi_Cmnd * cmd);
-int qlogicfas408_device_reset(Scsi_Cmnd * cmd);
const char *qlogicfas408_info(struct Scsi_Host *host);
int qlogicfas408_get_chip_type(int qbase, int int_type);
void qlogicfas408_setup(int qbase, int id, int int_type);
*
* Copyright 2003-2004 Red Hat, Inc.
*
- * The contents of this file are subject to the Open
- * Software License version 1.1 that can be found at
- * http://www.opensource.org/licenses/osl-1.1.txt and is included herein
- * by reference.
*
- * Alternatively, the contents of this file may be used under the terms
- * of the GNU General Public License version 2 (the "GPL") as distributed
- * in the kernel source COPYING file, in which case the provisions of
- * the GPL are applicable instead of the above. If you wish to allow
- * the use of your version of this file only under the terms of the
- * GPL and not to allow others to use your version of this file under
- * the OSL, indicate your decision by deleting the provisions above and
- * replace them with the notice and other provisions required by the GPL.
- * If you do not delete the provisions above, a recipient may use your
- * version of this file under either the OSL or the GPL.
+ * 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, 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; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *
+ * libata documentation is available via 'make {ps|pdf}docs',
+ * as Documentation/DocBook/libata.*
*
*/
#
#
-obj-$(CONFIG_BLK_DEV_SGIIOC4) += ioc4.o
+obj-$(CONFIG_SGI_IOC4) += ioc4.o
+obj-$(CONFIG_SGI_IOC3) += ioc3.o
#
-# USB ATM driver configuration
+# USB/ATM DSL configuration
#
-comment "USB ATM/DSL drivers"
+
+menu "USB DSL modem support"
depends on USB
config USB_ATM
- tristate "Generic USB ATM/DSL core I/O support"
+ tristate "USB DSL modem support"
depends on USB && ATM
select CRC32
default n
help
- This provides a library which is used for packet I/O by USB DSL
- modems, such as the SpeedTouch driver below.
+ Say Y here if you want to connect a USB Digital Subscriber Line (DSL)
+ modem to your computer's USB port. You will then need to choose your
+ modem from the list below.
To compile this driver as a module, choose M here: the
- module will be called usb_atm.
+ module will be called usbatm.
config USB_SPEEDTOUCH
- tristate "Alcatel Speedtouch USB support"
- depends on USB && ATM
- select USB_ATM
+ tristate "Speedtouch USB support"
+ depends on USB_ATM
+ select FW_LOADER
help
- Say Y here if you have an Alcatel SpeedTouch USB or SpeedTouch 330
+ Say Y here if you have an SpeedTouch USB or SpeedTouch 330
modem. In order to use your modem you will need to install the
two parts of the firmware, extracted by the user space tools; see
<http://www.linux-usb.org/SpeedTouch/> for details.
To compile this driver as a module, choose M here: the
module will be called speedtch.
+
+config USB_CXACRU
+ tristate "Conexant AccessRunner USB support"
+ depends on USB_ATM
+ select FW_LOADER
+ help
+ Say Y here if you have an ADSL USB modem based on the Conexant
+ AccessRunner chipset. In order to use your modem you will need to
+ install the firmware, extracted by the user space tools; see
+ <http://accessrunner.sourceforge.net/> for details.
+
+ To compile this driver as a module, choose M here: the
+ module will be called cxacru.
+
+config USB_UEAGLEATM
+ tristate "ADI 930 and eagle USB DSL modem"
+ depends on USB_ATM
+ select FW_LOADER
+ help
+ Say Y here if you have an ADSL USB modem based on the ADI 930
+ or eagle chipset. In order to use your modem you will need to
+ install firmwares and CMV (Command Management Variables); see
+ <https://gna.org/projects/ueagleatm/> for details.
+
+ To compile this driver as a module, choose M here: the
+ module will be called ueagle-atm.
+
+config USB_XUSBATM
+ tristate "Other USB DSL modem support"
+ depends on USB_ATM
+ help
+ Say Y here if you have a DSL USB modem not explicitly supported by
+ another USB DSL drivers. In order to use your modem you will need to
+ pass the vendor ID, product ID, and endpoint numbers for transmission
+ and reception as module parameters. You may need to initialize the
+ the modem using a user space utility (a firmware loader for example).
+
+ To compile this driver as a module, choose M here: the
+ module will be called xusbatm.
+
+endmenu
#ifndef _AU1100LCD_H
#define _AU1100LCD_H
+#include <asm/mach-au1x00/au1000.h>
+
+#define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
+#define print_warn(f, arg...) printk(KERN_WARNING DRIVER_NAME ": " f "\n", ## arg)
+#define print_info(f, arg...) printk(KERN_INFO DRIVER_NAME ": " f "\n", ## arg)
+
+#if DEBUG
+#define print_dbg(f, arg...) printk(__FILE__ ": " f "\n", ## arg)
+#else
+#define print_dbg(f, arg...) do {} while (0)
+#endif
+
+#if defined(__BIG_ENDIAN)
+#define LCD_CONTROL_DEFAULT_PO LCD_CONTROL_PO_11
+#else
+#define LCD_CONTROL_DEFAULT_PO LCD_CONTROL_PO_00
+#endif
+#define LCD_CONTROL_DEFAULT_SBPPF LCD_CONTROL_SBPPF_565
+
/********************************************************************/
-#define uint32 unsigned long
-typedef volatile struct
-{
- uint32 lcd_control;
- uint32 lcd_intstatus;
- uint32 lcd_intenable;
- uint32 lcd_horztiming;
- uint32 lcd_verttiming;
- uint32 lcd_clkcontrol;
- uint32 lcd_dmaaddr0;
- uint32 lcd_dmaaddr1;
- uint32 lcd_words;
- uint32 lcd_pwmdiv;
- uint32 lcd_pwmhi;
- uint32 reserved[(0x0400-0x002C)/4];
- uint32 lcd_pallettebase[256];
-
-} AU1100_LCD;
+
+/* LCD controller restrictions */
+#define AU1100_LCD_MAX_XRES 800
+#define AU1100_LCD_MAX_YRES 600
+#define AU1100_LCD_MAX_BPP 16
+#define AU1100_LCD_MAX_CLK 48000000
+#define AU1100_LCD_NBR_PALETTE_ENTRIES 256
+
+/* Default number of visible screen buffer to allocate */
+#define AU1100FB_NBR_VIDEO_BUFFERS 4
/********************************************************************/
-#define AU1100_LCD_ADDR 0xB5000000
+struct au1100fb_panel
+{
+ const char name[25]; /* Full name <vendor>_<model> */
-/*
- * Register bit definitions
- */
+ u32 control_base; /* Mode-independent control values */
+ u32 clkcontrol_base; /* Panel pixclock preferences */
-/* lcd_control */
-#define LCD_CONTROL_SBPPF (7<<18)
-#define LCD_CONTROL_SBPPF_655 (0<<18)
-#define LCD_CONTROL_SBPPF_565 (1<<18)
-#define LCD_CONTROL_SBPPF_556 (2<<18)
-#define LCD_CONTROL_SBPPF_1555 (3<<18)
-#define LCD_CONTROL_SBPPF_5551 (4<<18)
-#define LCD_CONTROL_WP (1<<17)
-#define LCD_CONTROL_WD (1<<16)
-#define LCD_CONTROL_C (1<<15)
-#define LCD_CONTROL_SM (3<<13)
-#define LCD_CONTROL_SM_0 (0<<13)
-#define LCD_CONTROL_SM_90 (1<<13)
-#define LCD_CONTROL_SM_180 (2<<13)
-#define LCD_CONTROL_SM_270 (3<<13)
-#define LCD_CONTROL_DB (1<<12)
-#define LCD_CONTROL_CCO (1<<11)
-#define LCD_CONTROL_DP (1<<10)
-#define LCD_CONTROL_PO (3<<8)
-#define LCD_CONTROL_PO_00 (0<<8)
-#define LCD_CONTROL_PO_01 (1<<8)
-#define LCD_CONTROL_PO_10 (2<<8)
-#define LCD_CONTROL_PO_11 (3<<8)
-#define LCD_CONTROL_MPI (1<<7)
-#define LCD_CONTROL_PT (1<<6)
-#define LCD_CONTROL_PC (1<<5)
-#define LCD_CONTROL_BPP (7<<1)
-#define LCD_CONTROL_BPP_1 (0<<1)
-#define LCD_CONTROL_BPP_2 (1<<1)
-#define LCD_CONTROL_BPP_4 (2<<1)
-#define LCD_CONTROL_BPP_8 (3<<1)
-#define LCD_CONTROL_BPP_12 (4<<1)
-#define LCD_CONTROL_BPP_16 (5<<1)
-#define LCD_CONTROL_GO (1<<0)
-
-/* lcd_intstatus, lcd_intenable */
-#define LCD_INT_SD (1<<7)
-#define LCD_INT_OF (1<<6)
-#define LCD_INT_UF (1<<5)
-#define LCD_INT_SA (1<<3)
-#define LCD_INT_SS (1<<2)
-#define LCD_INT_S1 (1<<1)
-#define LCD_INT_S0 (1<<0)
-
-/* lcd_horztiming */
-#define LCD_HORZTIMING_HN2 (255<<24)
-#define LCD_HORZTIMING_HN2_N(N) (((N)-1)<<24)
-#define LCD_HORZTIMING_HN1 (255<<16)
-#define LCD_HORZTIMING_HN1_N(N) (((N)-1)<<16)
-#define LCD_HORZTIMING_HPW (63<<10)
-#define LCD_HORZTIMING_HPW_N(N) (((N)-1)<<10)
-#define LCD_HORZTIMING_PPL (1023<<0)
-#define LCD_HORZTIMING_PPL_N(N) (((N)-1)<<0)
-
-/* lcd_verttiming */
-#define LCD_VERTTIMING_VN2 (255<<24)
-#define LCD_VERTTIMING_VN2_N(N) (((N)-1)<<24)
-#define LCD_VERTTIMING_VN1 (255<<16)
-#define LCD_VERTTIMING_VN1_N(N) (((N)-1)<<16)
-#define LCD_VERTTIMING_VPW (63<<10)
-#define LCD_VERTTIMING_VPW_N(N) (((N)-1)<<10)
-#define LCD_VERTTIMING_LPP (1023<<0)
-#define LCD_VERTTIMING_LPP_N(N) (((N)-1)<<0)
-
-/* lcd_clkcontrol */
-#define LCD_CLKCONTROL_IB (1<<18)
-#define LCD_CLKCONTROL_IC (1<<17)
-#define LCD_CLKCONTROL_IH (1<<16)
-#define LCD_CLKCONTROL_IV (1<<15)
-#define LCD_CLKCONTROL_BF (31<<10)
-#define LCD_CLKCONTROL_BF_N(N) (((N)-1)<<10)
-#define LCD_CLKCONTROL_PCD (1023<<0)
-#define LCD_CLKCONTROL_PCD_N(N) ((N)<<0)
-
-/* lcd_pwmdiv */
-#define LCD_PWMDIV_EN (1<<12)
-#define LCD_PWMDIV_PWMDIV (2047<<0)
-#define LCD_PWMDIV_PWMDIV_N(N) (((N)-1)<<0)
-
-/* lcd_pwmhi */
-#define LCD_PWMHI_PWMHI1 (2047<<12)
-#define LCD_PWMHI_PWMHI1_N(N) ((N)<<12)
-#define LCD_PWMHI_PWMHI0 (2047<<0)
-#define LCD_PWMHI_PWMHI0_N(N) ((N)<<0)
-
-/* lcd_pallettebase - MONOCHROME */
-#define LCD_PALLETTE_MONO_MI (15<<0)
-#define LCD_PALLETTE_MONO_MI_N(N) ((N)<<0)
-
-/* lcd_pallettebase - COLOR */
-#define LCD_PALLETTE_COLOR_BI (15<<8)
-#define LCD_PALLETTE_COLOR_BI_N(N) ((N)<<8)
-#define LCD_PALLETTE_COLOR_GI (15<<4)
-#define LCD_PALLETTE_COLOR_GI_N(N) ((N)<<4)
-#define LCD_PALLETTE_COLOR_RI (15<<0)
-#define LCD_PALLETTE_COLOR_RI_N(N) ((N)<<0)
-
-/* lcd_palletebase - COLOR TFT PALLETIZED */
-#define LCD_PALLETTE_TFT_DC (65535<<0)
-#define LCD_PALLETTE_TFT_DC_N(N) ((N)<<0)
+ u32 horztiming;
+ u32 verttiming;
-/********************************************************************/
+ u32 xres; /* Maximum horizontal resolution */
+ u32 yres; /* Maximum vertical resolution */
+ u32 bpp; /* Maximum depth supported */
+};
-struct known_lcd_panels
+struct au1100fb_regs
{
- uint32 xres;
- uint32 yres;
- uint32 bpp;
- unsigned char panel_name[256];
- uint32 mode_control;
- uint32 mode_horztiming;
- uint32 mode_verttiming;
- uint32 mode_clkcontrol;
- uint32 mode_pwmdiv;
- uint32 mode_pwmhi;
- uint32 mode_toyclksrc;
- uint32 mode_backlight;
+ u32 lcd_control;
+ u32 lcd_intstatus;
+ u32 lcd_intenable;
+ u32 lcd_horztiming;
+ u32 lcd_verttiming;
+ u32 lcd_clkcontrol;
+ u32 lcd_dmaaddr0;
+ u32 lcd_dmaaddr1;
+ u32 lcd_words;
+ u32 lcd_pwmdiv;
+ u32 lcd_pwmhi;
+ u32 reserved[(0x0400-0x002C)/4];
+ u32 lcd_pallettebase[256];
+};
+
+struct au1100fb_device {
+
+ struct fb_info info; /* FB driver info record */
+ struct au1100fb_panel *panel; /* Panel connected to this device */
+
+ struct au1100fb_regs* regs; /* Registers memory map */
+ size_t regs_len;
+ unsigned int regs_phys;
+
+ unsigned char* fb_mem; /* FrameBuffer memory map */
+ size_t fb_len;
+ dma_addr_t fb_phys;
};
-#if defined(__BIG_ENDIAN)
-#define LCD_DEFAULT_PIX_FORMAT LCD_CONTROL_PO_11
-#else
-#define LCD_DEFAULT_PIX_FORMAT LCD_CONTROL_PO_00
-#endif
+/********************************************************************/
-/*
- * The fb driver assumes that AUX PLL is at 48MHz. That can
- * cover up to 800x600 resolution; if you need higher resolution,
- * you should modify the driver as needed, not just this structure.
+#define LCD_CONTROL (AU1100_LCD_BASE + 0x0)
+ #define LCD_CONTROL_SBB_BIT 21
+ #define LCD_CONTROL_SBB_MASK (0x3 << LCD_CONTROL_SBB_BIT)
+ #define LCD_CONTROL_SBB_1 (0 << LCD_CONTROL_SBB_BIT)
+ #define LCD_CONTROL_SBB_2 (1 << LCD_CONTROL_SBB_BIT)
+ #define LCD_CONTROL_SBB_3 (2 << LCD_CONTROL_SBB_BIT)
+ #define LCD_CONTROL_SBB_4 (3 << LCD_CONTROL_SBB_BIT)
+ #define LCD_CONTROL_SBPPF_BIT 18
+ #define LCD_CONTROL_SBPPF_MASK (0x7 << LCD_CONTROL_SBPPF_BIT)
+ #define LCD_CONTROL_SBPPF_655 (0 << LCD_CONTROL_SBPPF_BIT)
+ #define LCD_CONTROL_SBPPF_565 (1 << LCD_CONTROL_SBPPF_BIT)
+ #define LCD_CONTROL_SBPPF_556 (2 << LCD_CONTROL_SBPPF_BIT)
+ #define LCD_CONTROL_SBPPF_1555 (3 << LCD_CONTROL_SBPPF_BIT)
+ #define LCD_CONTROL_SBPPF_5551 (4 << LCD_CONTROL_SBPPF_BIT)
+ #define LCD_CONTROL_WP (1<<17)
+ #define LCD_CONTROL_WD (1<<16)
+ #define LCD_CONTROL_C (1<<15)
+ #define LCD_CONTROL_SM_BIT 13
+ #define LCD_CONTROL_SM_MASK (0x3 << LCD_CONTROL_SM_BIT)
+ #define LCD_CONTROL_SM_0 (0 << LCD_CONTROL_SM_BIT)
+ #define LCD_CONTROL_SM_90 (1 << LCD_CONTROL_SM_BIT)
+ #define LCD_CONTROL_SM_180 (2 << LCD_CONTROL_SM_BIT)
+ #define LCD_CONTROL_SM_270 (3 << LCD_CONTROL_SM_BIT)
+ #define LCD_CONTROL_DB (1<<12)
+ #define LCD_CONTROL_CCO (1<<11)
+ #define LCD_CONTROL_DP (1<<10)
+ #define LCD_CONTROL_PO_BIT 8
+ #define LCD_CONTROL_PO_MASK (0x3 << LCD_CONTROL_PO_BIT)
+ #define LCD_CONTROL_PO_00 (0 << LCD_CONTROL_PO_BIT)
+ #define LCD_CONTROL_PO_01 (1 << LCD_CONTROL_PO_BIT)
+ #define LCD_CONTROL_PO_10 (2 << LCD_CONTROL_PO_BIT)
+ #define LCD_CONTROL_PO_11 (3 << LCD_CONTROL_PO_BIT)
+ #define LCD_CONTROL_MPI (1<<7)
+ #define LCD_CONTROL_PT (1<<6)
+ #define LCD_CONTROL_PC (1<<5)
+ #define LCD_CONTROL_BPP_BIT 1
+ #define LCD_CONTROL_BPP_MASK (0x7 << LCD_CONTROL_BPP_BIT)
+ #define LCD_CONTROL_BPP_1 (0 << LCD_CONTROL_BPP_BIT)
+ #define LCD_CONTROL_BPP_2 (1 << LCD_CONTROL_BPP_BIT)
+ #define LCD_CONTROL_BPP_4 (2 << LCD_CONTROL_BPP_BIT)
+ #define LCD_CONTROL_BPP_8 (3 << LCD_CONTROL_BPP_BIT)
+ #define LCD_CONTROL_BPP_12 (4 << LCD_CONTROL_BPP_BIT)
+ #define LCD_CONTROL_BPP_16 (5 << LCD_CONTROL_BPP_BIT)
+ #define LCD_CONTROL_GO (1<<0)
+
+#define LCD_INTSTATUS (AU1100_LCD_BASE + 0x4)
+#define LCD_INTENABLE (AU1100_LCD_BASE + 0x8)
+ #define LCD_INT_SD (1<<7)
+ #define LCD_INT_OF (1<<6)
+ #define LCD_INT_UF (1<<5)
+ #define LCD_INT_SA (1<<3)
+ #define LCD_INT_SS (1<<2)
+ #define LCD_INT_S1 (1<<1)
+ #define LCD_INT_S0 (1<<0)
+
+#define LCD_HORZTIMING (AU1100_LCD_BASE + 0xC)
+ #define LCD_HORZTIMING_HN2_BIT 24
+ #define LCD_HORZTIMING_HN2_MASK (0xFF << LCD_HORZTIMING_HN2_BIT)
+ #define LCD_HORZTIMING_HN2_N(N) ((((N)-1) << LCD_HORZTIMING_HN2_BIT) & LCD_HORZTIMING_HN2_MASK)
+ #define LCD_HORZTIMING_HN1_BIT 16
+ #define LCD_HORZTIMING_HN1_MASK (0xFF << LCD_HORZTIMING_HN1_BIT)
+ #define LCD_HORZTIMING_HN1_N(N) ((((N)-1) << LCD_HORZTIMING_HN1_BIT) & LCD_HORZTIMING_HN1_MASK)
+ #define LCD_HORZTIMING_HPW_BIT 10
+ #define LCD_HORZTIMING_HPW_MASK (0x3F << LCD_HORZTIMING_HPW_BIT)
+ #define LCD_HORZTIMING_HPW_N(N) ((((N)-1) << LCD_HORZTIMING_HPW_BIT) & LCD_HORZTIMING_HPW_MASK)
+ #define LCD_HORZTIMING_PPL_BIT 0
+ #define LCD_HORZTIMING_PPL_MASK (0x3FF << LCD_HORZTIMING_PPL_BIT)
+ #define LCD_HORZTIMING_PPL_N(N) ((((N)-1) << LCD_HORZTIMING_PPL_BIT) & LCD_HORZTIMING_PPL_MASK)
+
+#define LCD_VERTTIMING (AU1100_LCD_BASE + 0x10)
+ #define LCD_VERTTIMING_VN2_BIT 24
+ #define LCD_VERTTIMING_VN2_MASK (0xFF << LCD_VERTTIMING_VN2_BIT)
+ #define LCD_VERTTIMING_VN2_N(N) ((((N)-1) << LCD_VERTTIMING_VN2_BIT) & LCD_VERTTIMING_VN2_MASK)
+ #define LCD_VERTTIMING_VN1_BIT 16
+ #define LCD_VERTTIMING_VN1_MASK (0xFF << LCD_VERTTIMING_VN1_BIT)
+ #define LCD_VERTTIMING_VN1_N(N) ((((N)-1) << LCD_VERTTIMING_VN1_BIT) & LCD_VERTTIMING_VN1_MASK)
+ #define LCD_VERTTIMING_VPW_BIT 10
+ #define LCD_VERTTIMING_VPW_MASK (0x3F << LCD_VERTTIMING_VPW_BIT)
+ #define LCD_VERTTIMING_VPW_N(N) ((((N)-1) << LCD_VERTTIMING_VPW_BIT) & LCD_VERTTIMING_VPW_MASK)
+ #define LCD_VERTTIMING_LPP_BIT 0
+ #define LCD_VERTTIMING_LPP_MASK (0x3FF << LCD_VERTTIMING_LPP_BIT)
+ #define LCD_VERTTIMING_LPP_N(N) ((((N)-1) << LCD_VERTTIMING_LPP_BIT) & LCD_VERTTIMING_LPP_MASK)
+
+#define LCD_CLKCONTROL (AU1100_LCD_BASE + 0x14)
+ #define LCD_CLKCONTROL_IB (1<<18)
+ #define LCD_CLKCONTROL_IC (1<<17)
+ #define LCD_CLKCONTROL_IH (1<<16)
+ #define LCD_CLKCONTROL_IV (1<<15)
+ #define LCD_CLKCONTROL_BF_BIT 10
+ #define LCD_CLKCONTROL_BF_MASK (0x1F << LCD_CLKCONTROL_BF_BIT)
+ #define LCD_CLKCONTROL_BF_N(N) ((((N)-1) << LCD_CLKCONTROL_BF_BIT) & LCD_CLKCONTROL_BF_MASK)
+ #define LCD_CLKCONTROL_PCD_BIT 0
+ #define LCD_CLKCONTROL_PCD_MASK (0x3FF << LCD_CLKCONTROL_PCD_BIT)
+ #define LCD_CLKCONTROL_PCD_N(N) (((N) << LCD_CLKCONTROL_PCD_BIT) & LCD_CLKCONTROL_PCD_MASK)
+
+#define LCD_DMAADDR0 (AU1100_LCD_BASE + 0x18)
+#define LCD_DMAADDR1 (AU1100_LCD_BASE + 0x1C)
+ #define LCD_DMA_SA_BIT 5
+ #define LCD_DMA_SA_MASK (0x7FFFFFF << LCD_DMA_SA_BIT)
+ #define LCD_DMA_SA_N(N) ((N) & LCD_DMA_SA_MASK)
+
+#define LCD_WORDS (AU1100_LCD_BASE + 0x20)
+ #define LCD_WRD_WRDS_BIT 0
+ #define LCD_WRD_WRDS_MASK (0xFFFFFFFF << LCD_WRD_WRDS_BIT)
+ #define LCD_WRD_WRDS_N(N) ((((N)-1) << LCD_WRD_WRDS_BIT) & LCD_WRD_WRDS_MASK)
+
+#define LCD_PWMDIV (AU1100_LCD_BASE + 0x24)
+ #define LCD_PWMDIV_EN (1<<12)
+ #define LCD_PWMDIV_PWMDIV_BIT 0
+ #define LCD_PWMDIV_PWMDIV_MASK (0xFFF << LCD_PWMDIV_PWMDIV_BIT)
+ #define LCD_PWMDIV_PWMDIV_N(N) ((((N)-1) << LCD_PWMDIV_PWMDIV_BIT) & LCD_PWMDIV_PWMDIV_MASK)
+
+#define LCD_PWMHI (AU1100_LCD_BASE + 0x28)
+ #define LCD_PWMHI_PWMHI1_BIT 12
+ #define LCD_PWMHI_PWMHI1_MASK (0xFFF << LCD_PWMHI_PWMHI1_BIT)
+ #define LCD_PWMHI_PWMHI1_N(N) (((N) << LCD_PWMHI_PWMHI1_BIT) & LCD_PWMHI_PWMHI1_MASK)
+ #define LCD_PWMHI_PWMHI0_BIT 0
+ #define LCD_PWMHI_PWMHI0_MASK (0xFFF << LCD_PWMHI_PWMHI0_BIT)
+ #define LCD_PWMHI_PWMHI0_N(N) (((N) << LCD_PWMHI_PWMHI0_BIT) & LCD_PWMHI_PWMHI0_MASK)
+
+#define LCD_PALLETTEBASE (AU1100_LCD_BASE + 0x400)
+ #define LCD_PALLETTE_MONO_MI_BIT 0
+ #define LCD_PALLETTE_MONO_MI_MASK (0xF << LCD_PALLETTE_MONO_MI_BIT)
+ #define LCD_PALLETTE_MONO_MI_N(N) (((N)<< LCD_PALLETTE_MONO_MI_BIT) & LCD_PALLETTE_MONO_MI_MASK)
+
+ #define LCD_PALLETTE_COLOR_RI_BIT 8
+ #define LCD_PALLETTE_COLOR_RI_MASK (0xF << LCD_PALLETTE_COLOR_RI_BIT)
+ #define LCD_PALLETTE_COLOR_RI_N(N) (((N)<< LCD_PALLETTE_COLOR_RI_BIT) & LCD_PALLETTE_COLOR_RI_MASK)
+ #define LCD_PALLETTE_COLOR_GI_BIT 4
+ #define LCD_PALLETTE_COLOR_GI_MASK (0xF << LCD_PALLETTE_COLOR_GI_BIT)
+ #define LCD_PALLETTE_COLOR_GI_N(N) (((N)<< LCD_PALLETTE_COLOR_GI_BIT) & LCD_PALLETTE_COLOR_GI_MASK)
+ #define LCD_PALLETTE_COLOR_BI_BIT 0
+ #define LCD_PALLETTE_COLOR_BI_MASK (0xF << LCD_PALLETTE_COLOR_BI_BIT)
+ #define LCD_PALLETTE_COLOR_BI_N(N) (((N)<< LCD_PALLETTE_COLOR_BI_BIT) & LCD_PALLETTE_COLOR_BI_MASK)
+
+ #define LCD_PALLETTE_TFT_DC_BIT 0
+ #define LCD_PALLETTE_TFT_DC_MASK (0xFFFF << LCD_PALLETTE_TFT_DC_BIT)
+ #define LCD_PALLETTE_TFT_DC_N(N) (((N)<< LCD_PALLETTE_TFT_DC_BIT) & LCD_PALLETTE_TFT_DC_MASK)
+
+/********************************************************************/
+
+/* List of panels known to work with the AU1100 LCD controller.
+ * To add a new panel, enter the same specifications as the
+ * Generic_TFT one, and MAKE SURE that it doesn't conflicts
+ * with the controller restrictions. Restrictions are:
+ *
+ * STN color panels: max_bpp <= 12
+ * STN mono panels: max_bpp <= 4
+ * TFT panels: max_bpp <= 16
+ * max_xres <= 800
+ * max_yres <= 600
*/
-struct known_lcd_panels panels[] =
+static struct au1100fb_panel known_lcd_panels[] =
{
- { /* 0: Pb1100 LCDA: Sharp 320x240 TFT panel */
- 320, /* xres */
- 240, /* yres */
- 16, /* bpp */
-
- "Sharp_320x240_16",
- /* mode_control */
+ /* 800x600x16bpp CRT */
+ [0] = {
+ .name = "CRT_800x600_16",
+ .xres = 800,
+ .yres = 600,
+ .bpp = 16,
+ .control_base = 0x0004886A |
+ LCD_CONTROL_DEFAULT_PO | LCD_CONTROL_DEFAULT_SBPPF |
+ LCD_CONTROL_BPP_16,
+ .clkcontrol_base = 0x00020000,
+ .horztiming = 0x005aff1f,
+ .verttiming = 0x16000e57,
+ },
+ /* just the standard LCD */
+ [1] = {
+ .name = "WWPC LCD",
+ .xres = 240,
+ .yres = 320,
+ .bpp = 16,
+ .control_base = 0x0006806A,
+ .horztiming = 0x0A1010EF,
+ .verttiming = 0x0301013F,
+ .clkcontrol_base = 0x00018001,
+ },
+ /* Sharp 320x240 TFT panel */
+ [2] = {
+ .name = "Sharp_LQ038Q5DR01",
+ .xres = 320,
+ .yres = 240,
+ .bpp = 16,
+ .control_base =
( LCD_CONTROL_SBPPF_565
- /*LCD_CONTROL_WP*/
- /*LCD_CONTROL_WD*/
| LCD_CONTROL_C
| LCD_CONTROL_SM_0
- /*LCD_CONTROL_DB*/
- /*LCD_CONTROL_CCO*/
- /*LCD_CONTROL_DP*/
- | LCD_DEFAULT_PIX_FORMAT
- /*LCD_CONTROL_MPI*/
+ | LCD_CONTROL_DEFAULT_PO
| LCD_CONTROL_PT
| LCD_CONTROL_PC
| LCD_CONTROL_BPP_16 ),
-
- /* mode_horztiming */
+ .horztiming =
( LCD_HORZTIMING_HN2_N(8)
| LCD_HORZTIMING_HN1_N(60)
| LCD_HORZTIMING_HPW_N(12)
| LCD_HORZTIMING_PPL_N(320) ),
-
- /* mode_verttiming */
+ .verttiming =
( LCD_VERTTIMING_VN2_N(5)
| LCD_VERTTIMING_VN1_N(17)
| LCD_VERTTIMING_VPW_N(1)
| LCD_VERTTIMING_LPP_N(240) ),
-
- /* mode_clkcontrol */
- ( 0
- /*LCD_CLKCONTROL_IB*/
- /*LCD_CLKCONTROL_IC*/
- /*LCD_CLKCONTROL_IH*/
- /*LCD_CLKCONTROL_IV*/
- | LCD_CLKCONTROL_PCD_N(1) ),
-
- /* mode_pwmdiv */
- 0,
-
- /* mode_pwmhi */
- 0,
-
- /* mode_toyclksrc */
- ((1<<7) | (1<<6) | (1<<5)),
-
- /* mode_backlight */
- 6
+ .clkcontrol_base = LCD_CLKCONTROL_PCD_N(1),
},
- { /* 1: Pb1100 LCDC 640x480 TFT panel */
- 640, /* xres */
- 480, /* yres */
- 16, /* bpp */
-
- "Generic_640x480_16",
-
- /* mode_control */
- 0x004806a | LCD_DEFAULT_PIX_FORMAT,
-
- /* mode_horztiming */
- 0x3434d67f,
-
- /* mode_verttiming */
- 0x0e0e39df,
-
- /* mode_clkcontrol */
- ( 0
- /*LCD_CLKCONTROL_IB*/
- /*LCD_CLKCONTROL_IC*/
- /*LCD_CLKCONTROL_IH*/
- /*LCD_CLKCONTROL_IV*/
- | LCD_CLKCONTROL_PCD_N(1) ),
-
- /* mode_pwmdiv */
- 0,
-
- /* mode_pwmhi */
- 0,
-
- /* mode_toyclksrc */
- ((1<<7) | (1<<6) | (0<<5)),
-
- /* mode_backlight */
- 7
+ /* Hitachi SP14Q005 and possibly others */
+ [3] = {
+ .name = "Hitachi_SP14Qxxx",
+ .xres = 320,
+ .yres = 240,
+ .bpp = 4,
+ .control_base =
+ ( LCD_CONTROL_C
+ | LCD_CONTROL_BPP_4 ),
+ .horztiming =
+ ( LCD_HORZTIMING_HN2_N(1)
+ | LCD_HORZTIMING_HN1_N(1)
+ | LCD_HORZTIMING_HPW_N(1)
+ | LCD_HORZTIMING_PPL_N(320) ),
+ .verttiming =
+ ( LCD_VERTTIMING_VN2_N(1)
+ | LCD_VERTTIMING_VN1_N(1)
+ | LCD_VERTTIMING_VPW_N(1)
+ | LCD_VERTTIMING_LPP_N(240) ),
+ .clkcontrol_base = LCD_CLKCONTROL_PCD_N(4),
},
- { /* 2: Pb1100 LCDB 640x480 PrimeView TFT panel */
- 640, /* xres */
- 480, /* yres */
- 16, /* bpp */
-
- "PrimeView_640x480_16",
-
- /* mode_control */
- 0x0004886a | LCD_DEFAULT_PIX_FORMAT,
-
- /* mode_horztiming */
- 0x0e4bfe7f,
-
- /* mode_verttiming */
- 0x210805df,
-
- /* mode_clkcontrol */
- 0x00038001,
-
- /* mode_pwmdiv */
- 0,
-
- /* mode_pwmhi */
- 0,
-
- /* mode_toyclksrc */
- ((1<<7) | (1<<6) | (0<<5)),
-
- /* mode_backlight */
- 7
+ /* Generic 640x480 TFT panel */
+ [4] = {
+ .name = "TFT_640x480_16",
+ .xres = 640,
+ .yres = 480,
+ .bpp = 16,
+ .control_base = 0x004806a | LCD_CONTROL_DEFAULT_PO,
+ .horztiming = 0x3434d67f,
+ .verttiming = 0x0e0e39df,
+ .clkcontrol_base = LCD_CLKCONTROL_PCD_N(1),
},
- { /* 3: Pb1100 800x600x16bpp NEON CRT */
- 800, /* xres */
- 600, /* yres */
- 16, /* bpp */
-
- "NEON_800x600_16",
-
- /* mode_control */
- 0x0004886A | LCD_DEFAULT_PIX_FORMAT,
-
- /* mode_horztiming */
- 0x005AFF1F,
-
- /* mode_verttiming */
- 0x16000E57,
-
- /* mode_clkcontrol */
- 0x00020000,
-
- /* mode_pwmdiv */
- 0,
-
- /* mode_pwmhi */
- 0,
-
- /* mode_toyclksrc */
- ((1<<7) | (1<<6) | (0<<5)),
-
- /* mode_backlight */
- 7
+ /* Pb1100 LCDB 640x480 PrimeView TFT panel */
+ [5] = {
+ .name = "PrimeView_640x480_16",
+ .xres = 640,
+ .yres = 480,
+ .bpp = 16,
+ .control_base = 0x0004886a | LCD_CONTROL_DEFAULT_PO,
+ .horztiming = 0x0e4bfe7f,
+ .verttiming = 0x210805df,
+ .clkcontrol_base = 0x00038001,
},
+};
- { /* 4: Pb1100 640x480x16bpp NEON CRT */
- 640, /* xres */
- 480, /* yres */
- 16, /* bpp */
-
- "NEON_640x480_16",
-
- /* mode_control */
- 0x0004886A | LCD_DEFAULT_PIX_FORMAT,
-
- /* mode_horztiming */
- 0x0052E27F,
-
- /* mode_verttiming */
- 0x18000DDF,
-
- /* mode_clkcontrol */
- 0x00020000,
+struct au1100fb_drv_info {
+ int panel_idx;
+ char *opt_mode;
+};
- /* mode_pwmdiv */
- 0,
+/********************************************************************/
- /* mode_pwmhi */
- 0,
+/* Inline helpers */
- /* mode_toyclksrc */
- ((1<<7) | (1<<6) | (0<<5)),
+#define panel_is_dual(panel) (panel->control_base & LCD_CONTROL_DP)
+#define panel_is_active(panel)(panel->control_base & LCD_CONTROL_PT)
+#define panel_is_color(panel) (panel->control_base & LCD_CONTROL_PC)
+#define panel_swap_rgb(panel) (panel->control_base & LCD_CONTROL_CCO)
- /* mode_backlight */
- 7
- },
-};
#endif /* _AU1100LCD_H */
#define READ_GET(par) (NV_RD32(&(par)->FIFO[0x0011], 0) >> 2)
+#ifdef __LITTLE_ENDIAN
#define reverse_order(l) \
do { \
u8 *a = (u8 *)(l); \
*a = byte_rev[*a], a++; \
*a = byte_rev[*a]; \
} while(0)
+#else
+#define reverse_order(l) do { } while(0)
+#endif /* __LITTLE_ENDIAN */
#endif /* __NV_LOCAL_H__ */
u_int reg_lccr2;
u_int reg_lccr3;
+ unsigned long hsync_time;
+
volatile u_char state;
volatile u_char task_state;
struct semaphore ctrlr_sem;
#define PXA_NAME "PXA"
-/*
- * Debug macros
- */
-#if DEBUG
-# define DPRINTK(fmt, args...) printk("%s: " fmt, __FUNCTION__ , ## args)
-#else
-# define DPRINTK(fmt, args...)
-#endif
-
/*
* Minimum X and Y resolutions
*/
/*
* index.c - NTFS kernel index handling. Part of the Linux-NTFS project.
*
- * Copyright (c) 2004 Anton Altaparmakov
+ * Copyright (c) 2004-2005 Anton Altaparmakov
*
* This program/include file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as published
* Allocate a new index context, initialize it with @idx_ni and return it.
* Return NULL if allocation failed.
*
- * Locking: Caller must hold i_sem on the index inode.
+ * Locking: Caller must hold i_mutex on the index inode.
*/
ntfs_index_context *ntfs_index_ctx_get(ntfs_inode *idx_ni)
{
ntfs_index_context *ictx;
ictx = kmem_cache_alloc(ntfs_index_ctx_cache, SLAB_NOFS);
- if (ictx) {
- ictx->idx_ni = idx_ni;
- ictx->entry = NULL;
- ictx->data = NULL;
- ictx->data_len = 0;
- ictx->is_in_root = 0;
- ictx->ir = NULL;
- ictx->actx = NULL;
- ictx->base_ni = NULL;
- ictx->ia = NULL;
- ictx->page = NULL;
- }
+ if (ictx)
+ *ictx = (ntfs_index_context){ .idx_ni = idx_ni };
return ictx;
}
*
* Release the index context @ictx, releasing all associated resources.
*
- * Locking: Caller must hold i_sem on the index inode.
+ * Locking: Caller must hold i_mutex on the index inode.
*/
void ntfs_index_ctx_put(ntfs_index_context *ictx)
{
* or ntfs_index_entry_write() before the call to ntfs_index_ctx_put() to
* ensure that the changes are written to disk.
*
- * Locking: - Caller must hold i_sem on the index inode.
+ * Locking: - Caller must hold i_mutex on the index inode.
* - Each page cache page in the index allocation mapping must be
* locked whilst being accessed otherwise we may find a corrupt
* page due to it being under ->writepage at the moment which
&ie->key, key_len)) {
ir_done:
ictx->is_in_root = TRUE;
+ ictx->ir = ir;
ictx->actx = actx;
ictx->base_ni = base_ni;
ictx->ia = NULL;
ntfs_error(vol->sb, "Quota inodes are not open.");
return FALSE;
}
- down(&vol->quota_q_ino->i_sem);
+ mutex_lock(&vol->quota_q_ino->i_mutex);
ictx = ntfs_index_ctx_get(NTFS_I(vol->quota_q_ino));
if (!ictx) {
ntfs_error(vol->sb, "Failed to get index context.");
ntfs_index_entry_mark_dirty(ictx);
set_done:
ntfs_index_ctx_put(ictx);
- up(&vol->quota_q_ino->i_sem);
+ mutex_unlock(&vol->quota_q_ino->i_mutex);
/*
* We set the flag so we do not try to mark the quotas out of date
* again on remount.
err_out:
if (ictx)
ntfs_index_ctx_put(ictx);
- up(&vol->quota_q_ino->i_sem);
+ mutex_unlock(&vol->quota_q_ino->i_mutex);
return FALSE;
}
next = _rb;
break;
}
+ pos--;
}
return next;
/*
- * Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
+ * Copyright (c) 2000-2005 Silicon Graphics, Inc.
+ * All Rights Reserved.
*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
+ * 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.
*
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * This program is distributed in the hope that it would 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.
*
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/vmalloc.h>
#include <linux/highmem.h>
#include <linux/swap.h>
#include <linux/blkdev.h>
-
#include "time.h"
#include "kmem.h"
#define MAX_VMALLOCS 6
#define MAX_SLAB_SIZE 0x20000
-
void *
-kmem_alloc(size_t size, int flags)
+kmem_alloc(size_t size, unsigned int __nocast flags)
{
int retries = 0;
- int lflags = kmem_flags_convert(flags);
+ gfp_t lflags = kmem_flags_convert(flags);
void *ptr;
do {
}
void *
-kmem_zalloc(size_t size, int flags)
+kmem_zalloc(size_t size, unsigned int __nocast flags)
{
void *ptr;
}
void *
-kmem_realloc(void *ptr, size_t newsize, size_t oldsize, int flags)
+kmem_realloc(void *ptr, size_t newsize, size_t oldsize,
+ unsigned int __nocast flags)
{
void *new;
}
void *
-kmem_zone_alloc(kmem_zone_t *zone, int flags)
+kmem_zone_alloc(kmem_zone_t *zone, unsigned int __nocast flags)
{
int retries = 0;
- int lflags = kmem_flags_convert(flags);
+ gfp_t lflags = kmem_flags_convert(flags);
void *ptr;
do {
}
void *
-kmem_zone_zalloc(kmem_zone_t *zone, int flags)
+kmem_zone_zalloc(kmem_zone_t *zone, unsigned int __nocast flags)
{
void *ptr;
/*
- * Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved.
+ * Copyright (c) 2000-2002,2005 Silicon Graphics, Inc.
+ * All Rights Reserved.
*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
+ * 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.
*
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * This program is distributed in the hope that it would 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.
*
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __XFS_SUPPORT_SV_H__
#define __XFS_SUPPORT_SV_H__
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
+#include <asm/hardware.h>
#include <asm/hardware/clps7111.h>
.macro disable_fiq
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
+#include <asm/hardware.h>
+#include <asm/arch/irqs.h>
#include <asm/hardware/dec21285.h>
.macro disable_fiq
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
+#include <asm/arch/irqs.h>
#if defined(CONFIG_ARCH_IOP321)
.macro disable_fiq
};
void set_pxa_fb_info(struct pxafb_mach_info *hard_pxa_fb_info);
+void set_pxa_fb_parent(struct device *parent_dev);
+unsigned long pxafb_get_hsync_time(struct device *dev);
flush_icache_user_range(vma, page, page_to_phys(page), PAGE_SIZE);
}
+/*
+ * permit ptrace to access another process's address space through the icache
+ * and the dcache
+ */
+#define copy_to_user_page(vma, page, vaddr, dst, src, len) \
+do { \
+ memcpy((dst), (src), (len)); \
+ flush_icache_user_range((vma), (page), (vaddr), (len)); \
+} while(0)
+
+#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
+ memcpy((dst), (src), (len))
#endif /* _ASM_CACHEFLUSH_H */
extern unsigned long __nongprelbss dma_coherent_mem_start;
extern unsigned long __nongprelbss dma_coherent_mem_end;
-void *dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, int gfp);
+void *dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp);
void dma_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle);
/*
* returns, or alternatively stop on the first sg_dma_len(sg) which
* is 0.
*/
-#define sg_dma_address(sg) ((unsigned long) (page_to_phys((sg)->page) + (sg)->offset))
+#define sg_dma_address(sg) ((sg)->dma_address)
#define sg_dma_len(sg) ((sg)->length)
/*
#define pud_t pgd_t
-#define pmd_alloc(mm, pud, address) \
-({ pmd_t *ret; \
- if (pgd_none(*pud)) \
- ret = __pmd_alloc(mm, pud, address); \
- else \
- ret = pmd_offset(pud, address); \
- ret; \
-})
+#define pmd_alloc(mm, pud, address) \
+ ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
+ NULL: pmd_offset(pud, address))
#define pud_alloc(mm, pgd, address) (pgd)
#define pud_offset(pgd, start) (pgd)
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
-#define STD_SERIAL_PORT_DEFNS \
+#define SERIAL_PORT_DFNS \
/* UART CLK PORT IRQ FLAGS */ \
{ 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \
{ 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS } /* ttyS1 */
-#define SERIAL_PORT_DFNS STD_SERIAL_PORT_DEFNS
-
/* XXX: This should be moved ino irq.h */
#define irq_cannonicalize(x) (x)
static inline int pgd_newpage(pgd_t pgd) { return 0; }
static inline void pgd_mkuptodate(pgd_t pgd) { }
-#define pte_present(x) (pte_val(x) & (_PAGE_PRESENT | _PAGE_PROTNONE))
-
-static inline pte_t pte_mknewprot(pte_t pte)
-{
- pte_val(pte) |= _PAGE_NEWPROT;
- return(pte);
-}
-
-static inline pte_t pte_mknewpage(pte_t pte)
-{
- pte_val(pte) |= _PAGE_NEWPAGE;
- return(pte);
-}
-
-static inline void set_pte(pte_t *pteptr, pte_t pteval)
-{
- /* If it's a swap entry, it needs to be marked _PAGE_NEWPAGE so
- * fix_range knows to unmap it. _PAGE_NEWPROT is specific to
- * mapped pages.
- */
- *pteptr = pte_mknewpage(pteval);
- if(pte_present(*pteptr)) *pteptr = pte_mknewprot(*pteptr);
-}
-#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
-
#define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval))
-#define pte_page(x) pfn_to_page(pte_pfn(x))
-#define pte_none(x) !(pte_val(x) & ~_PAGE_NEWPAGE)
#define pte_pfn(x) phys_to_pfn(pte_val(x))
#define pfn_pte(pfn, prot) __pte(pfn_to_phys(pfn) | pgprot_val(prot))
#define pfn_pmd(pfn, prot) __pmd(pfn_to_phys(pfn) | pgprot_val(prot))
static inline void pgd_mkuptodate(pgd_t pgd) { pgd_val(pgd) &= ~_PAGE_NEWPAGE; }
-
-#define pte_present(x) pte_get_bits(x, (_PAGE_PRESENT | _PAGE_PROTNONE))
-
-static inline pte_t pte_mknewprot(pte_t pte)
-{
- pte_set_bits(pte, _PAGE_NEWPROT);
- return(pte);
-}
-
-static inline pte_t pte_mknewpage(pte_t pte)
-{
- pte_set_bits(pte, _PAGE_NEWPAGE);
- return(pte);
-}
-
-static inline void set_pte(pte_t *pteptr, pte_t pteval)
-{
- pte_copy(*pteptr, pteval);
-
- /* If it's a swap entry, it needs to be marked _PAGE_NEWPAGE so
- * fix_range knows to unmap it. _PAGE_NEWPROT is specific to
- * mapped pages.
- */
-
- *pteptr = pte_mknewpage(*pteptr);
- if(pte_present(*pteptr)) *pteptr = pte_mknewprot(*pteptr);
-}
-#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
-
#define set_pmd(pmdptr, pmdval) set_64bit((phys_t *) (pmdptr), pmd_val(pmdval))
static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
return pmd;
}
-static inline void pmd_free(pmd_t *pmd){
- free_page((unsigned long) pmd);
+extern inline void pud_clear (pud_t *pud)
+{
+ set_pud(pud, __pud(0));
}
-#define __pmd_free_tlb(tlb,x) do { } while (0)
-
-static inline void pud_clear (pud_t * pud) { }
-
#define pud_page(pud) \
((struct page *) __va(pud_val(pud) & PAGE_MASK))
#define pmd_offset(pud, address) ((pmd_t *) pud_page(*(pud)) + \
pmd_index(address))
-#define pte_page(x) pfn_to_page(pte_pfn(x))
-
-static inline int pte_none(pte_t pte)
-{
- return pte_is_zero(pte);
-}
-
static inline unsigned long pte_pfn(pte_t pte)
{
return phys_to_pfn(pte_val(pte));
#include <linux/init.h>
#include <linux/posix_acl.h>
-#include <linux/xattr_acl.h>
#define REISERFS_ACL_VERSION 0x0001
typedef struct {
- __le16 e_tag;
- __le16 e_perm;
- __le32 e_id;
+ __le16 e_tag;
+ __le16 e_perm;
+ __le32 e_id;
} reiserfs_acl_entry;
typedef struct {
- __le16 e_tag;
- __le16 e_perm;
+ __le16 e_tag;
+ __le16 e_perm;
} reiserfs_acl_entry_short;
typedef struct {
- __le32 a_version;
+ __le32 a_version;
} reiserfs_acl_header;
static inline size_t reiserfs_acl_size(int count)
{
if (count <= 4) {
return sizeof(reiserfs_acl_header) +
- count * sizeof(reiserfs_acl_entry_short);
+ count * sizeof(reiserfs_acl_entry_short);
} else {
return sizeof(reiserfs_acl_header) +
- 4 * sizeof(reiserfs_acl_entry_short) +
- (count - 4) * sizeof(reiserfs_acl_entry);
+ 4 * sizeof(reiserfs_acl_entry_short) +
+ (count - 4) * sizeof(reiserfs_acl_entry);
}
}
}
}
-
#ifdef CONFIG_REISERFS_FS_POSIX_ACL
-struct posix_acl * reiserfs_get_acl(struct inode *inode, int type);
-int reiserfs_acl_chmod (struct inode *inode);
-int reiserfs_inherit_default_acl (struct inode *dir, struct dentry *dentry, struct inode *inode);
-int reiserfs_cache_default_acl (struct inode *dir);
-extern int reiserfs_xattr_posix_acl_init (void) __init;
-extern int reiserfs_xattr_posix_acl_exit (void);
+struct posix_acl *reiserfs_get_acl(struct inode *inode, int type);
+int reiserfs_acl_chmod(struct inode *inode);
+int reiserfs_inherit_default_acl(struct inode *dir, struct dentry *dentry,
+ struct inode *inode);
+int reiserfs_cache_default_acl(struct inode *dir);
+extern int reiserfs_xattr_posix_acl_init(void) __init;
+extern int reiserfs_xattr_posix_acl_exit(void);
extern struct reiserfs_xattr_handler posix_acl_default_handler;
extern struct reiserfs_xattr_handler posix_acl_access_handler;
#else
-#define reiserfs_get_acl NULL
#define reiserfs_cache_default_acl(inode) 0
-static inline int
-reiserfs_xattr_posix_acl_init (void)
+static inline struct posix_acl *reiserfs_get_acl(struct inode *inode, int type)
{
- return 0;
+ return NULL;
}
-static inline int
-reiserfs_xattr_posix_acl_exit (void)
+static inline int reiserfs_xattr_posix_acl_init(void)
{
- return 0;
+ return 0;
}
-static inline int
-reiserfs_acl_chmod (struct inode *inode)
+static inline int reiserfs_xattr_posix_acl_exit(void)
+{
+ return 0;
+}
+
+static inline int reiserfs_acl_chmod(struct inode *inode)
{
- return 0;
+ return 0;
}
static inline int
-reiserfs_inherit_default_acl (const struct inode *dir, struct dentry *dentry, struct inode *inode)
+reiserfs_inherit_default_acl(const struct inode *dir, struct dentry *dentry,
+ struct inode *inode)
{
- return 0;
+ return 0;
}
#endif
#ifndef _VX_NAMESPACE_CMD_H
#define _VX_NAMESPACE_CMD_H
+
#define VCMD_enter_namespace VC_CMD(PROCALT, 1, 0)
-#define VCMD_cleanup_namespace VC_CMD(PROCALT, 2, 0)
-#define VCMD_set_namespace VC_CMD(PROCALT, 3, 0)
+
+#define VCMD_set_namespace_v0 VC_CMD(PROCALT, 3, 0)
+#define VCMD_set_namespace VC_CMD(PROCALT, 3, 1)
#ifdef __KERNEL__
extern int vc_enter_namespace(uint32_t, void __user *);
-extern int vc_cleanup_namespace(uint32_t, void __user *);
extern int vc_set_namespace(uint32_t, void __user *);
#endif /* __KERNEL__ */
+/*
+ */
+
struct tveeprom {
u32 has_radio;
+ u32 has_ir; /* 0: no IR, 1: IR present, 2: unknown */
+ u32 has_MAC_address; /* 0: no MAC, 1: MAC present, 2: unknown */
u32 tuner_type;
u32 tuner_formats;
+ u32 tuner_hauppauge_model;
+
+ u32 tuner2_type;
+ u32 tuner2_formats;
+ u32 tuner2_hauppauge_model;
u32 digitizer;
u32 digitizer_formats;
u32 audio_processor;
- /* a_p_fmts? */
+ u32 decoder_processor;
u32 model;
u32 revision;
u32 serial_number;
char rev_str[5];
+ u8 MAC_address[6];
};
-void tveeprom_hauppauge_analog(struct tveeprom *tvee,
+void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
unsigned char *eeprom_data);
int tveeprom_read(struct i2c_client *c, unsigned char *eedata, int len);
-int tveeprom_dump(unsigned char *eedata, int len);
typedef void (ak4114_write_t)(void *private_data, unsigned char addr, unsigned char data);
typedef unsigned char (ak4114_read_t)(void *private_data, unsigned char addr);
-typedef struct ak4114 ak4114_t;
-
struct ak4114 {
- snd_card_t * card;
+ struct snd_card *card;
ak4114_write_t * write;
ak4114_read_t * read;
void * private_data;
spinlock_t lock;
unsigned char regmap[7];
unsigned char txcsb[5];
- snd_kcontrol_t *kctls[AK4114_CONTROLS];
- snd_pcm_substream_t *playback_substream;
- snd_pcm_substream_t *capture_substream;
+ struct snd_kcontrol *kctls[AK4114_CONTROLS];
+ struct snd_pcm_substream *playback_substream;
+ struct snd_pcm_substream *capture_substream;
unsigned long parity_errors;
unsigned long v_bit_errors;
unsigned long qcrc_errors;
struct workqueue_struct *workqueue;
struct work_struct work;
void *change_callback_private;
- void (*change_callback)(ak4114_t *ak4114, unsigned char c0, unsigned char c1);
+ void (*change_callback)(struct ak4114 *ak4114, unsigned char c0, unsigned char c1);
};
-int snd_ak4114_create(snd_card_t *card,
+int snd_ak4114_create(struct snd_card *card,
ak4114_read_t *read, ak4114_write_t *write,
unsigned char pgm[7], unsigned char txcsb[5],
- void *private_data, ak4114_t **r_ak4114);
-void snd_ak4114_reg_write(ak4114_t *ak4114, unsigned char reg, unsigned char mask, unsigned char val);
-void snd_ak4114_reinit(ak4114_t *ak4114);
-int snd_ak4114_build(ak4114_t *ak4114,
- snd_pcm_substream_t *playback_substream,
- snd_pcm_substream_t *capture_substream);
-int snd_ak4114_external_rate(ak4114_t *ak4114);
-int snd_ak4114_check_rate_and_errors(ak4114_t *ak4114, unsigned int flags);
+ void *private_data, struct ak4114 **r_ak4114);
+void snd_ak4114_reg_write(struct ak4114 *ak4114, unsigned char reg, unsigned char mask, unsigned char val);
+void snd_ak4114_reinit(struct ak4114 *ak4114);
+int snd_ak4114_build(struct ak4114 *ak4114,
+ struct snd_pcm_substream *playback_substream,
+ struct snd_pcm_substream *capture_substream);
+int snd_ak4114_external_rate(struct ak4114 *ak4114);
+int snd_ak4114_check_rate_and_errors(struct ak4114 *ak4114, unsigned int flags);
#endif /* __SOUND_AK4114_H */
__u32 a, b, c, d, e, t, i;
for (i = 0; i < 16; i++)
- W[i] = be32_to_cpu(((const __u32 *)in)[i]);
+ W[i] = be32_to_cpu(((const __be32 *)in)[i]);
for (i = 0; i < 64; i++)
W[i+16] = rol32(W[i+13] ^ W[i+8] ^ W[i+2] ^ W[i], 1);
#include <linux/kernel.h>
#include <linux/module.h>
+#include <linux/sort.h>
+#include <linux/slab.h>
-void u32_swap(void *a, void *b, int size)
+static void u32_swap(void *a, void *b, int size)
{
u32 t = *(u32 *)a;
*(u32 *)a = *(u32 *)b;
*(u32 *)b = t;
}
-void generic_swap(void *a, void *b, int size)
+static void generic_swap(void *a, void *b, int size)
{
char t;
struct mm_struct * swap_token_mm = &init_mm;
#define SWAP_TOKEN_CHECK_INTERVAL (HZ * 2)
-#define SWAP_TOKEN_TIMEOUT 0
+#define SWAP_TOKEN_TIMEOUT (300 * HZ)
/*
* Currently disabled; Needs further code to work at HZ * 300.
*/
/* We have the token. Let others know we still need it. */
if (has_swap_token(current->mm)) {
current->mm->recent_pagein = 1;
+ if (unlikely(!swap_token_default_timeout))
+ disable_swap_token();
return;
}
if (time_after(jiffies, swap_token_check)) {
- /* Can't get swapout protection if we exceed our RSS limit. */
- // if (current->mm->rss > current->mm->rlimit_rss)
- // return;
+ if (!swap_token_default_timeout) {
+ swap_token_check = jiffies + SWAP_TOKEN_CHECK_INTERVAL;
+ return;
+ }
/* ... or if we recently held the token. */
if (time_before(jiffies, current->mm->swap_token_time))
{
spin_lock(&swap_token_lock);
if (likely(mm == swap_token_mm)) {
+ mm->swap_token_time = jiffies + SWAP_TOKEN_CHECK_INTERVAL;
swap_token_mm = &init_mm;
swap_token_check = jiffies;
}
#include <linux/compat.h>
-struct sndrv_hwdep_dsp_image32 {
+struct snd_hwdep_dsp_image32 {
u32 index;
unsigned char name[64];
u32 image; /* pointer */
u32 driver_data;
} /* don't set packed attribute here */;
-static int snd_hwdep_dsp_load_compat(snd_hwdep_t *hw,
- struct sndrv_hwdep_dsp_image32 __user *src)
+static int snd_hwdep_dsp_load_compat(struct snd_hwdep *hw,
+ struct snd_hwdep_dsp_image32 __user *src)
{
- struct sndrv_hwdep_dsp_image *dst;
+ struct snd_hwdep_dsp_image *dst;
compat_caddr_t ptr;
u32 val;
}
enum {
- SNDRV_HWDEP_IOCTL_DSP_LOAD32 = _IOW('H', 0x03, struct sndrv_hwdep_dsp_image32)
+ SNDRV_HWDEP_IOCTL_DSP_LOAD32 = _IOW('H', 0x03, struct snd_hwdep_dsp_image32)
};
-static long snd_hwdep_ioctl_compat(struct file * file, unsigned int cmd, unsigned long arg)
+static long snd_hwdep_ioctl_compat(struct file * file, unsigned int cmd,
+ unsigned long arg)
{
- snd_hwdep_t *hw = file->private_data;
+ struct snd_hwdep *hw = file->private_data;
void __user *argp = compat_ptr(arg);
switch (cmd) {
case SNDRV_HWDEP_IOCTL_PVERSION:
static void ak4114_stats(void *);
-static void reg_write(ak4114_t *ak4114, unsigned char reg, unsigned char val)
+static void reg_write(struct ak4114 *ak4114, unsigned char reg, unsigned char val)
{
ak4114->write(ak4114->private_data, reg, val);
if (reg <= AK4114_REG_INT1_MASK)
ak4114->txcsb[reg-AK4114_REG_RXCSB0] = val;
}
-static inline unsigned char reg_read(ak4114_t *ak4114, unsigned char reg)
+static inline unsigned char reg_read(struct ak4114 *ak4114, unsigned char reg)
{
return ak4114->read(ak4114->private_data, reg);
}
#if 0
-static void reg_dump(ak4114_t *ak4114)
+static void reg_dump(struct ak4114 *ak4114)
{
int i;
- printk("AK4114 REG DUMP:\n");
+ printk(KERN_DEBUG "AK4114 REG DUMP:\n");
for (i = 0; i < 0x20; i++)
- printk("reg[%02x] = %02x (%02x)\n", i, reg_read(ak4114, i), i < sizeof(ak4114->regmap) ? ak4114->regmap[i] : 0);
+ printk(KERN_DEBUG "reg[%02x] = %02x (%02x)\n", i, reg_read(ak4114, i), i < sizeof(ak4114->regmap) ? ak4114->regmap[i] : 0);
}
#endif
-static void snd_ak4114_free(ak4114_t *chip)
+static void snd_ak4114_free(struct ak4114 *chip)
{
chip->init = 1; /* don't schedule new work */
mb();
kfree(chip);
}
-static int snd_ak4114_dev_free(snd_device_t *device)
+static int snd_ak4114_dev_free(struct snd_device *device)
{
- ak4114_t *chip = device->device_data;
+ struct ak4114 *chip = device->device_data;
snd_ak4114_free(chip);
return 0;
}
-int snd_ak4114_create(snd_card_t *card,
+int snd_ak4114_create(struct snd_card *card,
ak4114_read_t *read, ak4114_write_t *write,
unsigned char pgm[7], unsigned char txcsb[5],
- void *private_data, ak4114_t **r_ak4114)
+ void *private_data, struct ak4114 **r_ak4114)
{
- ak4114_t *chip;
+ struct ak4114 *chip;
int err = 0;
unsigned char reg;
- static snd_device_ops_t ops = {
+ static struct snd_device_ops ops = {
.dev_free = snd_ak4114_dev_free,
};
- chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
+ chip = kzalloc(sizeof(*chip), GFP_KERNEL);
if (chip == NULL)
return -ENOMEM;
spin_lock_init(&chip->lock);
return err < 0 ? err : -EIO;
}
-void snd_ak4114_reg_write(ak4114_t *chip, unsigned char reg, unsigned char mask, unsigned char val)
+void snd_ak4114_reg_write(struct ak4114 *chip, unsigned char reg, unsigned char mask, unsigned char val)
{
if (reg <= AK4114_REG_INT1_MASK)
reg_write(chip, reg, (chip->regmap[reg] & ~mask) | val);
reg_write(chip, reg, (chip->txcsb[reg] & ~mask) | val);
}
-void snd_ak4114_reinit(ak4114_t *chip)
+void snd_ak4114_reinit(struct ak4114 *chip)
{
unsigned char old = chip->regmap[AK4114_REG_PWRDN], reg;
}
}
-static int snd_ak4114_in_error_info(snd_kcontrol_t *kcontrol,
- snd_ctl_elem_info_t *uinfo)
+static int snd_ak4114_in_error_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
uinfo->count = 1;
return 0;
}
-static int snd_ak4114_in_error_get(snd_kcontrol_t *kcontrol,
- snd_ctl_elem_value_t *ucontrol)
+static int snd_ak4114_in_error_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
long *ptr;
spin_lock_irq(&chip->lock);
return 0;
}
-static int snd_ak4114_in_bit_info(snd_kcontrol_t *kcontrol,
- snd_ctl_elem_info_t *uinfo)
+static int snd_ak4114_in_bit_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN;
uinfo->count = 1;
return 0;
}
-static int snd_ak4114_in_bit_get(snd_kcontrol_t *kcontrol,
- snd_ctl_elem_value_t *ucontrol)
+static int snd_ak4114_in_bit_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
unsigned char reg = kcontrol->private_value & 0xff;
unsigned char bit = (kcontrol->private_value >> 8) & 0xff;
unsigned char inv = (kcontrol->private_value >> 31) & 1;
return 0;
}
-static int snd_ak4114_rate_info(snd_kcontrol_t *kcontrol,
- snd_ctl_elem_info_t *uinfo)
+static int snd_ak4114_rate_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
uinfo->count = 1;
return 0;
}
-static int snd_ak4114_rate_get(snd_kcontrol_t *kcontrol,
- snd_ctl_elem_value_t *ucontrol)
+static int snd_ak4114_rate_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
ucontrol->value.integer.value[0] = external_rate(reg_read(chip, AK4114_REG_RCS1));
return 0;
}
-static int snd_ak4114_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
+static int snd_ak4114_spdif_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958;
uinfo->count = 1;
return 0;
}
-static int snd_ak4114_spdif_get(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_ak4114_spdif_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
unsigned i;
for (i = 0; i < AK4114_REG_RXCSB_SIZE; i++)
return 0;
}
-static int snd_ak4114_spdif_playback_get(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_ak4114_spdif_playback_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
unsigned i;
for (i = 0; i < AK4114_REG_TXCSB_SIZE; i++)
return 0;
}
-static int snd_ak4114_spdif_playback_put(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_ak4114_spdif_playback_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
unsigned i;
for (i = 0; i < AK4114_REG_TXCSB_SIZE; i++)
return 0;
}
-static int snd_ak4114_spdif_mask_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
+static int snd_ak4114_spdif_mask_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958;
uinfo->count = 1;
return 0;
}
-static int snd_ak4114_spdif_mask_get(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_ak4114_spdif_mask_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
memset(ucontrol->value.iec958.status, 0xff, AK4114_REG_RXCSB_SIZE);
return 0;
}
-static int snd_ak4114_spdif_pinfo(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
+static int snd_ak4114_spdif_pinfo(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
uinfo->value.integer.min = 0;
return 0;
}
-static int snd_ak4114_spdif_pget(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_ak4114_spdif_pget(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
unsigned short tmp;
ucontrol->value.integer.value[0] = 0xf8f2;
return 0;
}
-static int snd_ak4114_spdif_qinfo(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
+static int snd_ak4114_spdif_qinfo(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES;
uinfo->count = AK4114_REG_QSUB_SIZE;
return 0;
}
-static int snd_ak4114_spdif_qget(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_ak4114_spdif_qget(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- ak4114_t *chip = snd_kcontrol_chip(kcontrol);
+ struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
unsigned i;
for (i = 0; i < AK4114_REG_QSUB_SIZE; i++)
}
/* Don't forget to change AK4114_CONTROLS define!!! */
-static snd_kcontrol_new_t snd_ak4114_iec958_controls[] = {
+static struct snd_kcontrol_new snd_ak4114_iec958_controls[] = {
{
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.name = "IEC958 Parity Errors",
.access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
.info = snd_ak4114_in_error_info,
.get = snd_ak4114_in_error_get,
- .private_value = offsetof(ak4114_t, parity_errors),
+ .private_value = offsetof(struct ak4114, parity_errors),
},
{
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
.info = snd_ak4114_in_error_info,
.get = snd_ak4114_in_error_get,
- .private_value = offsetof(ak4114_t, v_bit_errors),
+ .private_value = offsetof(struct ak4114, v_bit_errors),
},
{
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
.info = snd_ak4114_in_error_info,
.get = snd_ak4114_in_error_get,
- .private_value = offsetof(ak4114_t, ccrc_errors),
+ .private_value = offsetof(struct ak4114, ccrc_errors),
},
{
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
.info = snd_ak4114_in_error_info,
.get = snd_ak4114_in_error_get,
- .private_value = offsetof(ak4114_t, qcrc_errors),
+ .private_value = offsetof(struct ak4114, qcrc_errors),
},
{
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
}
};
-int snd_ak4114_build(ak4114_t *ak4114,
- snd_pcm_substream_t *ply_substream,
- snd_pcm_substream_t *cap_substream)
+int snd_ak4114_build(struct ak4114 *ak4114,
+ struct snd_pcm_substream *ply_substream,
+ struct snd_pcm_substream *cap_substream)
{
- snd_kcontrol_t *kctl;
+ struct snd_kcontrol *kctl;
unsigned int idx;
int err;
return 0;
}
-int snd_ak4114_external_rate(ak4114_t *ak4114)
+int snd_ak4114_external_rate(struct ak4114 *ak4114)
{
unsigned char rcs1;
return external_rate(rcs1);
}
-int snd_ak4114_check_rate_and_errors(ak4114_t *ak4114, unsigned int flags)
+int snd_ak4114_check_rate_and_errors(struct ak4114 *ak4114, unsigned int flags)
{
- snd_pcm_runtime_t *runtime = ak4114->capture_substream ? ak4114->capture_substream->runtime : NULL;
+ struct snd_pcm_runtime *runtime = ak4114->capture_substream ? ak4114->capture_substream->runtime : NULL;
unsigned long _flags;
int res = 0;
unsigned char rcs0, rcs1;
if (!(flags & AK4114_CHECK_NO_RATE) && runtime && runtime->rate != res) {
snd_pcm_stream_lock_irqsave(ak4114->capture_substream, _flags);
if (snd_pcm_running(ak4114->capture_substream)) {
- // printk("rate changed (%i <- %i)\n", runtime->rate, res);
+ // printk(KERN_DEBUG "rate changed (%i <- %i)\n", runtime->rate, res);
snd_pcm_stop(ak4114->capture_substream, SNDRV_PCM_STATE_DRAINING);
- wake_up(&runtime->sleep);
res = 1;
}
snd_pcm_stream_unlock_irqrestore(ak4114->capture_substream, _flags);
static void ak4114_stats(void *data)
{
- ak4114_t *chip = (ak4114_t *)data;
+ struct ak4114 *chip = (struct ak4114 *)data;
if (chip->init)
return;
/*
* Copyright (c) by James Courtier-Dutton <James@superbug.demon.co.uk>
* Driver p16v chips
- * Version: 0.22
+ * Version: 0.25
*
* FEATURES currently supported:
* Output fixed at S32_LE, 2 channel to hw:0,0
* Integrated with snd-emu10k1 driver.
* 0.22
* Removed #if 0 ... #endif
- *
+ * 0.23
+ * Implement different capture rates.
+ * 0.24
+ * Implement different capture source channels.
+ * e.g. When HD Capture source is set to SPDIF,
+ * setting HD Capture channel to 0 captures from CDROM digital input.
+ * setting HD Capture channel to 1 captures from SPDIF in.
+ * 0.25
+ * Include capture buffer sizes.
*
* BUGS:
* Some stability problems when unloading the snd-p16v kernel module.
#include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/slab.h>
+#include <linux/vmalloc.h>
#include <linux/moduleparam.h>
#include <sound/core.h>
#include <sound/initval.h>
#define PCM_FRONT_CHANNEL 0
#define PCM_REAR_CHANNEL 1
#define PCM_CENTER_LFE_CHANNEL 2
-#define PCM_UNKNOWN_CHANNEL 3
+#define PCM_SIDE_CHANNEL 3
#define CONTROL_FRONT_CHANNEL 0
#define CONTROL_REAR_CHANNEL 3
#define CONTROL_CENTER_LFE_CHANNEL 1
-#define CONTROL_UNKNOWN_CHANNEL 2
+#define CONTROL_SIDE_CHANNEL 2
/* Card IDs:
* Class 0401: 1102:0004 (rev 04) Subsystem: 1102:2002 -> Audigy2 ZS 7.1 Model:SB0350
*/
/* hardware definition */
-static snd_pcm_hardware_t snd_p16v_playback_hw = {
+static struct snd_pcm_hardware snd_p16v_playback_hw = {
.info = (SNDRV_PCM_INFO_MMAP |
SNDRV_PCM_INFO_INTERLEAVED |
SNDRV_PCM_INFO_BLOCK_TRANSFER |
+ SNDRV_PCM_INFO_RESUME |
SNDRV_PCM_INFO_MMAP_VALID),
.formats = SNDRV_PCM_FMTBIT_S32_LE, /* Only supports 24-bit samples padded to 32 bits. */
- .rates = SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_48000 ,
- .rate_min = 48000,
+ .rates = SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100,
+ .rate_min = 44100,
.rate_max = 192000,
.channels_min = 8,
.channels_max = 8,
- .buffer_bytes_max = (32*1024),
+ .buffer_bytes_max = ((65536 - 64) * 8),
.period_bytes_min = 64,
- .period_bytes_max = (16*1024),
+ .period_bytes_max = (65536 - 64),
.periods_min = 2,
.periods_max = 8,
.fifo_size = 0,
};
-static void snd_p16v_pcm_free_substream(snd_pcm_runtime_t *runtime)
+static struct snd_pcm_hardware snd_p16v_capture_hw = {
+ .info = (SNDRV_PCM_INFO_MMAP |
+ SNDRV_PCM_INFO_INTERLEAVED |
+ SNDRV_PCM_INFO_BLOCK_TRANSFER |
+ SNDRV_PCM_INFO_RESUME |
+ SNDRV_PCM_INFO_MMAP_VALID),
+ .formats = SNDRV_PCM_FMTBIT_S32_LE,
+ .rates = SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100,
+ .rate_min = 44100,
+ .rate_max = 192000,
+ .channels_min = 2,
+ .channels_max = 2,
+ .buffer_bytes_max = (65536 - 64),
+ .period_bytes_min = 64,
+ .period_bytes_max = (65536 - 128) >> 1, /* size has to be N*64 bytes */
+ .periods_min = 2,
+ .periods_max = 2,
+ .fifo_size = 0,
+};
+
+static void snd_p16v_pcm_free_substream(struct snd_pcm_runtime *runtime)
{
- snd_pcm_t *epcm = runtime->private_data;
+ struct snd_emu10k1_pcm *epcm = runtime->private_data;
if (epcm) {
//snd_printk("epcm free: %p\n", epcm);
}
/* open_playback callback */
-static int snd_p16v_pcm_open_playback_channel(snd_pcm_substream_t *substream, int channel_id)
+static int snd_p16v_pcm_open_playback_channel(struct snd_pcm_substream *substream, int channel_id)
{
- emu10k1_t *emu = snd_pcm_substream_chip(substream);
- emu10k1_voice_t *channel = &(emu->p16v_voices[channel_id]);
- emu10k1_pcm_t *epcm;
- snd_pcm_runtime_t *runtime = substream->runtime;
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_emu10k1_voice *channel = &(emu->p16v_voices[channel_id]);
+ struct snd_emu10k1_pcm *epcm;
+ struct snd_pcm_runtime *runtime = substream->runtime;
int err;
- epcm = kcalloc(1, sizeof(*epcm), GFP_KERNEL);
+ epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
//snd_printk("epcm kcalloc: %p\n", epcm);
if (epcm == NULL)
return 0;
}
+/* open_capture callback */
+static int snd_p16v_pcm_open_capture_channel(struct snd_pcm_substream *substream, int channel_id)
+{
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_emu10k1_voice *channel = &(emu->p16v_capture_voice);
+ struct snd_emu10k1_pcm *epcm;
+ struct snd_pcm_runtime *runtime = substream->runtime;
+ int err;
+
+ epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
+ //snd_printk("epcm kcalloc: %p\n", epcm);
+
+ if (epcm == NULL)
+ return -ENOMEM;
+ epcm->emu = emu;
+ epcm->substream = substream;
+ //snd_printk("epcm device=%d, channel_id=%d\n", substream->pcm->device, channel_id);
+
+ runtime->private_data = epcm;
+ runtime->private_free = snd_p16v_pcm_free_substream;
+
+ runtime->hw = snd_p16v_capture_hw;
+
+ channel->emu = emu;
+ channel->number = channel_id;
+
+ channel->use=1;
+ //snd_printk("p16v: open channel_id=%d, channel=%p, use=0x%x\n", channel_id, channel, channel->use);
+ //printk("open:channel_id=%d, chip=%p, channel=%p\n",channel_id, chip, channel);
+ //channel->interrupt = snd_p16v_pcm_channel_interrupt;
+ channel->epcm=epcm;
+ if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0)
+ return err;
+
+ return 0;
+}
+
+
+/* close callback */
+static int snd_p16v_pcm_close_playback(struct snd_pcm_substream *substream)
+{
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ //struct snd_pcm_runtime *runtime = substream->runtime;
+ //struct snd_emu10k1_pcm *epcm = runtime->private_data;
+ emu->p16v_voices[substream->pcm->device - emu->p16v_device_offset].use=0;
+ /* FIXME: maybe zero others */
+ return 0;
+}
/* close callback */
-static int snd_p16v_pcm_close_playback(snd_pcm_substream_t *substream)
+static int snd_p16v_pcm_close_capture(struct snd_pcm_substream *substream)
{
- emu10k1_t *emu = snd_pcm_substream_chip(substream);
- //snd_pcm_runtime_t *runtime = substream->runtime;
- //emu10k1_pcm_t *epcm = runtime->private_data;
- emu->p16v_voices[substream->pcm->device - emu->p16v_device_offset].use=0;
-/* FIXME: maybe zero others */
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ //struct snd_pcm_runtime *runtime = substream->runtime;
+ //struct snd_emu10k1_pcm *epcm = runtime->private_data;
+ emu->p16v_capture_voice.use=0;
+ /* FIXME: maybe zero others */
return 0;
}
-static int snd_p16v_pcm_open_playback_front(snd_pcm_substream_t *substream)
+static int snd_p16v_pcm_open_playback_front(struct snd_pcm_substream *substream)
{
return snd_p16v_pcm_open_playback_channel(substream, PCM_FRONT_CHANNEL);
}
+static int snd_p16v_pcm_open_capture(struct snd_pcm_substream *substream)
+{
+ // Only using channel 0 for now, but the card has 2 channels.
+ return snd_p16v_pcm_open_capture_channel(substream, 0);
+}
+
+/* hw_params callback */
+static int snd_p16v_pcm_hw_params_playback(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *hw_params)
+{
+ int result;
+ result = snd_pcm_lib_malloc_pages(substream,
+ params_buffer_bytes(hw_params));
+ return result;
+}
+
/* hw_params callback */
-static int snd_p16v_pcm_hw_params_playback(snd_pcm_substream_t *substream,
- snd_pcm_hw_params_t * hw_params)
+static int snd_p16v_pcm_hw_params_capture(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *hw_params)
{
int result;
- //snd_printk("hw_params alloc: substream=%p\n", substream);
result = snd_pcm_lib_malloc_pages(substream,
params_buffer_bytes(hw_params));
- //snd_printk("hw_params alloc: result=%d\n", result);
- //dump_stack();
+ return result;
+}
+
+
+/* hw_free callback */
+static int snd_p16v_pcm_hw_free_playback(struct snd_pcm_substream *substream)
+{
+ int result;
+ result = snd_pcm_lib_free_pages(substream);
return result;
}
/* hw_free callback */
-static int snd_p16v_pcm_hw_free_playback(snd_pcm_substream_t *substream)
+static int snd_p16v_pcm_hw_free_capture(struct snd_pcm_substream *substream)
{
int result;
- //snd_printk("hw_params free: substream=%p\n", substream);
result = snd_pcm_lib_free_pages(substream);
- //snd_printk("hw_params free: result=%d\n", result);
- //dump_stack();
return result;
}
+
/* prepare playback callback */
-static int snd_p16v_pcm_prepare_playback(snd_pcm_substream_t *substream)
+static int snd_p16v_pcm_prepare_playback(struct snd_pcm_substream *substream)
{
- emu10k1_t *emu = snd_pcm_substream_chip(substream);
- snd_pcm_runtime_t *runtime = substream->runtime;
- //emu10k1_pcm_t *epcm = runtime->private_data;
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_pcm_runtime *runtime = substream->runtime;
int channel = substream->pcm->device - emu->p16v_device_offset;
u32 *table_base = (u32 *)(emu->p16v_buffer.area+(8*16*channel));
u32 period_size_bytes = frames_to_bytes(runtime, runtime->period_size);
tmp = snd_emu10k1_ptr_read(emu, A_SPDIF_SAMPLERATE, channel);
switch (runtime->rate) {
case 44100:
- snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe000) | 0x8000); /* FIXME: This will change the capture rate as well! */
- break;
- case 48000:
- snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe000) | 0x0000); /* FIXME: This will change the capture rate as well! */
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe0e0) | 0x8080);
break;
case 96000:
- snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe000) | 0x4000); /* FIXME: This will change the capture rate as well! */
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe0e0) | 0x4040);
break;
case 192000:
- snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe000) | 0x2000); /* FIXME: This will change the capture rate as well! */
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe0e0) | 0x2020);
break;
+ case 48000:
default:
- snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, 0x0000); /* FIXME: This will change the capture rate as well! */
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0xe0e0) | 0x0000);
break;
}
/* FIXME: Check emu->buffer.size before actually writing to it. */
- for(i=0; i < runtime->periods; i++) {
+ for(i=0; i < runtime->periods; i++) {
table_base[i*2]=runtime->dma_addr+(i*period_size_bytes);
table_base[(i*2)+1]=period_size_bytes<<16;
}
snd_emu10k1_ptr20_write(emu, PLAYBACK_LIST_SIZE, channel, (runtime->periods - 1) << 19);
snd_emu10k1_ptr20_write(emu, PLAYBACK_LIST_PTR, channel, 0);
snd_emu10k1_ptr20_write(emu, PLAYBACK_DMA_ADDR, channel, runtime->dma_addr);
- snd_emu10k1_ptr20_write(emu, PLAYBACK_PERIOD_SIZE, channel, frames_to_bytes(runtime, runtime->period_size)<<16); // buffer size in bytes
+ //snd_emu10k1_ptr20_write(emu, PLAYBACK_PERIOD_SIZE, channel, frames_to_bytes(runtime, runtime->period_size)<<16); // buffer size in bytes
+ snd_emu10k1_ptr20_write(emu, PLAYBACK_PERIOD_SIZE, channel, 0); // buffer size in bytes
snd_emu10k1_ptr20_write(emu, PLAYBACK_POINTER, channel, 0);
snd_emu10k1_ptr20_write(emu, 0x07, channel, 0x0);
snd_emu10k1_ptr20_write(emu, 0x08, channel, 0);
return 0;
}
-static void snd_p16v_intr_enable(emu10k1_t *emu, unsigned int intrenb)
+/* prepare capture callback */
+static int snd_p16v_pcm_prepare_capture(struct snd_pcm_substream *substream)
+{
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_pcm_runtime *runtime = substream->runtime;
+ int channel = substream->pcm->device - emu->p16v_device_offset;
+ u32 tmp;
+ //printk("prepare capture:channel_number=%d, rate=%d, format=0x%x, channels=%d, buffer_size=%ld, period_size=%ld, frames_to_bytes=%d\n",channel, runtime->rate, runtime->format, runtime->channels, runtime->buffer_size, runtime->period_size, frames_to_bytes(runtime, 1));
+ tmp = snd_emu10k1_ptr_read(emu, A_SPDIF_SAMPLERATE, channel);
+ switch (runtime->rate) {
+ case 44100:
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0x0e00) | 0x0800);
+ break;
+ case 96000:
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0x0e00) | 0x0400);
+ break;
+ case 192000:
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0x0e00) | 0x0200);
+ break;
+ case 48000:
+ default:
+ snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel, (tmp & ~0x0e00) | 0x0000);
+ break;
+ }
+ /* FIXME: Check emu->buffer.size before actually writing to it. */
+ snd_emu10k1_ptr20_write(emu, 0x13, channel, 0);
+ snd_emu10k1_ptr20_write(emu, CAPTURE_DMA_ADDR, channel, runtime->dma_addr);
+ snd_emu10k1_ptr20_write(emu, CAPTURE_BUFFER_SIZE, channel, frames_to_bytes(runtime, runtime->buffer_size)<<16); // buffer size in bytes
+ snd_emu10k1_ptr20_write(emu, CAPTURE_POINTER, channel, 0);
+ //snd_emu10k1_ptr20_write(emu, CAPTURE_SOURCE, 0x0, 0x333300e4); /* Select MIC or Line in */
+ //snd_emu10k1_ptr20_write(emu, EXTENDED_INT_MASK, 0, snd_emu10k1_ptr20_read(emu, EXTENDED_INT_MASK, 0) | (0x110000<<channel));
+
+ return 0;
+}
+
+static void snd_p16v_intr_enable(struct snd_emu10k1 *emu, unsigned int intrenb)
{
unsigned long flags;
unsigned int enable;
spin_unlock_irqrestore(&emu->emu_lock, flags);
}
-static void snd_p16v_intr_disable(emu10k1_t *emu, unsigned int intrenb)
+static void snd_p16v_intr_disable(struct snd_emu10k1 *emu, unsigned int intrenb)
{
unsigned long flags;
unsigned int disable;
}
/* trigger_playback callback */
-static int snd_p16v_pcm_trigger_playback(snd_pcm_substream_t *substream,
+static int snd_p16v_pcm_trigger_playback(struct snd_pcm_substream *substream,
int cmd)
{
- emu10k1_t *emu = snd_pcm_substream_chip(substream);
- snd_pcm_runtime_t *runtime;
- emu10k1_pcm_t *epcm;
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_pcm_runtime *runtime;
+ struct snd_emu10k1_pcm *epcm;
int channel;
int result = 0;
struct list_head *pos;
- snd_pcm_substream_t *s;
+ struct snd_pcm_substream *s;
u32 basic = 0;
u32 inte = 0;
int running=0;
return result;
}
+/* trigger_capture callback */
+static int snd_p16v_pcm_trigger_capture(struct snd_pcm_substream *substream,
+ int cmd)
+{
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_pcm_runtime *runtime = substream->runtime;
+ struct snd_emu10k1_pcm *epcm = runtime->private_data;
+ int channel = 0;
+ int result = 0;
+ u32 inte = INTE2_CAPTURE_CH_0_LOOP | INTE2_CAPTURE_CH_0_HALF_LOOP;
+
+ switch (cmd) {
+ case SNDRV_PCM_TRIGGER_START:
+ snd_p16v_intr_enable(emu, inte);
+ snd_emu10k1_ptr20_write(emu, BASIC_INTERRUPT, 0, snd_emu10k1_ptr20_read(emu, BASIC_INTERRUPT, 0)|(0x100<<channel));
+ epcm->running = 1;
+ break;
+ case SNDRV_PCM_TRIGGER_STOP:
+ snd_emu10k1_ptr20_write(emu, BASIC_INTERRUPT, 0, snd_emu10k1_ptr20_read(emu, BASIC_INTERRUPT, 0) & ~(0x100<<channel));
+ snd_p16v_intr_disable(emu, inte);
+ //snd_emu10k1_ptr20_write(emu, EXTENDED_INT_MASK, 0, snd_emu10k1_ptr20_read(emu, EXTENDED_INT_MASK, 0) & ~(0x110000<<channel));
+ epcm->running = 0;
+ break;
+ default:
+ result = -EINVAL;
+ break;
+ }
+ return result;
+}
+
/* pointer_playback callback */
static snd_pcm_uframes_t
-snd_p16v_pcm_pointer_playback(snd_pcm_substream_t *substream)
+snd_p16v_pcm_pointer_playback(struct snd_pcm_substream *substream)
{
- emu10k1_t *emu = snd_pcm_substream_chip(substream);
- snd_pcm_runtime_t *runtime = substream->runtime;
- emu10k1_pcm_t *epcm = runtime->private_data;
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_pcm_runtime *runtime = substream->runtime;
+ struct snd_emu10k1_pcm *epcm = runtime->private_data;
snd_pcm_uframes_t ptr, ptr1, ptr2,ptr3,ptr4 = 0;
int channel = substream->pcm->device - emu->p16v_device_offset;
if (!epcm->running)
return ptr;
}
+/* pointer_capture callback */
+static snd_pcm_uframes_t
+snd_p16v_pcm_pointer_capture(struct snd_pcm_substream *substream)
+{
+ struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
+ struct snd_pcm_runtime *runtime = substream->runtime;
+ struct snd_emu10k1_pcm *epcm = runtime->private_data;
+ snd_pcm_uframes_t ptr, ptr1, ptr2 = 0;
+ int channel = 0;
+
+ if (!epcm->running)
+ return 0;
+
+ ptr1 = snd_emu10k1_ptr20_read(emu, CAPTURE_POINTER, channel);
+ ptr2 = bytes_to_frames(runtime, ptr1);
+ ptr=ptr2;
+ if (ptr >= runtime->buffer_size) {
+ ptr -= runtime->buffer_size;
+ printk(KERN_WARNING "buffer capture limited!\n");
+ }
+ //printk("ptr1 = 0x%lx, ptr2=0x%lx, ptr=0x%lx, buffer_size = 0x%x, period_size = 0x%x, bits=%d, rate=%d\n", ptr1, ptr2, ptr, (int)runtime->buffer_size, (int)runtime->period_size, (int)runtime->frame_bits, (int)runtime->rate);
+
+ return ptr;
+}
+
/* operators */
-static snd_pcm_ops_t snd_p16v_playback_front_ops = {
+static struct snd_pcm_ops snd_p16v_playback_front_ops = {
.open = snd_p16v_pcm_open_playback_front,
.close = snd_p16v_pcm_close_playback,
.ioctl = snd_pcm_lib_ioctl,
.pointer = snd_p16v_pcm_pointer_playback,
};
-int snd_p16v_free(emu10k1_t *chip)
+static struct snd_pcm_ops snd_p16v_capture_ops = {
+ .open = snd_p16v_pcm_open_capture,
+ .close = snd_p16v_pcm_close_capture,
+ .ioctl = snd_pcm_lib_ioctl,
+ .hw_params = snd_p16v_pcm_hw_params_capture,
+ .hw_free = snd_p16v_pcm_hw_free_capture,
+ .prepare = snd_p16v_pcm_prepare_capture,
+ .trigger = snd_p16v_pcm_trigger_capture,
+ .pointer = snd_p16v_pcm_pointer_capture,
+};
+
+
+int snd_p16v_free(struct snd_emu10k1 *chip)
{
// release the data
if (chip->p16v_buffer.area) {
return 0;
}
-static void snd_p16v_pcm_free(snd_pcm_t *pcm)
+int __devinit snd_p16v_pcm(struct snd_emu10k1 *emu, int device, struct snd_pcm **rpcm)
{
- emu10k1_t *emu = pcm->private_data;
- //snd_printk("snd_p16v_pcm_free pcm: called\n");
- snd_pcm_lib_preallocate_free_for_all(pcm);
- emu->pcm = NULL;
-}
-
-int snd_p16v_pcm(emu10k1_t *emu, int device, snd_pcm_t **rpcm)
-{
- snd_pcm_t *pcm;
- snd_pcm_substream_t *substream;
+ struct snd_pcm *pcm;
+ struct snd_pcm_substream *substream;
int err;
- int capture=0;
+ int capture=1;
//snd_printk("snd_p16v_pcm called. device=%d\n", device);
emu->p16v_device_offset = device;
if (rpcm)
*rpcm = NULL;
- //if (device == 0) capture=1;
+
if ((err = snd_pcm_new(emu->card, "p16v", device, 1, capture, &pcm)) < 0)
return err;
pcm->private_data = emu;
- pcm->private_free = snd_p16v_pcm_free;
-
+ // Single playback 8 channel device.
+ // Single capture 2 channel device.
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_p16v_playback_front_ops);
+ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_p16v_capture_ops);
pcm->info_flags = 0;
pcm->dev_subclass = SNDRV_PCM_SUBCLASS_GENERIC_MIX;
strcpy(pcm->name, "p16v");
- emu->pcm = pcm;
+ emu->pcm_p16v = pcm;
for(substream = pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream;
substream;
if ((err = snd_pcm_lib_preallocate_pages(substream,
SNDRV_DMA_TYPE_DEV,
snd_dma_pci_data(emu->pci),
- 64*1024, 64*1024)) < 0) /* FIXME: 32*1024 for sound buffer, between 32and64 for Periods table. */
+ ((65536 - 64) * 8), ((65536 - 64) * 8))) < 0)
return err;
//snd_printk("preallocate playback substream: err=%d\n", err);
}
if ((err = snd_pcm_lib_preallocate_pages(substream,
SNDRV_DMA_TYPE_DEV,
snd_dma_pci_data(emu->pci),
- 64*1024, 64*1024)) < 0)
+ 65536 - 64, 65536 - 64)) < 0)
return err;
//snd_printk("preallocate capture substream: err=%d\n", err);
}
return 0;
}
-static int snd_p16v_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
+static int snd_p16v_volume_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
uinfo->count = 2;
return 0;
}
-static int snd_p16v_volume_get(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol, int reg, int high_low)
+static int snd_p16v_volume_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- emu10k1_t *emu = snd_kcontrol_chip(kcontrol);
- u32 value;
+ struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
+ int high_low = (kcontrol->private_value >> 8) & 0xff;
+ int reg = kcontrol->private_value & 0xff;
+ u32 value;
- value = snd_emu10k1_ptr20_read(emu, reg, high_low);
- if (high_low == 1) {
- ucontrol->value.integer.value[0] = 0xff - ((value >> 24) & 0xff); /* Left */
- ucontrol->value.integer.value[1] = 0xff - ((value >> 16) & 0xff); /* Right */
+ value = snd_emu10k1_ptr20_read(emu, reg, high_low);
+ if (high_low) {
+ ucontrol->value.integer.value[0] = 0xff - ((value >> 24) & 0xff); /* Left */
+ ucontrol->value.integer.value[1] = 0xff - ((value >> 16) & 0xff); /* Right */
} else {
- ucontrol->value.integer.value[0] = 0xff - ((value >> 8) & 0xff); /* Left */
- ucontrol->value.integer.value[1] = 0xff - ((value >> 0) & 0xff); /* Right */
+ ucontrol->value.integer.value[0] = 0xff - ((value >> 8) & 0xff); /* Left */
+ ucontrol->value.integer.value[1] = 0xff - ((value >> 0) & 0xff); /* Right */
}
- return 0;
-}
-
-static int snd_p16v_volume_get_spdif_front(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER7;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
-}
-
-static int snd_p16v_volume_get_spdif_center_lfe(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER7;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
-}
-static int snd_p16v_volume_get_spdif_unknown(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER8;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
-}
-static int snd_p16v_volume_get_spdif_rear(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER8;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
-}
-
-static int snd_p16v_volume_get_analog_front(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER9;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
-}
-
-static int snd_p16v_volume_get_analog_center_lfe(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER9;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
-}
-static int snd_p16v_volume_get_analog_rear(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER10;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
+ return 0;
}
-static int snd_p16v_volume_get_analog_unknown(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_p16v_volume_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER10;
- return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
-}
+ struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
+ int high_low = (kcontrol->private_value >> 8) & 0xff;
+ int reg = kcontrol->private_value & 0xff;
+ u32 value, oval;
-static int snd_p16v_volume_put(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol, int reg, int high_low)
-{
- emu10k1_t *emu = snd_kcontrol_chip(kcontrol);
- u32 value;
- value = snd_emu10k1_ptr20_read(emu, reg, 0);
- //value = value & 0xffff;
+ oval = value = snd_emu10k1_ptr20_read(emu, reg, 0);
if (high_low == 1) {
value &= 0xffff;
- value = value | ((0xff - ucontrol->value.integer.value[0]) << 24) | ((0xff - ucontrol->value.integer.value[1]) << 16);
+ value |= ((0xff - ucontrol->value.integer.value[0]) << 24) |
+ ((0xff - ucontrol->value.integer.value[1]) << 16);
} else {
value &= 0xffff0000;
- value = value | ((0xff - ucontrol->value.integer.value[0]) << 8) | ((0xff - ucontrol->value.integer.value[1]) );
+ value |= ((0xff - ucontrol->value.integer.value[0]) << 8) |
+ ((0xff - ucontrol->value.integer.value[1]) );
+ }
+ if (value != oval) {
+ snd_emu10k1_ptr20_write(emu, reg, 0, value);
+ return 1;
}
- snd_emu10k1_ptr20_write(emu, reg, 0, value);
- return 1;
+ return 0;
}
-static int snd_p16v_volume_put_spdif_front(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_p16v_capture_source_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER7;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
-}
+ static char *texts[8] = {
+ "SPDIF", "I2S", "SRC48", "SRCMulti_SPDIF", "SRCMulti_I2S",
+ "CDIF", "FX", "AC97"
+ };
-static int snd_p16v_volume_put_spdif_center_lfe(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER7;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
+ uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
+ uinfo->count = 1;
+ uinfo->value.enumerated.items = 8;
+ if (uinfo->value.enumerated.item > 7)
+ uinfo->value.enumerated.item = 7;
+ strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]);
+ return 0;
}
-static int snd_p16v_volume_put_spdif_unknown(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_p16v_capture_source_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER8;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
-}
+ struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
-static int snd_p16v_volume_put_spdif_rear(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER8;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
+ ucontrol->value.enumerated.item[0] = emu->p16v_capture_source;
+ return 0;
}
-static int snd_p16v_volume_put_analog_front(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_p16v_capture_source_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER9;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
-}
+ struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
+ unsigned int val;
+ int change = 0;
+ u32 mask;
+ u32 source;
-static int snd_p16v_volume_put_analog_center_lfe(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
-{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER9;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
+ val = ucontrol->value.enumerated.item[0] ;
+ change = (emu->p16v_capture_source != val);
+ if (change) {
+ emu->p16v_capture_source = val;
+ source = (val << 28) | (val << 24) | (val << 20) | (val << 16);
+ mask = snd_emu10k1_ptr20_read(emu, BASIC_INTERRUPT, 0) & 0xffff;
+ snd_emu10k1_ptr20_write(emu, BASIC_INTERRUPT, 0, source | mask);
+ }
+ return change;
}
-static int snd_p16v_volume_put_analog_rear(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_p16v_capture_channel_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
{
- int high_low = 1;
- int reg = PLAYBACK_VOLUME_MIXER10;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
+ static char *texts[4] = { "0", "1", "2", "3", };
+
+ uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
+ uinfo->count = 1;
+ uinfo->value.enumerated.items = 4;
+ if (uinfo->value.enumerated.item > 3)
+ uinfo->value.enumerated.item = 3;
+ strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]);
+ return 0;
}
-static int snd_p16v_volume_put_analog_unknown(snd_kcontrol_t * kcontrol,
- snd_ctl_elem_value_t * ucontrol)
+static int snd_p16v_capture_channel_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- int high_low = 0;
- int reg = PLAYBACK_VOLUME_MIXER10;
- return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
+ struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
+
+ ucontrol->value.enumerated.item[0] = emu->p16v_capture_channel;
+ return 0;
}
-static snd_kcontrol_new_t snd_p16v_volume_control_analog_front =
+static int snd_p16v_capture_channel_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD Analog Front Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_analog_front,
- .put = snd_p16v_volume_put_analog_front
-};
+ struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
+ unsigned int val;
+ int change = 0;
+ u32 tmp;
-static snd_kcontrol_new_t snd_p16v_volume_control_analog_center_lfe =
-{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD Analog Center/LFE Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_analog_center_lfe,
- .put = snd_p16v_volume_put_analog_center_lfe
+ val = ucontrol->value.enumerated.item[0] ;
+ change = (emu->p16v_capture_channel != val);
+ if (change) {
+ emu->p16v_capture_channel = val;
+ tmp = snd_emu10k1_ptr20_read(emu, CAPTURE_P16V_SOURCE, 0) & 0xfffc;
+ snd_emu10k1_ptr20_write(emu, CAPTURE_P16V_SOURCE, 0, tmp | val);
+ }
+ return change;
+}
+
+#define P16V_VOL(xname,xreg,xhl) { \
+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
+ .info = snd_p16v_volume_info, \
+ .get = snd_p16v_volume_get, \
+ .put = snd_p16v_volume_put, \
+ .private_value = ((xreg) | ((xhl) << 8)) \
+}
+
+static struct snd_kcontrol_new p16v_mixer_controls[] __devinitdata = {
+ P16V_VOL("HD Analog Front Playback Volume", PLAYBACK_VOLUME_MIXER9, 0),
+ P16V_VOL("HD Analog Rear Playback Volume", PLAYBACK_VOLUME_MIXER10, 1),
+ P16V_VOL("HD Analog Center/LFE Playback Volume", PLAYBACK_VOLUME_MIXER9, 1),
+ P16V_VOL("HD Analog Side Playback Volume", PLAYBACK_VOLUME_MIXER10, 0),
+ P16V_VOL("HD SPDIF Front Playback Volume", PLAYBACK_VOLUME_MIXER7, 0),
+ P16V_VOL("HD SPDIF Rear Playback Volume", PLAYBACK_VOLUME_MIXER8, 1),
+ P16V_VOL("HD SPDIF Center/LFE Playback Volume", PLAYBACK_VOLUME_MIXER7, 1),
+ P16V_VOL("HD SPDIF Side Playback Volume", PLAYBACK_VOLUME_MIXER8, 0),
+ {
+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+ .name = "HD source Capture",
+ .info = snd_p16v_capture_source_info,
+ .get = snd_p16v_capture_source_get,
+ .put = snd_p16v_capture_source_put
+ },
+ {
+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+ .name = "HD channel Capture",
+ .info = snd_p16v_capture_channel_info,
+ .get = snd_p16v_capture_channel_get,
+ .put = snd_p16v_capture_channel_put
+ },
};
-static snd_kcontrol_new_t snd_p16v_volume_control_analog_unknown =
-{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD Analog Unknown Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_analog_unknown,
- .put = snd_p16v_volume_put_analog_unknown
-};
-static snd_kcontrol_new_t snd_p16v_volume_control_analog_rear =
+int __devinit snd_p16v_mixer(struct snd_emu10k1 *emu)
{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD Analog Rear Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_analog_rear,
- .put = snd_p16v_volume_put_analog_rear
-};
+ int i, err;
+ struct snd_card *card = emu->card;
-static snd_kcontrol_new_t snd_p16v_volume_control_spdif_front =
-{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD SPDIF Front Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_spdif_front,
- .put = snd_p16v_volume_put_spdif_front
-};
+ for (i = 0; i < ARRAY_SIZE(p16v_mixer_controls); i++) {
+ if ((err = snd_ctl_add(card, snd_ctl_new1(&p16v_mixer_controls[i],
+ emu))) < 0)
+ return err;
+ }
+ return 0;
+}
-static snd_kcontrol_new_t snd_p16v_volume_control_spdif_center_lfe =
-{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD SPDIF Center/LFE Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_spdif_center_lfe,
- .put = snd_p16v_volume_put_spdif_center_lfe
-};
+#ifdef CONFIG_PM
+
+#define NUM_CHS 1 /* up to 4, but only first channel is used */
-static snd_kcontrol_new_t snd_p16v_volume_control_spdif_unknown =
+int __devinit snd_p16v_alloc_pm_buffer(struct snd_emu10k1 *emu)
{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD SPDIF Unknown Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_spdif_unknown,
- .put = snd_p16v_volume_put_spdif_unknown
-};
+ emu->p16v_saved = vmalloc(NUM_CHS * 4 * 0x80);
+ if (! emu->p16v_saved)
+ return -ENOMEM;
+ return 0;
+}
-static snd_kcontrol_new_t snd_p16v_volume_control_spdif_rear =
+void snd_p16v_free_pm_buffer(struct snd_emu10k1 *emu)
{
- .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = "HD SPDIF Rear Volume",
- .info = snd_p16v_volume_info,
- .get = snd_p16v_volume_get_spdif_rear,
- .put = snd_p16v_volume_put_spdif_rear
-};
+ vfree(emu->p16v_saved);
+}
-int snd_p16v_mixer(emu10k1_t *emu)
+void snd_p16v_suspend(struct snd_emu10k1 *emu)
{
- int err;
- snd_kcontrol_t *kctl;
- snd_card_t *card = emu->card;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_analog_front, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_analog_rear, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_analog_center_lfe, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_analog_unknown, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_spdif_front, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_spdif_rear, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_spdif_center_lfe, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_spdif_unknown, emu)) == NULL)
- return -ENOMEM;
- if ((err = snd_ctl_add(card, kctl)))
- return err;
- return 0;
+ int i, ch;
+ unsigned int *val;
+
+ val = emu->p16v_saved;
+ for (ch = 0; ch < NUM_CHS; ch++)
+ for (i = 0; i < 0x80; i++, val++)
+ *val = snd_emu10k1_ptr20_read(emu, i, ch);
}
+void snd_p16v_resume(struct snd_emu10k1 *emu)
+{
+ int i, ch;
+ unsigned int *val;
+
+ val = emu->p16v_saved;
+ for (ch = 0; ch < NUM_CHS; ch++)
+ for (i = 0; i < 0x80; i++, val++)
+ snd_emu10k1_ptr20_write(emu, i, ch, *val);
+}
+#endif