# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/05/25 22:24:29-07:00 torvalds@ppc970.osdl.org # Remove bogus test preprocessor test. # # PAGE_SIZE isn't even always defined at this point, # which makes us test undefined preprocessor symbols. # # It so happens that the test works in that case, # but since the test is a bit pointless in the first # place... # # include/asm-ppc64/thread_info.h # 2004/05/25 22:24:23-07:00 torvalds@ppc970.osdl.org +0 -4 # Remove bogus test preprocessor test. # # PAGE_SIZE isn't even always defined at this point, # which makes us test undefined preprocessor symbols. # # It so happens that the test works in that case, # but since the test is a bit pointless in the first # place... # # ChangeSet # 2004/05/25 22:22:33-07:00 torvalds@ppc970.osdl.org # Make constant types explicit, rather than depend on # some rather subtle C type expansion rules. # # This makes sparse happier. # # include/linux/idr.h # 2004/05/25 22:22:27-07:00 torvalds@ppc970.osdl.org +2 -2 # Make constant types explicit, rather than depend on # some rather subtle C type expansion rules. # # include/asm-ppc64/page.h # 2004/05/25 22:22:27-07:00 torvalds@ppc970.osdl.org +12 -10 # Make constant types explicit, rather than depend on # some rather subtle C type expansion rules. # # include/asm-ppc64/mmu_context.h # 2004/05/25 22:22:27-07:00 torvalds@ppc970.osdl.org +2 -2 # Make constant types explicit, rather than depend on # some rather subtle C type expansion rules. # # include/asm-ppc64/mmu.h # 2004/05/25 22:22:27-07:00 torvalds@ppc970.osdl.org +1 -1 # Make constant types explicit, rather than depend on # some rather subtle C type expansion rules. # # ChangeSet # 2004/05/25 22:21:34-07:00 torvalds@ppc970.osdl.org # Don't return void types from void functions. # # This helps reduce sparse noise. # # include/asm-ppc64/eeh.h # 2004/05/25 22:21:29-07:00 torvalds@ppc970.osdl.org +3 -3 # Don't return void types from void functions. # # drivers/net/tokenring/olympic.c # 2004/05/25 22:21:29-07:00 torvalds@ppc970.osdl.org +1 -1 # Don't return void types from void functions. # # ChangeSet # 2004/05/25 13:09:27-07:00 sxking@qwest.net # [IPSEC]: Fix buglet in AF_KEY spddelete # # When trying to spddelete individual entries using setkey, spddelete always # fails. The culprit is in net/af_key.c; spdadd sets the family field of the # selector when creating an entry, but spddelete doesn't when building a # selector to match for xfrm_policy_bysel. Trivial fix is to have spddelete # set the family field in the selector in same way spdadd does. # # net/key/af_key.c # 2004/05/25 13:09:13-07:00 sxking@qwest.net +1 -1 # [IPSEC]: Fix buglet in AF_KEY spddelete # # When trying to spddelete individual entries using setkey, spddelete always # fails. The culprit is in net/af_key.c; spdadd sets the family field of the # selector when creating an entry, but spddelete doesn't when building a # selector to match for xfrm_policy_bysel. Trivial fix is to have spddelete # set the family field in the selector in same way spdadd does. # # ChangeSet # 2004/05/25 13:06:21-07:00 davem@nuts.davemloft.net # [TG3]: Update driver version and reldate. # # drivers/net/tg3.c # 2004/05/25 13:06:06-07:00 davem@nuts.davemloft.net +2 -2 # [TG3]: Update driver version and reldate. # # ChangeSet # 2004/05/25 13:04:59-07:00 torvalds@ppc970.osdl.org # Introduce architecture-specific "ptep_update_dirty_accessed()" # helper function to write-back the dirty and accessed bits from # ptep_establish(). # # Right now this defaults to the same old "set_pte()" that we've # always done, except for x86 where we now fix the (unlikely) # race in updating accessed bits and dropping a concurrent dirty # bit. # # include/asm-i386/pgtable.h # 2004/05/25 13:04:54-07:00 torvalds@ppc970.osdl.org +10 -0 # Introduce architecture-specific "ptep_update_dirty_accessed()" # helper function to write-back the dirty and accessed bits from # ptep_establish(). # # Right now this defaults to the same old "set_pte()" that we've # always done, except for x86 where we now fix the (unlikely) # race in updating accessed bits and dropping a concurrent dirty # bit. # # include/asm-generic/pgtable.h # 2004/05/25 13:04:54-07:00 torvalds@ppc970.osdl.org +6 -1 # Introduce architecture-specific "ptep_update_dirty_accessed()" # helper function to write-back the dirty and accessed bits from # ptep_establish(). # # Right now this defaults to the same old "set_pte()" that we've # always done, except for x86 where we now fix the (unlikely) # race in updating accessed bits and dropping a concurrent dirty # bit. # # ChangeSet # 2004/05/25 13:04:23-07:00 akepner@sgi.com # [TG3]: Make sure RX/TX flow control settings actually get set. # # drivers/net/tg3.c # 2004/05/25 13:04:09-07:00 akepner@sgi.com +10 -0 # [TG3]: Make sure RX/TX flow control settings actually get set. # # ChangeSet # 2004/05/25 12:37:15-07:00 torvalds@ppc970.osdl.org # Pass in a "dirty" argument to ptep_establish in # preparation for pte update race fix. # # This does not actually use the information yet, but # the next few patches will start to put it to some # good use. # # mm/memory.c # 2004/05/25 12:37:09-07:00 torvalds@ppc970.osdl.org +3 -3 # Pass in a "dirty" argument to ptep_establish in # preparation for pte update race fix. # # This does not actually use the information yet, but # the next few patches will start to put it to some # good use. # # include/asm-s390/pgtable.h # 2004/05/25 12:37:09-07:00 torvalds@ppc970.osdl.org +2 -1 # Pass in a "dirty" argument to ptep_establish in # preparation for pte update race fix. # # This does not actually use the information yet, but # the next few patches will start to put it to some # good use. # # include/asm-generic/pgtable.h # 2004/05/25 12:37:09-07:00 torvalds@ppc970.osdl.org +1 -1 # Pass in a "dirty" argument to ptep_establish in # preparation for pte update race fix. # # This does not actually use the information yet, but # the next few patches will start to put it to some # good use. # # ChangeSet # 2004/05/25 11:11:46-07:00 ak@muc.de # [PATCH] Fix nodemask clearing bug in NUMA API # # Fix over long nodemask clearing in get_mem_policy() by using the # right size for the node mask. # # mm/mempolicy.c # 2004/05/25 10:59:34-07:00 ak@muc.de +5 -6 # Fix nodemask clearing bug in NUMA API # # ChangeSet # 2004/05/25 11:04:01-07:00 linux-kernel@vortech.net # [VLAN]: Use KERN_INFO for VLAN_INF. # # net/8021q/vlan.h # 2004/05/25 11:03:48-07:00 linux-kernel@vortech.net +1 -1 # [VLAN]: Use KERN_INFO for VLAN_INF. # # ChangeSet # 2004/05/25 11:02:48-07:00 herbert@gondor.apana.org.au # [IPSEC]: Use add_timer() in xfrm_state_find. # # net/xfrm/xfrm_state.c # 2004/05/25 11:02:35-07:00 herbert@gondor.apana.org.au +2 -1 # [IPSEC]: Use add_timer() in xfrm_state_find. # # ChangeSet # 2004/05/25 11:02:07-07:00 herbert@gondor.apana.org.au # [IPSEC]: Fix outdated comment in __xfrm_state_delete. # # net/xfrm/xfrm_state.c # 2004/05/25 11:01:54-07:00 herbert@gondor.apana.org.au +3 -7 # [IPSEC]: Fix outdated comment in __xfrm_state_delete. # # ChangeSet # 2004/05/25 11:01:22-07:00 herbert@gondor.apana.org.au # [IPSEC]: Do not leak entries in xfrm_state_find. # # In xfrm_state_find, the larval state never actually matures with # Openswan so it only ever gets deleted by the timer which means # that the time crash can't happen :) It becomes a (possible) memory # leak instead. # # net/xfrm/xfrm_state.c # 2004/05/25 11:01:09-07:00 herbert@gondor.apana.org.au +6 -10 # [IPSEC]: Do not leak entries in xfrm_state_find. # # In xfrm_state_find, the larval state never actually matures with # Openswan so it only ever gets deleted by the timer which means # that the time crash can't happen :) It becomes a (possible) memory # leak instead. # # ChangeSet # 2004/05/25 10:58:43-07:00 shemminger@osdl.org # [BRIDGE]: Update bridge.txt # # Trent Jarvi noticed this. The file was out of date # with current web site and maintainer. Please apply to 2.4 and 2.6. # # Signed-off-by: Stephen Hemminger # # Documentation/networking/bridge.txt # 2004/05/25 10:58:30-07:00 shemminger@osdl.org +6 -9 # [BRIDGE]: Update bridge.txt # # Trent Jarvi noticed this. The file was out of date # with current web site and maintainer. Please apply to 2.4 and 2.6. # # Signed-off-by: Stephen Hemminger # # ChangeSet # 2004/05/25 10:27:46-07:00 paulus@samba.org # [PATCH] IRQ stacks for PPC64 # # Even with a 16kB stack, we have been seeing stack overflows on PPC64 # under stress. This patch implements separate per-cpu stacks for # processing interrupts and softirqs, along the lines of the # CONFIG_4KSTACKS stuff on x86. At the moment the stacks are still 16kB # but I hope we can reduce that to 8kB in future. (Gcc is capable of # adding instructions to the function prolog to check the stack pointer # whenever it moves it downwards, and I want to use that when I try # using 8kB stacks so I can be confident that we aren't overflowing the # stack.) # # Signed-off-by: Paul Mackerras # # include/asm-ppc64/irq.h # 2004/05/25 00:31:51-07:00 paulus@samba.org +21 -1 # IRQ stacks for PPC64 # # include/asm-ppc64/bitops.h # 2004/05/25 00:31:51-07:00 paulus@samba.org +14 -0 # IRQ stacks for PPC64 # # arch/ppc64/kernel/setup.c # 2004/05/25 00:51:56-07:00 paulus@samba.org +19 -0 # IRQ stacks for PPC64 # # arch/ppc64/kernel/process.c # 2004/05/25 01:10:19-07:00 paulus@samba.org +12 -0 # IRQ stacks for PPC64 # # arch/ppc64/kernel/misc.S # 2004/05/25 00:31:51-07:00 paulus@samba.org +24 -0 # IRQ stacks for PPC64 # # arch/ppc64/kernel/irq.c # 2004/05/25 00:49:37-07:00 paulus@samba.org +69 -4 # IRQ stacks for PPC64 # # arch/ppc64/Kconfig # 2004/05/25 00:31:51-07:00 paulus@samba.org +7 -0 # IRQ stacks for PPC64 # # ChangeSet # 2004/05/25 10:06:18-07:00 mingo@elte.hu # [PATCH] x86-bigsmp: use fixed interrupt delivery # # This patch, from Venkatesh Pallipadi, changes x86 IO-APICs to use fixed # interrupt delivery instead of lowest priority to support larger number # of CPUs. Only bigsmp is affected by this cleanup. # # From: Venkatesh Pallipadi # Signed-off-by: Ingo Molnar # # include/asm-i386/mach-bigsmp/mach_apic.h # 2004/05/24 17:00:00-07:00 mingo@elte.hu +11 -25 # x86-bigsmp: use fixed interrupt delivery # # include/asm-i386/hw_irq.h # 2004/05/24 17:00:00-07:00 mingo@elte.hu +1 -1 # x86-bigsmp: use fixed interrupt delivery # # arch/i386/kernel/smpboot.c # 2004/05/24 17:00:00-07:00 mingo@elte.hu +1 -2 # x86-bigsmp: use fixed interrupt delivery # # arch/i386/kernel/io_apic.c # 2004/05/24 17:00:00-07:00 mingo@elte.hu +2 -2 # x86-bigsmp: use fixed interrupt delivery # # ChangeSet # 2004/05/25 08:45:46-07:00 akpm@osdl.org # [PATCH] missing compat ioctl mapping for DM_REMOVE_ALL # # Signed-off-by: Marcus Meissner # # Added missing DM_REMOVE_ALL call. # # include/linux/compat_ioctl.h # 2004/05/25 03:39:34-07:00 akpm@osdl.org +1 -0 # missing compat ioctl mapping for DM_REMOVE_ALL # # ChangeSet # 2004/05/25 08:45:35-07:00 akpm@osdl.org # [PATCH] sched_yield() microoptimisation # # Signed-off-by: Ingo Molnar # # We can avoid the local_irq_enable() in sched_yield() because schedule() # unconditionally enables interrupts anyway. # # kernel/sched.c # 2004/05/25 02:53:10-07:00 akpm@osdl.org +1 -2 # sched_yield() microoptimisation # # ChangeSet # 2004/05/25 08:45:24-07:00 akpm@osdl.org # [PATCH] sched.h comment typo fix # # Signed-off-by: Christian Meder # Signed-off-by: Ingo Molnar # # sched.h typo fix from Christian Meder. # # include/linux/sched.h # 2004/05/25 02:53:10-07:00 akpm@osdl.org +1 -1 # sched.h comment typo fix # # ChangeSet # 2004/05/25 08:45:13-07:00 akpm@osdl.org # [PATCH] Subject: Re: Help understanding slow down # # Signed-off-by: Ingo Molnar # # Add a warning that "idle=poll" is a performance hit on hyperthreaded CPUs. # # arch/i386/kernel/process.c # 2004/05/25 02:53:10-07:00 akpm@osdl.org +4 -0 # Subject: Re: Help understanding slow down # # ChangeSet # 2004/05/25 08:45:03-07:00 akpm@osdl.org # [PATCH] No interpretation of HD spindown timeout in laptop mode ACPI binding script. # # From: Bart Samwel # # Currently the ACPI binding script in the Laptop Mode doc always says "20 # seconds" and "2 hours" for the timeouts it uses. This is incorrect if the # user changed the config values, so we print something more general. # # Documentation/laptop-mode.txt # 2004/05/25 02:53:09-07:00 akpm@osdl.org +2 -2 # No interpretation of HD spindown timeout in laptop mode ACPI binding script. # # ChangeSet # 2004/05/25 08:44:52-07:00 akpm@osdl.org # [PATCH] rmap build fix # # From: William Lee Irwin III # # PMD_SIZE is not a compile-time constant on sparc. Use min() in there so # that the cluster size will be evaluated at runtime if the architecture # insists on doing that. # # mm/rmap.c # 2004/05/25 02:53:09-07:00 akpm@osdl.org +1 -5 # rmap build fix # # ChangeSet # 2004/05/25 08:44:41-07:00 akpm@osdl.org # [PATCH] ir-kbd-gpio.c build fix # # It's initialising slot 24 in two places. Gerd Knorr says # "This one should be 23.". # # drivers/media/video/ir-kbd-gpio.c # 2004/05/25 02:53:09-07:00 akpm@osdl.org +1 -1 # ir-kbd-gpio.c build fix # # ChangeSet # 2004/05/25 08:44:29-07:00 akpm@osdl.org # [PATCH] Revert bogus x86-64 change # # From: Andi Kleen # # The 32bit generic nops added with a previous patch to x86-64 alternative() # are not completely 64bit clean. This caused crashes in some cases. This # patch reverts this broken change. # # include/asm-x86_64/processor.h # 2004/05/25 02:53:09-07:00 akpm@osdl.org +0 -20 # Revert bogus x86-64 change # # ChangeSet # 2004/05/25 08:44:14-07:00 akpm@osdl.org # [PATCH] isapnp sb16 virtual pc # # From: David Sanders # # Patch adds support for the emulated Soundblaster 16 in Virtual PC 2004. # # sound/oss/sb_card.h # 2004/05/25 02:53:09-07:00 akpm@osdl.org +2 -0 # isapnp sb16 virtual pc # # sound/oss/sb_card.c # 2004/05/25 02:53:09-07:00 akpm@osdl.org +7 -0 # isapnp sb16 virtual pc # # sound/isa/sb/sb16.c # 2004/05/25 02:53:09-07:00 akpm@osdl.org +2 -0 # isapnp sb16 virtual pc # # ChangeSet # 2004/05/25 08:44:01-07:00 akpm@osdl.org # [PATCH] ext2: fix build with DEBUG=y # # From: FabF # # fs/ext2/ialloc.c # 2004/05/25 02:53:09-07:00 akpm@osdl.org +2 -2 # ext2: fix build with DEBUG=y # # ChangeSet # 2004/05/25 08:43:49-07:00 akpm@osdl.org # [PATCH] minor sched.c cleanup # # Signed-off-by: Christian Meder # Signed-off-by: Ingo Molnar # # The following obviously correct patch from Christian Meder simplifies the # DELTA() define. # # kernel/sched.c # 2004/05/25 02:58:45-07:00 akpm@osdl.org +1 -2 # minor sched.c cleanup # # ChangeSet # 2004/05/25 08:43:39-07:00 akpm@osdl.org # [PATCH] Really enable NUMA API on x86-64 # # From: Andi Kleen # # Really enable the NUMA API system calls on x86-64. # # include/asm-x86_64/unistd.h # 2004/05/25 02:53:08-07:00 akpm@osdl.org +3 -3 # Really enable NUMA API on x86-64 # # ChangeSet # 2004/05/25 08:43:28-07:00 akpm@osdl.org # [PATCH] remap_file_pages: fix syscall declaration # # Signed-off-by: Hugh Dickins # # sys_remap_file_pages is declared as asmlinkage in mm/fremap.c, but is the one # syscall declared without asmlinkage in include/linux/syscalls.h. # # include/linux/syscalls.h # 2004/05/25 02:53:08-07:00 akpm@osdl.org +1 -1 # remap_file_pages: fix syscall declaration # # ChangeSet # 2004/05/25 08:43:17-07:00 akpm@osdl.org # [PATCH] remap_file_pages: implement MAP_POPULATE for all protections # # Signed-off-by: Hugh Dickins # # It seems eccentric to implement MAP_POPULATE only on PROT_NONE mappings: # do_mmap_pgoff is passing down prot, then sys_remap_file_pages verifies it's # not set. I guess that's an oversight from when we realized that the prot arg # to sys_remap_file_pages was misdesigned. # # There's another oddity whose heritage is harder for me to understand, so # please let me leave it to you: sys_remap_file_pages is declared as asmlinkage # in mm/fremap.c, but is the one syscall declared without asmlinkage in # include/linux/syscalls.h. # # mm/mmap.c # 2004/05/25 02:53:08-07:00 akpm@osdl.org +1 -1 # remap_file_pages: implement MAP_POPULATE for all protections # # ChangeSet # 2004/05/25 08:43:06-07:00 akpm@osdl.org # [PATCH] Fix for lockup in reiserfs acl/xattrs # # From: Jeff Mahoney # # The following is a patch to fix a locking problem in ACL/xattr code. It # manifests when a user attempts to set an xattr on a file which they do # not own, and on which an ACL is applied. # # What happens is this: # reiserfs_setxattr [write lock inode xattr sem] # ->xattr_set # -> lookup # -> __reiserfs_permission [if conditions above are met, and need_lock= # is # unset, read lock inode xattr sem] *lockup* # # Since we already keep track of when to lock during permission calls, the # fix is simple: just make the locking conditional as it was before. # # Credits to Andreas Gruenbacher # # fs/reiserfs/xattr.c # 2004/05/25 02:53:08-07:00 akpm@osdl.org +6 -4 # Fix for lockup in reiserfs acl/xattrs # # ChangeSet # 2004/05/25 08:42:56-07:00 akpm@osdl.org # [PATCH] UDF: directory reading fix # # From: Ben Fennema # # The problem occured when files were stored on the disc in 16-bit per # character mode when all the upper bits were 0. The fs module # converted the file name given by the user to a 8-bit per character # string to compare, so the comparison always failed. # # The patch maps the file from disc into the current locale and then # compares it directly to the file name given by the user. # # fs/udf/namei.c # 2004/05/25 02:53:08-07:00 akpm@osdl.org +11 -9 # UDF: directory reading fix # # ChangeSet # 2004/05/25 08:42:45-07:00 akpm@osdl.org # [PATCH] bk-kernel-howto reversion # # From: Rusty Russell # # This one snuck through - Jeff prefers the bk:// addresses. # # Documentation/BK-usage/gcapatch # 2004/05/25 02:53:08-07:00 akpm@osdl.org +1 -1 # bk-kernel-howto reversion # # Documentation/BK-usage/bk-kernel-howto.txt # 2004/05/25 02:53:08-07:00 akpm@osdl.org +1 -1 # bk-kernel-howto reversion # # ChangeSet # 2004/05/25 08:42:34-07:00 akpm@osdl.org # [PATCH] CREDITS is unmaintained # # From: Adrian Bunk # # This information seems to be quite outdated. # # MAINTAINERS # 2004/05/25 02:53:08-07:00 akpm@osdl.org +0 -5 # CREDITS is unmaintained # # ChangeSet # 2004/05/25 08:42:23-07:00 akpm@osdl.org # [PATCH] H8/300 ne driver module fix # # From: Yoshinori Sato # # - module support fix # # drivers/net/ne-h8300.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +22 -13 # H8/300 ne driver module fix # # drivers/net/Kconfig # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # H8/300 ne driver module fix # # drivers/net/8390.h # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # H8/300 ne driver module fix # # ChangeSet # 2004/05/25 08:42:12-07:00 akpm@osdl.org # [PATCH] H8/300 module fix # # From: Yoshinori Sato # # - fix relocation # - define SYMBOL_PREFIX # # scripts/mk_elfconfig.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # H8/300 module fix # # include/asm-h8300/module.h # 2004/05/25 02:53:07-07:00 akpm@osdl.org +2 -0 # H8/300 module fix # # arch/h8300/kernel/module.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +5 -5 # H8/300 module fix # # arch/h8300/kernel/h8300_ksyms.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +2 -0 # H8/300 module fix # # ChangeSet # 2004/05/25 08:42:00-07:00 akpm@osdl.org # [PATCH] Fix various memory leaks # # From: Yury Umanets # # Thanks to smatch I have found few memory leaks and other related issues. # # net/irda/ircomm/ircomm_tty.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +5 -1 # Fix various memory leaks # # drivers/video/aty/atyfb_base.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +24 -13 # Fix various memory leaks # # drivers/usb/misc/emi62.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +2 -0 # Fix various memory leaks # # drivers/usb/misc/emi26.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # Fix various memory leaks # # drivers/usb/input/hiddev.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # Fix various memory leaks # # ChangeSet # 2004/05/25 08:41:49-07:00 akpm@osdl.org # [PATCH] v4l: use saa7111 i2c module in V4L MXB driver # # From: Michael Hunold # # The attached patch changes my "Multimedia eXtension Board" (MXB) # Video4Linux-driver to use the standard saa7111 video decoder infrastructure # (to which I recently submitted changes through Ronald Bultje) instead of # some home-brewn direct-access stuff. # # Nothing serious, but it removes code duplication and makes the code use the # video decoder api. # # drivers/media/video/mxb.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +69 -134 # v4l: use saa7111 i2c module in V4L MXB driver # # ChangeSet # 2004/05/25 08:41:40-07:00 akpm@osdl.org # [PATCH] initramfs uncpio fix # # From: # # init/initramfs.c::do_skip() has an off-by-one that leads to unpacking # failures for some gzipped cpio images. We have # # static int __init do_skip(void) # { # if (this_header + count <= next_header) { # eat(count); # return 1; # } else { # eat(next_header - this_header); # state = next_state; # return 0; # } # } # # and that <= should actually be <. It almost never matters, since if we hit # the boundary case (header ending exactly on the gunzip window end) the # current variant will simply end up doing extra call of do_skip() when we # get to the next window and that will finish the work (assign state). The # only exception is when we hit that in the last window. That is, if there's # nothing after the final header (trailer). Then we miss the final state # transition (Skip -> Reset) and get "junk in archive" panic. Normally # cpio(1) pads the image to multiple of 512, so we actually have a bunch of # zeroes after the trailer. And that almost always saves our butts - trailer # is followed by zeroes, so we get to Reset state just fine. # # So we never see that on small in-kernel image (it's less than 512 bytes, so # it gets a lot of padding) and we almost never see that on external ones # (1:127 odds of hitting the bug). # # init/initramfs.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # initramfs uncpio fix # # ChangeSet # 2004/05/25 08:41:29-07:00 akpm@osdl.org # [PATCH] FAT: small fixes # # From: OGAWA Hirofumi # # - use fat_fs_panic() instead of BUG() if it read a corrupted inode. # # - add missing "\n". # # fs/fat/inode.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # FAT: small fixes # # fs/fat/file.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +2 -1 # FAT: small fixes # # ChangeSet # 2004/05/25 08:41:18-07:00 akpm@osdl.org # [PATCH] swsusp: fix swsusp with intel-agp # # From: Pavel Machek # # swsusp contained rather nasty bug where it killed machine when intel-agp or # anything else split kernel 4MB mapping. Herbert Xu diagnosed this. Fixed by # switching to "known good" mapping for during suspend/resume. # # arch/i386/power/swsusp.S # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # swsusp: fix swsusp with intel-agp # # arch/i386/power/pmdisk.S # 2004/05/25 02:53:07-07:00 akpm@osdl.org +1 -1 # swsusp: fix swsusp with intel-agp # # arch/i386/mm/init.c # 2004/05/25 02:53:07-07:00 akpm@osdl.org +21 -0 # swsusp: fix swsusp with intel-agp # # ChangeSet # 2004/05/25 08:41:07-07:00 akpm@osdl.org # [PATCH] Don't use "cut" in laptop mode control script -- it is in /usr. # # From: Bart Samwel # # We don't want to use "cut" in the laptop mode control script, because that # is in /usr. This patch is from Jasper Spaans. # # Documentation/laptop-mode.txt # 2004/05/25 02:58:45-07:00 akpm@osdl.org +7 -1 # Don't use "cut" in laptop mode control script -- it is in /usr. # # ChangeSet # 2004/05/25 08:40:54-07:00 akpm@osdl.org # [PATCH] matroxfb: Add support for mapping CRTC<->outputs at boot time # # Signed-off-by: Petr Vandrovec # # Some people expressed interest in having possibility to set CRTC <-> # outputs mapping at boot time, without having to use 'matroxset' later after # kernel boots. # # This patch adds option 'video=matroxfb:outputs:XYZ', where X sets which # CRTC will connect to primary output, Y sets secondary output and Z sets DVI # output. # # In addition to that I also added missing memset() into maven, which was # broken since i2c was kobjectified. # # drivers/video/matrox/matroxfb_maven.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +2 -1 # matroxfb: Add support for mapping CRTC<->outputs at boot time # # drivers/video/matrox/matroxfb_g450.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +2 -2 # matroxfb: Add support for mapping CRTC<->outputs at boot time # # drivers/video/matrox/matroxfb_crtc2.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +0 -9 # matroxfb: Add support for mapping CRTC<->outputs at boot time # # drivers/video/matrox/matroxfb_base.h # 2004/05/25 02:53:06-07:00 akpm@osdl.org +1 -0 # matroxfb: Add support for mapping CRTC<->outputs at boot time # # drivers/video/matrox/matroxfb_base.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +54 -8 # matroxfb: Add support for mapping CRTC<->outputs at boot time # # drivers/video/matrox/matroxfb_Ti3026.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +1 -1 # matroxfb: Add support for mapping CRTC<->outputs at boot time # # drivers/video/matrox/matroxfb_DAC1064.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +2 -2 # matroxfb: Add support for mapping CRTC<->outputs at boot time # # ChangeSet # 2004/05/25 08:40:43-07:00 akpm@osdl.org # [PATCH] ext3: remove duplicated ext3_std_error() call # # From: Andi Kleen # # When start_transaction() detects an error it already calls ext3_std_error. # No need to do it again in the caller. # # fs/ext3/inode.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +0 -2 # ext3: remove duplicated ext3_std_error() call # # ChangeSet # 2004/05/25 08:40:34-07:00 akpm@osdl.org # [PATCH] make i386 dma-mapping.h includeable standalone # # From: Christoph Hellwig # # From: Debian kernel package, author probably Herbert Xu # # Include asm/io.h and asm/scatterlist.h in include/asm-i386/dma-mapping.h to # make it useable standalone, which is already true for most architectures. # # include/asm-i386/dma-mapping.h # 2004/05/25 02:53:06-07:00 akpm@osdl.org +2 -0 # make i386 dma-mapping.h includeable standalone # # ChangeSet # 2004/05/25 08:40:22-07:00 akpm@osdl.org # [PATCH] befs: typo fix # # From: "Sergey S. Kostyliov" # # Fix a typo in an error message. # # fs/befs/linuxvfs.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +1 -1 # befs: typo fix # # ChangeSet # 2004/05/25 08:40:12-07:00 akpm@osdl.org # [PATCH] include linux/selection.h for color_table in drivers/video/tgafb.c # # From: Christoph Hellwig # # From: Debian kernel package, author probably Herbert Xu # # drivers/video/tgafb.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +1 -0 # include linux/selection.h for color_table in drivers/video/tgafb.c # # ChangeSet # 2004/05/25 08:40:01-07:00 akpm@osdl.org # [PATCH] include linux/root_dev.h for ROOT_DEV in drivers/mtd/maps/uclinux.c # # From: Christoph Hellwig # # * Include linux/root_dev.h for ROOT_DEV in drivers/mtd/maps/uclinux.c # # drivers/mtd/maps/uclinux.c # 2004/05/25 02:53:06-07:00 akpm@osdl.org +1 -0 # include linux/root_dev.h for ROOT_DEV in drivers/mtd/maps/uclinux.c # # ChangeSet # 2004/05/25 08:39:49-07:00 akpm@osdl.org # [PATCH] missing init.h in drivers/mtd/chips/sharp.c # # From: Christoph Hellwig # # again needed by most non-x86 arches. # # * Include linux/init.h for __init # # drivers/mtd/chips/sharp.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +1 -0 # missing init.h in drivers/mtd/chips/sharp.c # # ChangeSet # 2004/05/25 08:39:38-07:00 akpm@osdl.org # [PATCH] add one more neomagic audio device id # # From: Christoph Hellwig # # From: Mattia Monga via Debian kernel package # # Add support for nm256xl+ in sound/oss/nm256_audio.c # # sound/pci/nm256/nm256.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +7 -0 # add one more neomagic audio device id # # sound/oss/nm256_audio.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +5 -0 # add one more neomagic audio device id # # ChangeSet # 2004/05/25 08:39:28-07:00 akpm@osdl.org # [PATCH] remove a dead variable from isofs # # From: Christoph Hellwig # # From: Debian kernel package, author is probably Herbert Xu # # * Do not get seqno since we will not use it in fs/isofs/inode.c # # fs/isofs/inode.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +1 -4 # remove a dead variable from isofs # # ChangeSet # 2004/05/25 08:39:18-07:00 akpm@osdl.org # [PATCH] fix a bash-ism in toplevel Makefile # # From: Christoph Hellwig # # From: Debian kernel package, author probably Herbert Xu. # # * Fixed bashism in Makefile # # Makefile # 2004/05/25 02:53:05-07:00 akpm@osdl.org +1 -1 # fix a bash-ism in toplevel Makefile # # ChangeSet # 2004/05/25 08:39:07-07:00 akpm@osdl.org # [PATCH] befs: nls fix # # From: "Sergey S. Kostyliov" # # Fix nls support for character sets with character width large than 1. # # fs/befs/linuxvfs.c # 2004/05/25 02:58:49-07:00 akpm@osdl.org +1 -1 # befs: nls fix # # ChangeSet # 2004/05/25 08:38:57-07:00 akpm@osdl.org # [PATCH] hfsplus: update dir time after change # # From: Roman Zippel # # Update dir ctime/mtime when adding/removing an entry. # # fs/hfsplus/catalog.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +4 -0 # hfsplus: update dir time after change # # fs/hfs/catalog.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +4 -0 # hfsplus: update dir time after change # # ChangeSet # 2004/05/25 08:38:46-07:00 akpm@osdl.org # [PATCH] hfsplus: don't release not existing nodes # # From: Roman Zippel # # When releasing a page don't try to release not existing nodes. # # fs/hfsplus/inode.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +1 -1 # hfsplus: don't release not existing nodes # # fs/hfs/inode.c # 2004/05/25 02:53:05-07:00 akpm@osdl.org +1 -1 # hfsplus: don't release not existing nodes # # ChangeSet # 2004/05/25 08:38:35-07:00 akpm@osdl.org # [PATCH] hfsplus: completely remove half inserted catalog entry # # From: Roman Zippel # # If the inserting of the file or dir record failed, remove the previously # inserted thread record. # # fs/hfsplus/catalog.c # 2004/05/25 02:58:51-07:00 akpm@osdl.org +15 -8 # hfsplus: completely remove half inserted catalog entry # # fs/hfs/catalog.c # 2004/05/25 02:58:51-07:00 akpm@osdl.org +15 -8 # hfsplus: completely remove half inserted catalog entry # # ChangeSet # 2004/05/25 08:38:25-07:00 akpm@osdl.org # [PATCH] hfsplus: delete inode properly # # From: Roman Zippel # # Call hfsplus_delete_inode() to delete an inode when adding it to the # filesystem failed, so superblock info is correctly updated. # # fs/hfsplus/dir.c # 2004/05/25 02:53:04-07:00 akpm@osdl.org +5 -1 # hfsplus: delete inode properly # # ChangeSet # 2004/05/25 08:38:14-07:00 akpm@osdl.org # [PATCH] hfsplus: correct dentry initialization for dir dentries. # # From: Roman Zippel # # Initialize d_fsdata field also for dir dentries, use hfsplus_instantiate # helper function for this. # # fs/hfsplus/dir.c # 2004/05/25 02:58:51-07:00 akpm@osdl.org +13 -9 # hfsplus: correct dentry initialization for dir dentries. # # ChangeSet # 2004/05/25 08:38:04-07:00 akpm@osdl.org # [PATCH] hfsplus: fix key length for index nodes # # From: Roman Zippel # # Use the correct key length for index nodes. # # fs/hfsplus/brec.c # 2004/05/25 02:53:04-07:00 akpm@osdl.org +2 -2 # hfsplus: fix key length for index nodes # # ChangeSet # 2004/05/25 08:37:53-07:00 akpm@osdl.org # [PATCH] Decrease srtuct file size by 8 # # From: Kurt Garloff # # Attached patch decreases the size of struct file by 8 bytes on 64 bit arches # by avoiding unecessary padding. # # include/linux/fs.h # 2004/05/25 02:53:04-07:00 akpm@osdl.org +2 -2 # Decrease srtuct file size by 8 # # ChangeSet # 2004/05/25 08:37:44-07:00 akpm@osdl.org # [PATCH] remove stale comments above struct page # # From: Christoph Hellwig # # struct page easily fits into a single cacheline with any recent CPU, and the # ordering isn't as described anymore anyway. # # include/linux/mm.h # 2004/05/25 02:53:04-07:00 akpm@osdl.org +0 -7 # remove stale comments above struct page # # ChangeSet # 2004/05/25 08:37:33-07:00 akpm@osdl.org # [PATCH] don't export vma_prio_tree_next # # From: Christoph Hellwig # # there's no user is modules, the function isn't in mainline and I don't see why # modules should use it. # # mm/prio_tree.c # 2004/05/25 02:53:04-07:00 akpm@osdl.org +0 -1 # don't export vma_prio_tree_next # # ChangeSet # 2004/05/25 08:37:14-07:00 akpm@osdl.org # [PATCH] Fix race condition with current->group_info # # From: Olaf Kirch # # I have been chasing a corruption of current->group_info on PPC during NFS # stress tests. The problem seems to be that nfsd is messing with its # group_info quite a bit, while some monitoring processes look at # /proc//status and do a get_group_info/put_group_info without any locking. # # This problem can be reproduced on ppc platforms within a few seconds if you # generate some NFS load and do a "cat /proc/XXX/status" of an nfsd thread in a # tight loop. # # I therefore think changes to current->group_info, and querying it from a # different process, needs to be protected using the task_lock. # # (akpm: task->group_info here is safe against exit() because the task holds a # ref on group_info which is released in __put_task_struct, and the /proc file # has a ref on the task_struct). # # kernel/sys.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +5 -0 # Fix race condition with current->group_info # # fs/proc/array.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +7 -4 # Fix race condition with current->group_info # # ChangeSet # 2004/05/25 08:36:57-07:00 akpm@osdl.org # [PATCH] ep_send_events() stack reduction # # ep_send_events() uses ~350 bytes of stack for a local buffer of events to send # to userspace. The patch fixes that by removing the double-buffering # altogether. A pipe-based microbenchmark from Davide Libenzi # was sped up by 1-2%. # # fs/eventpoll.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +8 -28 # ep_send_events() stack reduction # # ChangeSet # 2004/05/25 08:36:46-07:00 akpm@osdl.org # [PATCH] Fix the mangled-oops-output-on-SMP problem # # From: Ingo Molnar # # printk currently does # # if (oops_in_progres) # bust_printk_locks(); # # which means that once we oops, the printk locking is 100% ineffective and # multiple CPUs make an unreadable mess on a serial console. It's a significant # development hassle. # # Fix that up by only popping locks once per ten seconds. # # akpm@osdl.org did: # # - Bump the timeout to 30 seconds - 9600 baud is slow. # # - Handle jiffy wraps: change the logic so that we only skip the lockbust # if the current time is within 30 seconds of the previous lockbusting # attempt. # # kernel/printk.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +23 -6 # Fix the mangled-oops-output-on-SMP problem # # ChangeSet # 2004/05/25 08:36:31-07:00 akpm@osdl.org # [PATCH] Prevent scary warnings from knfsd # # From: "J. Bruce Fields" # # The kernel currently prints: # # nfsd: nobody listening for auth.unix.ip upcall; has some daemon not been started? # # on every bootup, during initscripts. # # Neil Brown says: # # It was part of the recent set of idmapper patches. Bruce wanted the admin # to get a warning when the idmapper daemon wasn't running. I thought the # same warning should apply to any daemon that responded to upcalls. # # In the case of auth.unix.ip it isn't strictly necessary for a daemon to be # running (for comparability with 2.4). # # You can get rid of the warning by doing: # # mount -t nfsd nfsd /proc/fs/nfs # # before mountd is started (init scripts should start doing this I hope, but # distributions don't tend to use the init script from nfs-utils, so it is # hard to push it). This will trigger mountd to listen on auth.unix.ip and # others. # # # That's a hassle, so Bruce's patch limits the warning purely to the new # idmapper cache. It provides a callback in the cache_detail that individual # caches can use to log messages when upcalls fail because a userspace daemon # not running. Implement this method for the idmapping caches. # # net/sunrpc/cache.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +2 -3 # Prevent scary warnings from knfsd # # include/linux/sunrpc/cache.h # 2004/05/25 02:53:03-07:00 akpm@osdl.org +1 -0 # Prevent scary warnings from knfsd # # fs/nfsd/nfs4idmap.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +10 -0 # Prevent scary warnings from knfsd # # ChangeSet # 2004/05/25 08:36:18-07:00 akpm@osdl.org # [PATCH] Fix userspace include of linux/fs.h # # From: Mans Rullgard # # There are a few include which should have been under __KERNEL__. # # include/linux/fs.h # 2004/05/25 02:58:52-07:00 akpm@osdl.org +3 -3 # Fix userspace include of linux/fs.h # # ChangeSet # 2004/05/25 08:36:02-07:00 akpm@osdl.org # [PATCH] use SLAB_PANIC in ll_rw_blk.c # # drivers/block/ll_rw_blk.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +3 -9 # use SLAB_PANIC in ll_rw_blk.c # # ChangeSet # 2004/05/25 08:35:48-07:00 akpm@osdl.org # [PATCH] ppc64: avoid bogus real IRQ numbers # # Signed-off-by: Paul Mackerras # # Early in the boot process on pSeries machines, we look in the Open Firmware # device tree for information about the interrupt assignments, and assign # virtual IRQ numbers for each physical IRQ. There is currently a couple of # bugs in this code which result in us assigning virtual IRQs for nonexistent # physical IRQs. This causes problems when we call the firmware to enable or # disable those nonexistent physical IRQs. Some versions at least of the # firmware will hit an assertion failure and crash the machine when this # happens. # # This patch fixes the bugs and ensures that we don't try and use nonexistent # physical IRQ numbers. One bug was that we were mapping ISA interrupts, # which is unnecessary since virtual IRQ numbers 0 - 15 are reserved for # them. The other was that when we had a PCI interrupt (which is always in # the range 1 to 4, corresponding to INTA to INTD) which didn't have a # mapping in the PCI host bridge above it, we were just using the original # number (usually 1) rather than ignoring it. # # arch/ppc64/kernel/prom.c # 2004/05/25 02:53:03-07:00 akpm@osdl.org +24 -15 # ppc64: avoid bogus real IRQ numbers # # ChangeSet # 2004/05/25 08:35:31-07:00 akpm@osdl.org # [PATCH] ppc64: bump IOMMU_MAX_ORDER # # Signed-off-by: Anton Blanchard # # We have cards that want over 2MB of PCI consistent memory. The # IOMAP_MAX_ORDER limit is just to catch bad drivers early, so we can bump # this a bit. # # We want some room to grow but our maximum get_free_pages allocation on # ppc64 is currently 16MB, so it doesnt make sense to go above that. # # include/asm-ppc64/iommu.h # 2004/05/25 02:53:02-07:00 akpm@osdl.org +3 -3 # ppc64: bump IOMMU_MAX_ORDER # # ChangeSet # 2004/05/25 08:35:13-07:00 akpm@osdl.org # [PATCH] ppc64: small enter_rtas fix # # From: Anton Blanchard # # enter_rtas now takes an unsigned long. # # arch/ppc64/xmon/xmon.c # 2004/05/25 02:53:02-07:00 akpm@osdl.org +1 -1 # ppc64: small enter_rtas fix # # ChangeSet # 2004/05/25 08:34:57-07:00 akpm@osdl.org # [PATCH] dynamic addition of virtual disks on PPC64 iSeries # # From: Stephen Rothwell # # This patch allows us to dynamically add virtual disks to an iSeries partition. # It works like this: after you have created the virtual disk file on OS/400 # and attached it to the Linux partition, you need to write to # /sys/bus/vio/drivers/viodasd/probe (it doesn't matter what you write). This # will do the probe. It calls add_disk() for each new disk, so we get hotplug # events as a side effect. # # This was the nicest way I could think of doing this as the interface to the # hypervisor is polled ... # # drivers/block/viodasd.c # 2004/05/25 02:53:02-07:00 akpm@osdl.org +37 -7 # dynamic addition of virtual disks on PPC64 iSeries # # ChangeSet # 2004/05/25 08:34:44-07:00 akpm@osdl.org # [PATCH] ppc64: fix to viopath.c # # From: Anton Blanchard # # From: Olaf Hering and Nathan Lynch: # # Fix a couple of nasty lurking bugs in viopath.c and add information # required to know if the iseries_veth module should be loaded on legacy # iSeries systems. # # arch/ppc64/kernel/viopath.c # 2004/05/25 02:53:02-07:00 akpm@osdl.org +14 -3 # ppc64: fix to viopath.c # # ChangeSet # 2004/05/25 08:34:35-07:00 akpm@osdl.org # [PATCH] ppc64: NUMA fixes # # From: Anton Blanchard # # From: Anton Blanchard, Dave Hansen and Olof Johansson: # # Fix multiple bugs in the ppc64 NUMA topology probe code. # # - We were using HW cpu numbers instead of logical ones. 615, 630, 650, # some 670 and some 690 SMP will all fail to boot without this patch. # # - The old code would BUG() when it got confused (more NUMA zones than the # kernel is configured for etc). # # - The common depth calculation was incorrect. Dave found an OF property # that gives us exactly what we want. # # - Things were broken on SMT machines. # # The new code should work on those broken systems and should no longer BUG() # but fall back to a flat topology when it gets confused. # # include/asm-ppc64/mmzone.h # 2004/05/25 02:53:02-07:00 akpm@osdl.org +0 -1 # ppc64: NUMA fixes # # arch/ppc64/mm/numa.c # 2004/05/25 02:53:02-07:00 akpm@osdl.org +172 -88 # ppc64: NUMA fixes # # ChangeSet # 2004/05/25 08:34:24-07:00 akpm@osdl.org # [PATCH] ppc64: fix inline spinlocks # # From: Anton Blanchard # # In _raw_spin_lock_flags we were branching to the wrong spot and would # restore random stuff to the MSR. # # include/asm-ppc64/spinlock.h # 2004/05/25 02:53:02-07:00 akpm@osdl.org +1 -1 # ppc64: fix inline spinlocks # # ChangeSet # 2004/05/25 08:05:12-07:00 davej@redhat.com # [PATCH] Make early_cpu_detect() set x86_cache_alignment on pre-cpuid CPU's too # # From: Zdenek Pavlas # # On any x86 without cpuid, early_cpu_detect() left x86_cache_alignment as # zero, so kmem_cache_init() calls cache_estimate() with align == 0, and # it loops forever. I've tried this trivial fix, and it works for me. # # Andi Kleen looked over this, and ok'd it. # # arch/i386/kernel/cpu/common.c # 2004/05/24 17:00:00-07:00 davej@redhat.com +2 -2 # Make early_cpu_detect() set x86_cache_alignment on pre-cpuid CPU's too # # ChangeSet # 2004/05/24 17:19:59-07:00 paulus@samba.org # [PATCH] ppc64: better stack traces # # This improves the stack traces we get on PPC64 by putting a marker in # those stack frames that are created as a result of an interrupt or # exception. The marker is "regshere" (0x7265677368657265). # # With this, stack traces show where exceptions have occurred, which can # be very useful. This also improves the accuracy of the trace because # the relevant return address can be in the link register at the time of # the exception rather than on the stack. We now print the PC and # exception type for each exception frame, and then the link register if # appropriate as the next item in the trace. # # arch/ppc64/xmon/xmon.c # 2004/05/24 15:35:48-07:00 paulus@samba.org +1 -8 # ppc64: better stack traces # # arch/ppc64/kernel/process.c # 2004/05/24 14:44:44-07:00 paulus@samba.org +41 -17 # ppc64: better stack traces # # arch/ppc64/kernel/head.S # 2004/05/24 14:42:19-07:00 paulus@samba.org +4 -0 # ppc64: better stack traces # # ChangeSet # 2004/05/24 23:14:52+01:00 rmk@flint.arm.linux.org.uk # [ARM] pxa2xx_udc needs asm/mach-types.h # # drivers/usb/gadget/pxa2xx_udc.c # 2004/05/24 23:12:51+01:00 rmk@flint.arm.linux.org.uk +1 -0 # pxa2xx_udc needs asm/mach-types.h # # ChangeSet # 2004/05/24 22:42:29+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix lubbock PCMCIA driver. # # - access SA1111 GPIO using sa1111_set_io functions. # - access Lubbock misc register using lubbock_set_misc_wr # - fix CF voltage selection. # - don't fiddle with PCMCIA voltage selection when selecting CF # voltage. # - wait for the voltage switches to stabilise before reading the # new card state. # # drivers/pcmcia/sa1111_generic.h # 2004/05/24 22:40:05+01:00 rmk@flint.arm.linux.org.uk +1 -1 # lubbock pcmcia takes sa1111_dev. # # drivers/pcmcia/sa1111_generic.c # 2004/05/24 22:40:04+01:00 rmk@flint.arm.linux.org.uk +1 -1 # lubbock pcmcia takes sa1111_dev. # # drivers/pcmcia/pxa2xx_lubbock.c # 2004/05/24 22:40:04+01:00 rmk@flint.arm.linux.org.uk +169 -154 # Fix lubbock PCMCIA driver. # - access SA1111 GPIO using sa1111_set_io functions # - access Lubbock misc register using lubbock_set_misc_wr # - fix CF voltage selection. # - don't fiddle with PCMCIA voltage selection when selecting CF # voltage. # - wait for the voltage switches to stabilise before reading the # new card state. # # ChangeSet # 2004/05/24 10:15:43-07:00 herbert@gondor.apana.org.au # [IPSEC]: Use add_timer in find_acq. # # net/ipv6/xfrm6_state.c # 2004/05/24 10:15:30-07:00 herbert@gondor.apana.org.au +2 -1 # [IPSEC]: Use add_timer in find_acq. # # net/ipv4/xfrm4_state.c # 2004/05/24 10:15:30-07:00 herbert@gondor.apana.org.au +2 -1 # [IPSEC]: Use add_timer in find_acq. # # ChangeSet # 2004/05/24 10:13:27-07:00 herbert@gondor.apana.org.au # [IPSEC]: Fix OOPS when deleting an ip address. # # Looks like I was too hasty in blaming myself :) Although my patch does # fix a real bug, it cannot have been responsible for the crash that the OP # reported. The reason is that the state timer always keeps a reference to # the state so even if it is incorrectly re-added the reference will prevent # the crash. # # Hence the problem is still a bug in the ref counting. I think I've found # the real culprit now. __xfrm?_find_acq() is missing an xfrm_state_hold # on the create path. This also explains why I never see it myself since # Openswan never creates states through that code-path. # # net/ipv6/xfrm6_state.c # 2004/05/24 10:13:13-07:00 herbert@gondor.apana.org.au +3 -3 # [IPSEC]: Fix OOPS when deleting an ip address. # # Looks like I was too hasty in blaming myself :) Although my patch does # fix a real bug, it cannot have been responsible for the crash that the OP # reported. The reason is that the state timer always keeps a reference to # the state so even if it is incorrectly re-added the reference will prevent # the crash. # # Hence the problem is still a bug in the ref counting. I think I've found # the real culprit now. __xfrm?_find_acq() is missing an xfrm_state_hold # on the create path. This also explains why I never see it myself since # Openswan never creates states through that code-path. # # net/ipv4/xfrm4_state.c # 2004/05/24 10:13:13-07:00 herbert@gondor.apana.org.au +3 -3 # [IPSEC]: Fix OOPS when deleting an ip address. # # Looks like I was too hasty in blaming myself :) Although my patch does # fix a real bug, it cannot have been responsible for the crash that the OP # reported. The reason is that the state timer always keeps a reference to # the state so even if it is incorrectly re-added the reference will prevent # the crash. # # Hence the problem is still a bug in the ref counting. I think I've found # the real culprit now. __xfrm?_find_acq() is missing an xfrm_state_hold # on the create path. This also explains why I never see it myself since # Openswan never creates states through that code-path. # # ChangeSet # 2004/05/24 17:29:49+01:00 rmk@flint.arm.linux.org.uk # [ARM] Don't reference __machine_arch_type directly. # # include/asm-arm/arch-ixp4xx/uncompress.h # 2004/05/24 17:27:46+01:00 rmk@flint.arm.linux.org.uk +1 -1 # uncompress.h references __machine_arch_type. Bad. Use # machine_is_adi_coyote() instead. # # ChangeSet # 2004/05/24 17:18:24+01:00 icampbell@com.rmk.(none) # [ARM PATCH] 1893/1: define __ARCH_WANT_SYS_PAUSE for ARM # # Patch from Ian Campbell # # The recent changeset "Sanitise handling of unneeded syscall stubs" missed # # __ARCH_WANT_SYS_PAUSE from include/asm-arm/unistd.h. # # # include/asm-arm/unistd.h # 2004/05/24 10:15:25+01:00 icampbell@com.rmk.(none) +1 -0 # [PATCH] 1893/1: define __ARCH_WANT_SYS_PAUSE for ARM # # ChangeSet # 2004/05/24 17:14:00+01:00 rmk@flint.arm.linux.org.uk # [ARM] Remove needless include of asm/mach-types.h # # include/asm-arm/arch-pxa/hardware.h # 2004/05/24 17:11:51+01:00 rmk@flint.arm.linux.org.uk +0 -3 # Remove needless include of asm/mach-types.h # # include/asm-arm/arch-omap/uncompress.h # 2004/05/24 17:11:51+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # include/asm-arm/arch-omap/hardware.h # 2004/05/24 17:11:50+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # include/asm-arm/arch-lh7a40x/hardware.h # 2004/05/24 17:11:50+01:00 rmk@flint.arm.linux.org.uk +0 -2 # Remove needless include of asm/mach-types.h # # arch/arm/mach-s3c2410/s3c2410.c # 2004/05/24 17:11:50+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # arch/arm/mach-omap/bus.c # 2004/05/24 17:11:50+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # arch/arm/mach-ixp4xx/common.c # 2004/05/24 17:11:50+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # arch/arm/mach-iop3xx/xs80200-irq.c # 2004/05/24 17:11:50+01:00 rmk@flint.arm.linux.org.uk +0 -2 # Remove needless include of asm/mach-types.h # # arch/arm/mach-iop3xx/mm.c # 2004/05/24 17:11:49+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # arch/arm/mach-iop3xx/mm-321.c # 2004/05/24 17:11:49+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # arch/arm/mach-iop3xx/iq80310-time.c # 2004/05/24 17:11:49+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # arch/arm/mach-iop3xx/iq80310-irq.c # 2004/05/24 17:11:48+01:00 rmk@flint.arm.linux.org.uk +0 -2 # Remove needless include of asm/mach-types.h # # arch/arm/mach-iop3xx/iop321-time.c # 2004/05/24 17:11:48+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # arch/arm/mach-iop3xx/iop310-irq.c # 2004/05/24 17:11:48+01:00 rmk@flint.arm.linux.org.uk +0 -2 # Remove needless include of asm/mach-types.h # # arch/arm/mach-adifcc/irq.c # 2004/05/24 17:11:48+01:00 rmk@flint.arm.linux.org.uk +0 -2 # Remove needless include of asm/mach-types.h # # arch/arm/kernel/arch.c # 2004/05/24 17:11:48+01:00 rmk@flint.arm.linux.org.uk +0 -1 # Remove needless include of asm/mach-types.h # # ChangeSet # 2004/05/24 08:20:03-07:00 James.Bottomley@SteelEye.com # [PATCH] pa-risc: kernel/fork.c broken by the new rmap # # Any architecture (like pa-risc) that makes use of the helper function # flush_dcache_mmap_lock() won't compile with the new rmap due to use of # the wrong "mapping". # # Trivial fix. # # kernel/fork.c # 2004/05/23 08:27:29-07:00 James.Bottomley@SteelEye.com +2 -2 # pa-risc: kernel/fork.c broken by the new rmap # # ChangeSet # 2004/05/24 08:16:24-07:00 torvalds@ppc970.osdl.org # Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6 # into ppc970.osdl.org:/home/torvalds/v2.6/linux # # drivers/scsi/sg.c # 2004/05/24 08:16:21-07:00 torvalds@ppc970.osdl.org +0 -0 # Auto merged # # drivers/scsi/dpt_i2o.c # 2004/05/24 08:16:20-07:00 torvalds@ppc970.osdl.org +0 -0 # Auto merged # # drivers/scsi/Kconfig # 2004/05/24 08:16:20-07:00 torvalds@ppc970.osdl.org +0 -0 # Auto merged # # ChangeSet # 2004/05/24 13:16:26+01:00 rmk@flint.arm.linux.org.uk # [ARM] Enable IRQs over context switches # # Disabling IRQs over context switches causes unreasonable IRQ latency # on VIVT cached machines, so provide our own prepare_arch_switch(), # finish_arch_switch() and task_running() implementations. We provide # an optimised UP version so we don't end up needlessly incrementing # and decrementing the preempt count. # # include/asm-arm/system.h # 2004/05/24 13:13:54+01:00 rmk@flint.arm.linux.org.uk +34 -8 # Enable IRQs over context switches such that we do not end up with high # IRQ latency. # # ChangeSet # 2004/05/24 12:17:09+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix sorting of machine class symbols. # # These are supposed to be ordered by option name. # # arch/arm/Kconfig # 2004/05/24 12:14:29+01:00 rmk@flint.arm.linux.org.uk +8 -8 # Sort machine class symbols by option name. # # ChangeSet # 2004/05/24 00:34:23+01:00 rmk@flint.arm.linux.org.uk # [ARM] Remove old static GPIO port definitions for SA1111. # # Using these old definitions on PXA will result in randomly # scribbling over memory. Remove them. # # include/asm-arm/hardware/sa1111.h # 2004/05/24 00:28:08+01:00 rmk@flint.arm.linux.org.uk +0 -16 # Remove old static GPIO port definitions. # # ChangeSet # 2004/05/23 16:19:28-07:00 vadim@cs.washington.edu # [NET]: Save some space with sysfs strings. # # net/core/net-sysfs.c # 2004/05/23 16:19:10-07:00 vadim@cs.washington.edu +3 -3 # [NET]: Save some space with sysfs strings. # # ChangeSet # 2004/05/23 16:13:00-07:00 davem@nuts.davemloft.net # Merge http://linux-mh.bkbits.net/bluetooth-2.6 # into nuts.davemloft.net:/disk1/BK/net-2.6 # # drivers/bluetooth/hci_ldisc.c # 2004/05/23 16:12:52-07:00 davem@nuts.davemloft.net +0 -0 # Auto merged # # ChangeSet # 2004/05/24 00:09:54+01:00 rmk@flint.arm.linux.org.uk # [ARM] PXAFB bug fixes # # - There are only 16 entries in the pseudo palette # - For dual-panel displays, we need to halve the display height # - When disabling the LCD controller, use LCCR0_DIS (aka slow disable) # rather than quick disable. # - Clean up compiler warnings. # # drivers/video/pxafb.c # 2004/05/24 00:07:57+01:00 rmk@flint.arm.linux.org.uk +20 -15 # Collection of bug fixes: # - There are only 16 entries in the pseudo palette # - For dual-panel displays, we need to halve the display height # - When disabling the LCD controller, use LCCR0_DIS (aka slow disable) # rather than quick disable. # - Clean up compiler warnings. # # ChangeSet # 2004/05/23 23:52:39+01:00 rmk@flint.arm.linux.org.uk # [ARM] Remove SA1111 PS/2 IRQ_HANDLED handling. # # Some SA1111 devices are unable to clear the PS/2 receive IRQ before # it has been serviced, so we always re-enter the handler one more # time than is strictly necessary. We can't clear the IRQ after # servicing because that causes race conditions with other SA1111 # devices, so we take the easy option and always return IRQ_HANDLED. # # drivers/input/serio/sa1111ps2.c # 2004/05/23 23:50:37+01:00 rmk@flint.arm.linux.org.uk +1 -4 # Remove IRQ_HANDLED handling. # # ChangeSet # 2004/05/23 23:41:39+01:00 rmk@flint.arm.linux.org.uk # [ARM] Update PXA serial driver. # # - Move CKEN manipulation into power management handling (so we don't # shut down the clock to the console port.) # - .iotype should be using UPIO_xxx not SERIAL_IO_xxx # - Remove each port when module is unloaded. # - Remove needless #include. # - Remove ASYNC_SKIP_TEST - we don't have any tests to skip. # # drivers/serial/pxa.c # 2004/05/23 23:39:21+01:00 rmk@flint.arm.linux.org.uk +11 -12 # Move CKEN manipulation into power management handling (so we don't # shut down the clock to the console port.) # .iotype should be using UPIO_xxx not SERIAL_IO_xxx # Remove each port when module is unloaded. # Remove needless #include. # Remove ASYNC_SKIP_TEST - we don't have any tests to skip. # # ChangeSet # 2004/05/23 23:29:13+01:00 rmk@flint.arm.linux.org.uk # [ARM] Add LCD display parameters for Lubbock board. # # arch/arm/mach-pxa/lubbock.c # 2004/05/23 23:27:13+01:00 rmk@flint.arm.linux.org.uk +22 -1 # Add Lubbock's LCD display parameters. # # ChangeSet # 2004/05/23 23:23:59+01:00 rmk@flint.arm.linux.org.uk # [ARM] Add lubbock_set_misc_wr() # # This provides an atomic method to update the Lubbock board specific # register from various drivers. # # include/asm-arm/arch-pxa/lubbock.h # 2004/05/23 23:21:57+01:00 rmk@flint.arm.linux.org.uk +3 -0 # Provide prototype for lubbock_set_misc_wr() # # arch/arm/mach-pxa/lubbock.c # 2004/05/23 23:21:57+01:00 rmk@flint.arm.linux.org.uk +11 -0 # Provide atomic method to update LUB_MISC_WR shared register. # # ChangeSet # 2004/05/23 22:06:28+01:00 rmk@flint.arm.linux.org.uk # [ARM] Provide coherent_dma_mask for PXA MCI device. # # arch/arm/mach-pxa/generic.c # 2004/05/23 22:03:28+01:00 rmk@flint.arm.linux.org.uk +1 -0 # Provide coherent_dma_mask for PXA MCI device. # # ChangeSet # 2004/05/23 21:56:17+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix oops in dma_unmap_single() # # Fix an oops caused by a missing failure return value for devices which # do not require DMA bouncing. # # arch/arm/common/dmabounce.c # 2004/05/23 21:53:40+01:00 rmk@flint.arm.linux.org.uk +1 -0 # Return NULL on failure to find device. # # ChangeSet # 2004/05/23 12:22:09-07:00 viro@parcelfarce.linux.theplanet.co.uk # [PATCH] ncpfs compat ioctls # # This takes ncpfs ioctl handling into fs/compat_ioctl.c, removing it from # ppc64 and sparc64 code. # # Code sanitized, switched to compat_alloc_user_space(), bunch of # {k,v}malloc() killed. # # fs/compat_ioctl.c # 2004/05/23 11:49:32-07:00 viro@parcelfarce.linux.theplanet.co.uk +193 -0 # ncpfs compat ioctls # # arch/sparc64/kernel/ioctl32.c # 2004/05/23 11:48:42-07:00 viro@parcelfarce.linux.theplanet.co.uk +0 -320 # ncpfs compat ioctls # # arch/ppc64/kernel/ioctl32.c # 2004/05/23 11:48:42-07:00 viro@parcelfarce.linux.theplanet.co.uk +0 -312 # ncpfs compat ioctls # # ChangeSet # 2004/05/23 11:44:28-05:00 brking@us.ibm.com # [PATCH] ipr driver version 2.0.7 # # Bump driver version # # drivers/scsi/ipr.h # 2004/05/21 19:55:12-05:00 brking@us.ibm.com +2 -2 # ipr driver version 2.0.7 # # ChangeSet # 2004/05/23 11:37:37-05:00 brking@us.ibm.com # [PATCH] ipr remove anonymous unions for gcc 2.95 # # This patch removes all usage of anonymous unions from the ipr # driver since gcc 2.95 does not support anonymous unions. # # drivers/scsi/ipr.h # 2004/05/22 17:05:26-05:00 brking@us.ibm.com +7 -7 # top### Change the comments to ChangeSet|1.1651 below # [PATCH] ipr remove anonymous unions for gcc 2.95 # # This patch removes all usage of anonymous unions from the ipr # driver since gcc 2.95 does not support anonymous unions. # # ipr remove anonymous unions for gcc 2.95 # # drivers/scsi/ipr.c # 2004/05/22 14:50:39-05:00 brking@us.ibm.com +51 -49 # ipr remove anonymous unions for gcc 2.95 # # ChangeSet # 2004/05/23 11:25:01-05:00 brking@us.ibm.com # [PATCH] ipr fix for ioa reset timeout oops # # This patch fixes an oops discovered in test which can occur # on bad hardware if the ipr adapter times out coming operational. # # drivers/scsi/ipr.c # 2004/05/22 17:17:47-05:00 brking@us.ibm.com +2 -0 # ipr fix for ioa reset timeout oops # # ChangeSet # 2004/05/23 11:22:07-05:00 brking@us.ibm.com # [PATCH] ipr add error logs to abort and reset paths # # This patch adds additional error logging to abort, device reset, # and bus reset paths to help in diagnosing scsi problems on ipr. # # drivers/scsi/ipr.h # 2004/05/22 14:49:07-05:00 brking@us.ibm.com +1 -0 # ipr add error logs to abort and reset paths # # drivers/scsi/ipr.c # 2004/05/22 14:49:38-05:00 brking@us.ibm.com +4 -0 # ipr add error logs to abort and reset paths # # ChangeSet # 2004/05/23 11:19:21-05:00 brking@us.ibm.com # [PATCH] ipr gcc attributes fixes # # This patch fixes an issue where ipr was including a kernel # data structure, list_head, in a packed structure, which causes # compile issues on some architectures, and is just a bad thing to do. # # drivers/scsi/ipr.h # 2004/05/22 19:10:04-05:00 brking@us.ibm.com +5 -5 # ipr gcc attributes fixes # # drivers/scsi/ipr.c # 2004/05/22 19:08:01-05:00 brking@us.ibm.com +29 -28 # ipr gcc attributes fixes # # ChangeSet # 2004/05/23 11:17:44-05:00 jejb@mulgrave.(none) # initial 2.6 fixup for ATP870U scsi # # From: Alan Cox # # Pretty minimal. queue_command is now called locked, this requires propogating # some small locking changes for send_s870 # # drivers/scsi/atp870u.c # 2004/05/23 11:17:20-05:00 jejb@mulgrave.(none) +23 -17 # initial 2.6 fixup for ATP870U scsi # # ChangeSet # 2004/05/23 13:43:34+02:00 marcel@holtmann.org # [Bluetooth] Define .kobj.k_name for the fake device # # The PCMCIA devices are not devices for the kernel and the bt3c_cs # driver uses a fake device for calling request_firmware(). The fake # device initialization must also set .kobj.k_name to prevent an oops # until PCMCIA devices are fully integrated into the driver model. # # drivers/bluetooth/bt3c_cs.c # 2004/05/23 13:37:31+02:00 marcel@holtmann.org +3 -0 # Define .kobj.k_name for the fake device # # ChangeSet # 2004/05/23 13:31:00+02:00 marcel@holtmann.org # [Bluetooth] Use try_module_get() for RFCOMM sessions # # It is not possible to use __module_get() when adding a new RFCOMM # session, because there is a case where no reference count is hold. # This happens when the module is not in use right now and an incoming # connection occurs. # # net/bluetooth/rfcomm/core.c # 2004/05/23 13:26:59+02:00 marcel@holtmann.org +13 -12 # Use try_module_get() for RFCOMM sessions # # ChangeSet # 2004/05/23 10:22:27+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # PCM Midlevel,ALSA Core # Added SNDRV_PCM_SYNC_PTR_APPL and SNDRV_PCM_SYNC_PTR_AVAIL_MIN extensions # to SYNC_PTR ioctl for PCM API. # # sound/core/pcm_native.c # 2004/05/22 05:12:57+02:00 perex@suse.cz +8 -2 # ALSA CVS update # D:2004/05/22 11:12:57 # C:PCM Midlevel,ALSA Core # A:Jaroslav Kysela # F:core/pcm_native.c:1.90->1.91 # F:include/asound.h:1.39->1.40 # L:Added SNDRV_PCM_SYNC_PTR_APPL and SNDRV_PCM_SYNC_PTR_AVAIL_MIN extensions # L:to SYNC_PTR ioctl for PCM API. # # include/sound/asound.h # 2004/05/22 05:12:58+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/05/22 11:12:57 # C:PCM Midlevel,ALSA Core # A:Jaroslav Kysela # F:core/pcm_native.c:1.90->1.91 # F:include/asound.h:1.39->1.40 # L:Added SNDRV_PCM_SYNC_PTR_APPL and SNDRV_PCM_SYNC_PTR_AVAIL_MIN extensions # L:to SYNC_PTR ioctl for PCM API. # # ChangeSet # 2004/05/23 10:22:01+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # - added the DXS entry for ECS K7VTA3 v8.0 # - fixed the DXS entry for ASUS A7V8X to NO_VRA. # # sound/pci/via82xx.c # 2004/05/21 06:11:39+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/05/21 12:11:39 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.100->1.101 # L:- added the DXS entry for ECS K7VTA3 v8.0 # L:- fixed the DXS entry for ASUS A7V8X to NO_VRA. # # ChangeSet # 2004/05/23 10:21:22+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ALSA Core # added reverse selections of components to CONFIG_SND_BIT32_EMUL. # # sound/core/Kconfig # 2004/05/19 12:00:23+02:00 perex@suse.cz +11 -4 # ALSA CVS update # D:2004/05/19 18:00:23 # C:ALSA Core # A:Takashi Iwai # F:core/Kconfig:1.3->1.4 # L:added reverse selections of components to CONFIG_SND_BIT32_EMUL. # # ChangeSet # 2004/05/23 10:14:09+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PCI drivers,ICE1712 driver,ICE1724 driver # - improved the description of ice1724 driver on Kconfig. # - better support of VT1720 with snd-ice1724 driver. # - check PCI subsystem IDs when no EEPROM is available (ice1724 only) # - change the driver name string if given in the board list. # - merged prodigy 7.1 support into aureon.c. they are almost identical. # - allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # sound/pci/ice1712/ice1724.c # 2004/05/18 13:32:40+02:00 perex@suse.cz +150 -45 # ALSA CVS update # D:2004/05/18 19:32:40 # C:PCI drivers,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:pci/Kconfig:1.27->1.28 # F:pci/ice1712/Makefile:1.10->1.11 # F:pci/ice1712/aureon.c:1.9->1.10 # F:pci/ice1712/aureon.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.52->1.53 # F:pci/ice1712/ice1712.h:1.20->1.21 # F:pci/ice1712/ice1724.c:1.30->1.31 # F:pci/ice1712/prodigy.c:1.5->1.6(DEAD) # F:pci/ice1712/prodigy.h:1.1->1.2(DEAD) # L:- improved the description of ice1724 driver on Kconfig. # L:- better support of VT1720 with snd-ice1724 driver. # L:- check PCI subsystem IDs when no EEPROM is available (ice1724 only) # L:- change the driver name string if given in the board list. # L:- merged prodigy 7.1 support into aureon.c. they are almost identical. # L:- allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # sound/pci/ice1712/ice1712.h # 2004/05/18 13:32:40+02:00 perex@suse.cz +5 -0 # ALSA CVS update # D:2004/05/18 19:32:40 # C:PCI drivers,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:pci/Kconfig:1.27->1.28 # F:pci/ice1712/Makefile:1.10->1.11 # F:pci/ice1712/aureon.c:1.9->1.10 # F:pci/ice1712/aureon.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.52->1.53 # F:pci/ice1712/ice1712.h:1.20->1.21 # F:pci/ice1712/ice1724.c:1.30->1.31 # F:pci/ice1712/prodigy.c:1.5->1.6(DEAD) # F:pci/ice1712/prodigy.h:1.1->1.2(DEAD) # L:- improved the description of ice1724 driver on Kconfig. # L:- better support of VT1720 with snd-ice1724 driver. # L:- check PCI subsystem IDs when no EEPROM is available (ice1724 only) # L:- change the driver name string if given in the board list. # L:- merged prodigy 7.1 support into aureon.c. they are almost identical. # L:- allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # sound/pci/ice1712/ice1712.c # 2004/05/18 13:32:40+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/05/18 19:32:40 # C:PCI drivers,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:pci/Kconfig:1.27->1.28 # F:pci/ice1712/Makefile:1.10->1.11 # F:pci/ice1712/aureon.c:1.9->1.10 # F:pci/ice1712/aureon.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.52->1.53 # F:pci/ice1712/ice1712.h:1.20->1.21 # F:pci/ice1712/ice1724.c:1.30->1.31 # F:pci/ice1712/prodigy.c:1.5->1.6(DEAD) # F:pci/ice1712/prodigy.h:1.1->1.2(DEAD) # L:- improved the description of ice1724 driver on Kconfig. # L:- better support of VT1720 with snd-ice1724 driver. # L:- check PCI subsystem IDs when no EEPROM is available (ice1724 only) # L:- change the driver name string if given in the board list. # L:- merged prodigy 7.1 support into aureon.c. they are almost identical. # L:- allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # sound/pci/ice1712/aureon.h # 2004/05/18 13:32:40+02:00 perex@suse.cz +7 -1 # ALSA CVS update # D:2004/05/18 19:32:40 # C:PCI drivers,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:pci/Kconfig:1.27->1.28 # F:pci/ice1712/Makefile:1.10->1.11 # F:pci/ice1712/aureon.c:1.9->1.10 # F:pci/ice1712/aureon.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.52->1.53 # F:pci/ice1712/ice1712.h:1.20->1.21 # F:pci/ice1712/ice1724.c:1.30->1.31 # F:pci/ice1712/prodigy.c:1.5->1.6(DEAD) # F:pci/ice1712/prodigy.h:1.1->1.2(DEAD) # L:- improved the description of ice1724 driver on Kconfig. # L:- better support of VT1720 with snd-ice1724 driver. # L:- check PCI subsystem IDs when no EEPROM is available (ice1724 only) # L:- change the driver name string if given in the board list. # L:- merged prodigy 7.1 support into aureon.c. they are almost identical. # L:- allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # sound/pci/ice1712/aureon.c # 2004/05/18 13:32:40+02:00 perex@suse.cz +207 -14 # ALSA CVS update # D:2004/05/18 19:32:40 # C:PCI drivers,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:pci/Kconfig:1.27->1.28 # F:pci/ice1712/Makefile:1.10->1.11 # F:pci/ice1712/aureon.c:1.9->1.10 # F:pci/ice1712/aureon.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.52->1.53 # F:pci/ice1712/ice1712.h:1.20->1.21 # F:pci/ice1712/ice1724.c:1.30->1.31 # F:pci/ice1712/prodigy.c:1.5->1.6(DEAD) # F:pci/ice1712/prodigy.h:1.1->1.2(DEAD) # L:- improved the description of ice1724 driver on Kconfig. # L:- better support of VT1720 with snd-ice1724 driver. # L:- check PCI subsystem IDs when no EEPROM is available (ice1724 only) # L:- change the driver name string if given in the board list. # L:- merged prodigy 7.1 support into aureon.c. they are almost identical. # L:- allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # sound/pci/ice1712/Makefile # 2004/05/18 13:32:40+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/18 19:32:40 # C:PCI drivers,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:pci/Kconfig:1.27->1.28 # F:pci/ice1712/Makefile:1.10->1.11 # F:pci/ice1712/aureon.c:1.9->1.10 # F:pci/ice1712/aureon.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.52->1.53 # F:pci/ice1712/ice1712.h:1.20->1.21 # F:pci/ice1712/ice1724.c:1.30->1.31 # F:pci/ice1712/prodigy.c:1.5->1.6(DEAD) # F:pci/ice1712/prodigy.h:1.1->1.2(DEAD) # L:- improved the description of ice1724 driver on Kconfig. # L:- better support of VT1720 with snd-ice1724 driver. # L:- check PCI subsystem IDs when no EEPROM is available (ice1724 only) # L:- change the driver name string if given in the board list. # L:- merged prodigy 7.1 support into aureon.c. they are almost identical. # L:- allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # sound/pci/Kconfig # 2004/05/18 13:32:40+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/05/18 19:32:40 # C:PCI drivers,ICE1712 driver,ICE1724 driver # A:Takashi Iwai # F:pci/Kconfig:1.27->1.28 # F:pci/ice1712/Makefile:1.10->1.11 # F:pci/ice1712/aureon.c:1.9->1.10 # F:pci/ice1712/aureon.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.52->1.53 # F:pci/ice1712/ice1712.h:1.20->1.21 # F:pci/ice1712/ice1724.c:1.30->1.31 # F:pci/ice1712/prodigy.c:1.5->1.6(DEAD) # F:pci/ice1712/prodigy.h:1.1->1.2(DEAD) # L:- improved the description of ice1724 driver on Kconfig. # L:- better support of VT1720 with snd-ice1724 driver. # L:- check PCI subsystem IDs when no EEPROM is available (ice1724 only) # L:- change the driver name string if given in the board list. # L:- merged prodigy 7.1 support into aureon.c. they are almost identical. # L:- allow to use PDMA4 and RMDA1 for non-SPDIF purpose if specified (ice1724 only). # # BitKeeper/deleted/.del-prodigy.h~5d73c21f8cc0fcef # 2004/05/23 10:13:52+02:00 perex@suse.cz +0 -0 # Delete: sound/pci/ice1712/prodigy.h # # BitKeeper/deleted/.del-prodigy.c~c182fb7e0e72b8a # 2004/05/23 10:13:52+02:00 perex@suse.cz +0 -0 # Delete: sound/pci/ice1712/prodigy.c # # ChangeSet # 2004/05/22 11:57:26-05:00 hch@lst.de # [PATCH] remove an unused function from NC53c406a # # and here's a variant using #if 0 # # drivers/scsi/NCR53c406a.c # 2004/05/22 11:44:31-05:00 hch@lst.de +2 -1 # remove an unused function from NC53c406a # # ChangeSet # 2004/05/22 10:50:24-05:00 g.liakhovetski@gmx.de # [PATCH] tmscsim: trivial updates # # Here comes the next (trivial) patch. I just want to get it out of the way # to make the next (scary) patch smaller and simpler. This one doesn't # modify the object code either. Actually, well, it does - it makes a few # objects, that were previously declared extern static. And removes a couple # more defines. # # drivers/scsi/tmscsim.c # 2004/05/21 18:14:48-05:00 g.liakhovetski@gmx.de +45 -55 # tmscsim: trivial updates # # drivers/scsi/scsiiom.c # 2004/05/21 18:42:35-05:00 g.liakhovetski@gmx.de +5 -5 # tmscsim: trivial updates # # drivers/scsi/dc390.h # 2004/05/21 16:11:32-05:00 g.liakhovetski@gmx.de +5 -5 # tmscsim: trivial updates # # ChangeSet # 2004/05/22 10:16:19+02:00 perex@suse.cz # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # # sound/pci/au88x0/au88x0_game.c # 2004/05/22 10:16:12+02:00 perex@suse.cz +0 -0 # Auto merged # # include/linux/pci_ids.h # 2004/05/22 10:16:11+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/05/21 10:53:24-05:00 jejb@mulgrave.(none) # SCSI: make inquiry timeout tuneable # # From: garloff@suse.de # # Feature # # Make the timeout for INQUIRY during SCSI scan adjustable via boot parameter. # Note that the second INQUIRY does use a shorter timeout, as the long timeout # is for recovery from the initial reset, not because existing devices would # take so long to answer INQUIRY. SPC3 says that INQUIRY should be available # right away, but real life is different unfortunately. # # drivers/scsi/scsi_scan.c # 2004/05/21 10:53:07-05:00 jejb@mulgrave.(none) +9 -2 # SCSI: make inquiry timeout tuneable # # ChangeSet # 2004/05/21 10:51:57-05:00 jejb@mulgrave.(none) # SCSI: make SCSI REPORT LUNS the default # # From: garloff@suse.de # # Cleanup/Feature # # Remove CONFIG_SCSI_REPORT_LUNS config option. # Instead provide BLIST_NOREPORTLUN that can be passed as default_dev_flags # (but also per device if needed). # Provide BLIST_REPORTLUN2 that allows trying to use REPORT_LUNS for SCSI-2 # devices, if they are connected to a host adapter supporting more than 8 LUNs # (and thus avoiding the usual USB crap to render this feature useless when # used with default_dev_flags). # # drivers/scsi/Kconfig | 11 ----------- # drivers/scsi/scsi_scan.c | 19 +++++++++---------- # include/scsi/scsi_devinfo.h | 3 +++ # 3 files changed, 12 insertions(+), 21 deletions(-) # # include/scsi/scsi_devinfo.h # 2004/05/21 10:51:42-05:00 jejb@mulgrave.(none) +3 -0 # SCSI: make SCSI REPORT LUNS the default # # drivers/scsi/scsi_scan.c # 2004/05/21 10:51:42-05:00 jejb@mulgrave.(none) +9 -10 # SCSI: make SCSI REPORT LUNS the default # # drivers/scsi/Kconfig # 2004/05/21 10:51:42-05:00 jejb@mulgrave.(none) +0 -11 # SCSI: make SCSI REPORT LUNS the default # # ChangeSet # 2004/05/21 10:48:13-05:00 jejb@mulgrave.(none) # SCSI: deprecate BLIST_FORCELUN # # From: garloff@suse.de # # Cleanup # # Mark BLIST_FORCELUN as deprecated, as we don't want to collect a list # of perfectly working multi-LUN devices with BLIST_FORCELUN. Instead # document max_luns boot/module parameter. # # include/scsi/scsi_devinfo.h # 2004/05/21 10:47:57-05:00 jejb@mulgrave.(none) +2 -1 # SCSI: deprecate BLIST_FORCELUN # # drivers/scsi/Kconfig # 2004/05/21 10:47:57-05:00 jejb@mulgrave.(none) +2 -2 # SCSI: deprecate BLIST_FORCELUN # # ChangeSet # 2004/05/21 10:46:21-05:00 jejb@mulgrave.(none) # SCSI: logging optimisation # # From: garloff@suse.de # # Optimization. # # Tell the compiler that the SCSI LOG will not likely happen. # # drivers/scsi/scsi_logging.h # 2004/05/21 10:46:04-05:00 jejb@mulgrave.(none) +1 -1 # SCSI: logging optimisation # # ChangeSet # 2004/05/21 10:31:54-05:00 rusty@rustcorp.com.au # [PATCH] [TRIVIAL 2.6] drivers_scsi_nsp32.c: kill duplicate # # From: a.othieno@bluewin.ch (Arthur Othieno) # # drivers/scsi/nsp32.c # 2004/05/20 00:59:33-05:00 rusty@rustcorp.com.au +0 -1 # [TRIVIAL 2.6] drivers_scsi_nsp32.c: kill duplicate # # ChangeSet # 2004/05/21 10:30:21-05:00 g.liakhovetski@gmx.de # [PATCH] tmscsim: remove legacy and void code # # This one is purely cosmetic - it removes legacy (pre 2.4) and some void # (e.g. #defined as nothing locks) code. So, it doesn't affect the resulting # object file. # # drivers/scsi/tmscsim.c # 2004/05/20 18:09:04-05:00 g.liakhovetski@gmx.de +7 -157 # tmscsim: remove legacy and void code # # drivers/scsi/scsiiom.c # 2004/05/20 18:09:12-05:00 g.liakhovetski@gmx.de +2 -18 # tmscsim: remove legacy and void code # # ChangeSet # 2004/05/21 10:28:12-05:00 g.liakhovetski@gmx.de # tmscsim: remove procfs write support from tmscsim # # From: Christoph Hellwig # # When looking at the driver after reviewing the changes I stubled over # that code. Almost all of the funcitonality (except DUMP) should go # through the midlayer and will at least cause some confusion if it # doesn't. # # Also the implementation isn't exactly nice, like kmalloced scsi commands # and the tytpical 'parsing' macros cut & pasted over all historic scsi # drivers. I think we're better of removing it completly and maybe readd # dump as a sysfs attribute if needed. # # 500 lines of code gone. # # drivers/scsi/tmscsim.c # 2004/01/31 00:41:21-06:00 g.liakhovetski@gmx.de +1 -500 # tmscsim: remove procfs write support from tmscsim # # ChangeSet # 2004/05/21 10:27:19-05:00 akpm@osdl.org # [PATCH] qlogicfas408.c warning fix # # drivers/scsi/qlogicfas.c:190: warning: initialization from incompatible pointer type # # drivers/scsi/qlogicfas408.h # 2004/05/16 02:45:03-05:00 akpm@osdl.org +1 -1 # qlogicfas408.c warning fix # # drivers/scsi/qlogicfas408.c # 2004/05/16 02:45:04-05:00 akpm@osdl.org +1 -1 # qlogicfas408.c warning fix # # ChangeSet # 2004/05/21 10:21:03-05:00 g.liakhovetski@gmx.de # [PATCH] tmscsim: no internal queue # # Here comes the 2nd one. I wanted to get Christoph's patches now in, but # already the first his patch comes on the top of this one: remove internal # command queuing in the driver. And, in fact, it fixes some bugs in it. So, # they should go in together. Here's the original comment from Christoph's # email of 1 Feb 2004: # # # # Patch looks mostly good for me. But there's some fishyness in queuecommand, # mostly from before you patch: # # - many failure cases return one with the new EH code although we wouldn't # want to requeue the midlayer in that case. I removed the ifdef and added # a failed goto to handle them. # - we need to set cmd->result onlyh if we have an error instead of always # an overriding it - else it will leak to the midlayer in the return 1 # case. # - the check for ids out of range are superflous (this was one of the errors # above, I decided to remove it instead of fixing it). # - you don't do DC390_UNLOCK_ACB when failing. While it's a noop I think # it's bad to have locking macros in place and don't balance them. You # should probably remove it completly in one of the next patches. # - the pDCB->pWaitingSRB looks a bit strange. By unifying the the codepathes # it becomes much more readable. # # # # drivers/scsi/tmscsim.h # 2004/03/04 15:21:39-06:00 g.liakhovetski@gmx.de +6 -17 # tmscsim: no internal queue # # drivers/scsi/tmscsim.c # 2004/05/19 18:03:25-05:00 g.liakhovetski@gmx.de +26 -153 # tmscsim: no internal queue # # drivers/scsi/scsiiom.c # 2004/03/04 15:21:39-06:00 g.liakhovetski@gmx.de +0 -3 # tmscsim: no internal queue # # ChangeSet # 2004/05/21 10:16:18-05:00 hch@lst.de # [PATCH] fix assorted wd7000 warnings # # - needs linux/delay.h for udelay # - C doesn't allow taking addresses of register variables and gcc even # complains these days # # drivers/scsi/wd7000.c # 2004/05/19 12:46:14-05:00 hch@lst.de +4 -3 # fix assorted wd7000 warnings # # ChangeSet # 2004/05/21 10:07:05-05:00 g.liakhovetski@gmx.de # [PATCH] tmscsim: 64-bit cleanup # # Ok, here comes the first one. I chose this one because it fixes an actual # bug in the driver. This bug was (partially) introduced by myself when # porting to 2.6. Partly the reason was that I disliked using # function-like macros as lvalues: # # sg_dma_address(x) = ... # sg_dma_len(x) = ... # # [OT] wouldn't it be better to introduce some macros like # set_sg_dma_{address|len}(x, y)? # # A part of the original patch has already been merged (s/UINT/ULONG/), so, # the actual version is re-diffed against 2.6.6-bk6 and re-tested (on a # plain Pentium). # # Also updates the driver-version, printed on startup. # # drivers/scsi/tmscsim.c # 2004/04/13 17:50:05-05:00 g.liakhovetski@gmx.de +11 -7 # tmscsim: 64-bit cleanup # # drivers/scsi/scsiiom.c # 2004/04/13 17:46:19-05:00 g.liakhovetski@gmx.de +7 -5 # tmscsim: 64-bit cleanup # # drivers/scsi/dc390.h # 2004/04/13 17:50:26-05:00 g.liakhovetski@gmx.de +1 -1 # tmscsim: 64-bit cleanup # # ChangeSet # 2004/05/20 19:01:34+02:00 marcel@holtmann.org # [Bluetooth] Kill duplicate includes # # This patch removes the duplicate inclusion of linux/config.h in the # hci_uart driver. # # Patch from Arthur Othieno # # drivers/bluetooth/hci_ldisc.c # 2004/05/20 18:57:49+02:00 marcel@holtmann.org +0 -1 # Kill duplicate includes # # drivers/bluetooth/hci_bcsp.c # 2004/05/20 18:57:33+02:00 marcel@holtmann.org +0 -1 # Kill duplicate includes # # ChangeSet # 2004/05/19 21:26:04-07:00 akepner@sgi.com # [TG3]: Fix ethtool -S. # # drivers/net/tg3.c # 2004/05/19 21:25:43-07:00 akepner@sgi.com +1 -1 # [TG3]: Fix ethtool -S. # # ChangeSet # 2004/05/19 21:16:59-07:00 gnb@melbourne.sgi.com # [TG3]: Add more ethtool -S stats. # # drivers/net/tg3.h # 2004/05/19 21:16:34-07:00 gnb@melbourne.sgi.com +52 -0 # [TG3]: Add more ethtool -S stats. # # drivers/net/tg3.c # 2004/05/19 21:16:34-07:00 gnb@melbourne.sgi.com +102 -2 # [TG3]: Add more ethtool -S stats. # # ChangeSet # 2004/05/19 21:15:59-07:00 gnb@melbourne.sgi.com # [TG3]: Count rx_discards in rx_errors. # # drivers/net/tg3.c # 2004/05/19 21:15:38-07:00 gnb@melbourne.sgi.com +2 -1 # [TG3]: Count rx_discards in rx_errors. # # ChangeSet # 2004/05/19 21:02:13-07:00 davem@nuts.davemloft.net # Merge bk://kernel.bkbits.net/jgarzik/tg3-2.6 # into nuts.davemloft.net:/disk1/BK/tg3-2.6 # # drivers/net/tg3.c # 2004/05/19 21:02:01-07:00 davem@nuts.davemloft.net +0 -0 # Auto merged # # ChangeSet # 2004/05/19 11:12:20-05:00 jejb@mulgrave.(none) # SCSI: fix Stack overflow when lldd returns SCSI_MLQUEUE_DEVICE_BUSY # # From: Heiko Carstens # # This happened when sending out the inquiry command and the LLDD was in # recovery for the specific LUN and returned SCSI_MLQUEUE_DEVICE_BUSY. # Problem is that max_device_blocked gets set _after_ the inquiry command # finished. In this specific case max_device_blocked was 0 and thus the # device was never blocked resulting in the observed stack overflow. # I moved the initializazion of max_device_blocked from scsi_add_lun to # sdev_alloc_sdev and the problem is gone. # # drivers/scsi/scsi_scan.c # 2004/05/19 11:11:55-05:00 jejb@mulgrave.(none) +5 -4 # SCSI: fix Stack overflow when lldd returns SCSI_MLQUEUE_DEVICE_BUSY # # ChangeSet # 2004/05/18 22:02:38+01:00 rmk@flint.arm.linux.org.uk # [PCMCIA] Convert IO resource allocation to use struct resource. # # This causes PCMCIA to use struct resource internally for IO resources. # This means that we can keep track of the resource pointer, expand # this resource if necessary, and use release_resource() on it when # we're done. # # This eventually means that we can change these to normal resources # which aren't marked busy. # # include/pcmcia/ss.h # 2004/05/18 22:00:16+01:00 rmk@flint.arm.linux.org.uk +1 -0 # Add struct resource to io_window_t. # # drivers/pcmcia/rsrc_mgr.c # 2004/05/18 22:00:16+01:00 rmk@flint.arm.linux.org.uk +32 -7 # Add adjust_io_region to expand already allocated IO resources. # find_io_region now returns a struct resource. # # drivers/pcmcia/cs_internal.h # 2004/05/18 22:00:15+01:00 rmk@flint.arm.linux.org.uk +3 -1 # Add and update function prototypes for find_io_region and # adjust_io_region. # # drivers/pcmcia/cs.c # 2004/05/18 22:00:15+01:00 rmk@flint.arm.linux.org.uk +13 -7 # Use struct resource when manipulating IO regions. # # ChangeSet # 2004/05/18 21:52:46+01:00 rmk@flint.arm.linux.org.uk # [PCMCIA] Fix a couple of resource bugs. # # Fix resource database bug where base + num wraps to zero. Also, # ensure that we always take the resource semaphore whenever we # allocate a resource. # # drivers/pcmcia/rsrc_mgr.c # 2004/05/18 21:50:46+01:00 rmk@flint.arm.linux.org.uk +6 -10 # Fix resource database bug where base + num wraps to zero. # Ensure that we always take the resource semaphore whenever we # allocate a resource. # # ChangeSet # 2004/05/18 13:50:23+02:00 perex@suse.cz # ALSA CVS sync # # include/sound/version.h # 2004/05/18 13:50:09+02:00 perex@suse.cz +1 -1 # ALSA CVS sync # # ChangeSet # 2004/05/17 15:35:07+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # PCM Midlevel # Call hwsync at the start of SYNC_PTR ioctl # # sound/core/pcm_native.c # 2004/05/17 01:58:42+02:00 perex@suse.cz +7 -5 # ALSA CVS update # D:2004/05/17 07:58:42 # C:PCM Midlevel # A:Jaroslav Kysela # F:core/pcm_native.c:1.89->1.90 # L:Call hwsync at the start of SYNC_PTR ioctl # # ChangeSet # 2004/05/17 15:34:43+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # PCM Midlevel,ALSA Core # Added SYNC_PTR ioctl for the PCM interface. # # sound/core/pcm_native.c # 2004/05/17 01:47:18+02:00 perex@suse.cz +33 -0 # ALSA CVS update # D:2004/05/17 07:47:18 # C:PCM Midlevel,ALSA Core # A:Jaroslav Kysela # F:core/pcm_native.c:1.88->1.89 # F:include/asound.h:1.38->1.39 # L:Added SYNC_PTR ioctl for the PCM interface. # # include/sound/asound.h # 2004/05/17 01:47:18+02:00 perex@suse.cz +16 -1 # ALSA CVS update # D:2004/05/17 07:47:18 # C:PCM Midlevel,ALSA Core # A:Jaroslav Kysela # F:core/pcm_native.c:1.88->1.89 # F:include/asound.h:1.38->1.39 # L:Added SYNC_PTR ioctl for the PCM interface. # # ChangeSet # 2004/05/17 15:34:22+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # ICE1712 driver # # ice1712 patch for dsp24 value cards # Without this patch in envy24control no controls for DAC and ADC # available because no number of dacs and adcs is given. # # sound/pci/ice1712/hoontech.h # 2004/05/16 08:40:00+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/05/16 14:40:00 # C:ICE1712 driver # A:Jaroslav Kysela # F:pci/ice1712/hoontech.c:1.6->1.7 # F:pci/ice1712/hoontech.h:1.4->1.5 # L: # L:ice1712 patch for dsp24 value cards # L:Without this patch in envy24control no controls for DAC and ADC # L:available because no number of dacs and adcs is given. # # sound/pci/ice1712/hoontech.c # 2004/05/16 08:40:00+02:00 perex@suse.cz +73 -0 # ALSA CVS update # D:2004/05/16 14:40:00 # C:ICE1712 driver # A:Jaroslav Kysela # F:pci/ice1712/hoontech.c:1.6->1.7 # F:pci/ice1712/hoontech.h:1.4->1.5 # L: # L:ice1712 patch for dsp24 value cards # L:Without this patch in envy24control no controls for DAC and ADC # L:available because no number of dacs and adcs is given. # # ChangeSet # 2004/05/17 15:33:58+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ICE1712 driver # fixes by Christoph Haderer : # - added the support of DAC/ADC mute switches # - fixed the capture route enum. # # sound/pci/ice1712/aureon.c # 2004/05/14 08:08:15+02:00 perex@suse.cz +109 -14 # ALSA CVS update # D:2004/05/14 14:08:15 # C:ICE1712 driver # A:Takashi Iwai # F:pci/ice1712/aureon.c:1.8->1.9 # L:fixes by Christoph Haderer : # L:- added the support of DAC/ADC mute switches # L:- fixed the capture route enum. # # ChangeSet # 2004/05/17 15:33:36+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ICE1712 driver # Added the support of Aureon 7.1-Universe. # # sound/pci/ice1712/aureon.h # 2004/05/14 06:00:24+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/05/14 12:00:23 # C:ICE1712 driver # A:Takashi Iwai # F:pci/ice1712/aureon.c:1.7->1.8 # F:pci/ice1712/aureon.h:1.2->1.3 # L:Added the support of Aureon 7.1-Universe. # # sound/pci/ice1712/aureon.c # 2004/05/14 06:00:23+02:00 perex@suse.cz +8 -0 # ALSA CVS update # D:2004/05/14 12:00:23 # C:ICE1712 driver # A:Takashi Iwai # F:pci/ice1712/aureon.c:1.7->1.8 # F:pci/ice1712/aureon.h:1.2->1.3 # L:Added the support of Aureon 7.1-Universe. # # ChangeSet # 2004/05/17 15:33:15+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ICE1712 driver # added headphone amplifier switch. # initial patch by Radoslaw 'AstralStorm' Szkodzinski. # # sound/pci/ice1712/aureon.c # 2004/05/14 05:49:26+02:00 perex@suse.cz +58 -0 # ALSA CVS update # D:2004/05/14 11:49:26 # C:ICE1712 driver # A:Takashi Iwai # F:pci/ice1712/aureon.c:1.6->1.7 # L:added headphone amplifier switch. # L:initial patch by Radoslaw 'AstralStorm' Szkodzinski. # # ChangeSet # 2004/05/17 15:32:48+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # RME HDSP driver,RME9652 driver # fixed invalid spin_lock/unlock_irq() in the prepare callback. # # sound/pci/rme9652/rme9652.c # 2004/05/14 05:31:00+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/05/14 11:30:59 # C:RME HDSP driver,RME9652 driver # A:Takashi Iwai # F:pci/rme9652/hdsp.c:1.57->1.58 # F:pci/rme9652/rme9652.c:1.44->1.45 # L:fixed invalid spin_lock/unlock_irq() in the prepare callback. # # sound/pci/rme9652/hdsp.c # 2004/05/14 05:30:59+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/05/14 11:30:59 # C:RME HDSP driver,RME9652 driver # A:Takashi Iwai # F:pci/rme9652/hdsp.c:1.57->1.58 # F:pci/rme9652/rme9652.c:1.44->1.45 # L:fixed invalid spin_lock/unlock_irq() in the prepare callback. # # ChangeSet # 2004/05/17 15:32:27+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # CS4236+ driver # Added the new pnp id for an Intel mobo. # # sound/isa/cs423x/cs4236.c # 2004/05/14 05:15:54+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/05/14 11:15:54 # C:CS4236+ driver # A:Takashi Iwai # F:isa/cs423x/cs4236.c:1.42->1.43 # L:Added the new pnp id for an Intel mobo. # # ChangeSet # 2004/05/17 15:32:03+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ATIIXP driver # - probe only audio codecs. # - use enums instead of embedded numbers. # - added KERN_ERR prefix to the error messages. # # sound/pci/atiixp.c # 2004/05/13 13:40:18+02:00 perex@suse.cz +36 -26 # ALSA CVS update # D:2004/05/13 19:40:18 # C:ATIIXP driver # A:Takashi Iwai # F:pci/atiixp.c:1.8->1.9 # L:- probe only audio codecs. # L:- use enums instead of embedded numbers. # L:- added KERN_ERR prefix to the error messages. # # ChangeSet # 2004/05/17 15:31:38+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PPC PMAC driver,PPC Tumbler driver # Giuliano Pochini : # fixed the return value of interrupt handlers. # # sound/ppc/tumbler.c # 2004/05/13 13:38:56+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/13 19:38:56 # C:PPC PMAC driver,PPC Tumbler driver # A:Takashi Iwai # F:ppc/pmac.c:1.29->1.30 # F:ppc/tumbler.c:1.30->1.31 # L:Giuliano Pochini : # L:fixed the return value of interrupt handlers. # # sound/ppc/pmac.c # 2004/05/13 13:38:56+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/05/13 19:38:56 # C:PPC PMAC driver,PPC Tumbler driver # A:Takashi Iwai # F:ppc/pmac.c:1.29->1.30 # F:ppc/tumbler.c:1.30->1.31 # L:Giuliano Pochini : # L:fixed the return value of interrupt handlers. # # ChangeSet # 2004/05/17 15:31:16+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PCM Midlevel # fixed the buffer id confliction in the case of CONTINUOUS or ISA buffers. # # sound/core/pcm_memory.c # 2004/05/13 13:37:10+02:00 perex@suse.cz +5 -1 # ALSA CVS update # D:2004/05/13 19:37:10 # C:PCM Midlevel # A:Takashi Iwai # F:core/pcm_memory.c:1.26->1.27 # L:fixed the buffer id confliction in the case of CONTINUOUS or ISA buffers. # # ChangeSet # 2004/05/17 15:30:56+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # USB generic driver # fix typo # # sound/usb/usbquirks.h # 2004/05/12 01:29:22+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/05/12 07:29:22 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbquirks.h:1.32->1.33 # L:fix typo # # ChangeSet # 2004/05/17 15:30:31+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # USB generic driver # Roland UA-1000 support # # sound/usb/usbquirks.h # 2004/05/11 06:58:11+02:00 perex@suse.cz +55 -0 # ALSA CVS update # D:2004/05/11 12:58:11 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbquirks.h:1.31->1.32 # L:Roland UA-1000 support # # ChangeSet # 2004/05/17 15:30:09+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # AC97 Codec Core # STAC9758: stereo mutes, jack configuration # # sound/pci/ac97/ac97_patch.c # 2004/05/11 03:32:58+02:00 perex@suse.cz +162 -3 # ALSA CVS update # D:2004/05/11 09:32:58 # C:AC97 Codec Core # A:Clemens Ladisch # F:pci/ac97/ac97_patch.c:1.48->1.49 # L:STAC9758: stereo mutes, jack configuration # # ChangeSet # 2004/05/17 15:29:43+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PARISC Harmony driver # - fixed the buffer allocation with the new API. # - optimized the rate and format setting. # - removed redundant call of buffer release. # - removed invalid __devinit prefix. # # sound/parisc/harmony.c # 2004/05/07 12:04:31+02:00 perex@suse.cz +76 -99 # ALSA CVS update # D:2004/05/07 18:04:31 # C:PARISC Harmony driver # A:Takashi Iwai # F:parisc/harmony.c:1.9->1.10 # L:- fixed the buffer allocation with the new API. # L:- optimized the rate and format setting. # L:- removed redundant call of buffer release. # L:- removed invalid __devinit prefix. # # ChangeSet # 2004/05/17 15:29:19+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,ICE1724 driver,ICE1712 driver # - added model module option to specify board model to snd-ice1712 and snd-ice1724 # drivers. # - removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # - rewritten some struct init in C99 style. # - function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/revo.c # 2004/05/07 05:19:00+02:00 perex@suse.cz +5 -4 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/prodigy.c # 2004/05/07 05:19:00+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/ice1724.c # 2004/05/07 05:19:00+02:00 perex@suse.cz +38 -24 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/ice1712.h # 2004/05/07 05:19:00+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/ice1712.c # 2004/05/07 05:18:59+02:00 perex@suse.cz +34 -21 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/hoontech.h # 2004/05/07 05:18:59+02:00 perex@suse.cz +5 -3 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/hoontech.c # 2004/05/07 05:18:59+02:00 perex@suse.cz +25 -20 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/ews.c # 2004/05/07 05:18:59+02:00 perex@suse.cz +25 -20 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/envy24ht.h # 2004/05/07 05:18:59+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/delta.c # 2004/05/07 05:18:59+02:00 perex@suse.cz +58 -50 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/aureon.c # 2004/05/07 05:18:59+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # sound/pci/ice1712/amp.c # 2004/05/07 05:18:59+02:00 perex@suse.cz +5 -4 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/05/07 05:18:59+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/05/07 11:18:59 # C:Documentation,ICE1724 driver,ICE1712 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.43->1.44 # F:pci/ice1712/amp.c:1.4->1.5 # F:pci/ice1712/aureon.c:1.5->1.6 # F:pci/ice1712/delta.c:1.16->1.17 # F:pci/ice1712/envy24ht.h:1.3->1.4 # F:pci/ice1712/ews.c:1.16->1.17 # F:pci/ice1712/hoontech.c:1.5->1.6 # F:pci/ice1712/hoontech.h:1.3->1.4 # F:pci/ice1712/ice1712.c:1.51->1.52 # F:pci/ice1712/ice1712.h:1.19->1.20 # F:pci/ice1712/ice1724.c:1.29->1.30 # F:pci/ice1712/prodigy.c:1.4->1.5 # F:pci/ice1712/revo.c:1.5->1.6 # L:- added model module option to specify board model to snd-ice1712 and snd-ice1724 # L: drivers. # L:- removed ez8 option from ice1724. this can be specified as 'model=ez8' option. # L:- rewritten some struct init in C99 style. # L:- function for accessing i2c of ice1724 (for future use). # # ChangeSet # 2004/05/17 15:28:56+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Sound Core PDAudioCF driver # - fixed the changed function decleration. # - fixed the return value from cast check. # # sound/pcmcia/pdaudiocf/pdaudiocf_irq.c # 2004/05/07 05:10:26+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/07 11:10:26 # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:pcmcia/pdaudiocf/pdaudiocf.h:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.4->1.5 # L:- fixed the changed function decleration. # L:- fixed the return value from cast check. # # sound/pcmcia/pdaudiocf/pdaudiocf.h # 2004/05/07 05:10:26+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/07 11:10:26 # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:pcmcia/pdaudiocf/pdaudiocf.h:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.4->1.5 # L:- fixed the changed function decleration. # L:- fixed the return value from cast check. # # ChangeSet # 2004/05/17 15:28:36+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # renamed the elements of 'input source select' control to avoid confusion. # # formerly used words 'Line' and 'Mic', which have nothing to do with # the actual connections. # # sound/pci/via82xx.c # 2004/05/06 08:27:23+02:00 perex@suse.cz +4 -1 # ALSA CVS update # D:2004/05/06 14:27:23 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.99->1.100 # L:renamed the elements of 'input source select' control to avoid confusion. # L: # L:formerly used words 'Line' and 'Mic', which have nothing to do with # L:the actual connections. # # ChangeSet # 2004/05/17 15:28:08+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,CMIPCI driver # make soft_ac3 option conditional again. # # this will make it possible for old chips to feed the IEC958 data # without conversion (sometimes useful, e.g. for apps using mmap). # # sound/pci/cmipci.c # 2004/05/06 08:17:02+02:00 perex@suse.cz +10 -4 # ALSA CVS update # D:2004/05/06 14:17:02 # C:Documentation,CMIPCI driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.42->1.43 # F:Documentation/CMIPCI.txt:1.5->1.6 # F:pci/cmipci.c:1.64->1.65 # L:make soft_ac3 option conditional again. # L: # L:this will make it possible for old chips to feed the IEC958 data # L:without conversion (sometimes useful, e.g. for apps using mmap). # # Documentation/sound/alsa/CMIPCI.txt # 2004/05/06 08:17:02+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/05/06 14:17:02 # C:Documentation,CMIPCI driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.42->1.43 # F:Documentation/CMIPCI.txt:1.5->1.6 # F:pci/cmipci.c:1.64->1.65 # L:make soft_ac3 option conditional again. # L: # L:this will make it possible for old chips to feed the IEC958 data # L:without conversion (sometimes useful, e.g. for apps using mmap). # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/05/06 08:17:02+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/05/06 14:17:02 # C:Documentation,CMIPCI driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.42->1.43 # F:Documentation/CMIPCI.txt:1.5->1.6 # F:pci/cmipci.c:1.64->1.65 # L:make soft_ac3 option conditional again. # L: # L:this will make it possible for old chips to feed the IEC958 data # L:without conversion (sometimes useful, e.g. for apps using mmap). # # ChangeSet # 2004/05/17 15:27:42+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # Sound Core PDAudioCF driver # Updated interrupt function to 2.6 irq API # # sound/pcmcia/pdaudiocf/pdaudiocf_irq.c # 2004/05/05 08:29:56+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/05/05 14:29:56 # C:Sound Core PDAudioCF driver # A:Jaroslav Kysela # F:pcmcia/pdaudiocf/pdaudiocf_irq.c:1.3->1.4 # L:Updated interrupt function to 2.6 irq API # # ChangeSet # 2004/05/17 15:27:17+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # EMU10K1/EMU10K2 driver # Credits for SB Live (c) 2003 # # sound/pci/emu10k1/emumixer.c # 2004/05/05 08:20:23+02:00 perex@suse.cz +5 -0 # ALSA CVS update # D:2004/05/05 14:20:23 # C:EMU10K1/EMU10K2 driver # A:Jaroslav Kysela # F:pci/emu10k1/emumixer.c:1.21->1.22 # L:Credits for SB Live (c) 2003 # # ChangeSet # 2004/05/17 15:26:57+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # USB generic driver # (Alan Stern) use altsetting number instead of index in messages # # sound/usb/usbaudio.c # 2004/05/05 03:50:45+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/05/05 09:50:45 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.99->1.100 # L:(Alan Stern) use altsetting number instead of index in messages # # ChangeSet # 2004/05/17 15:26:35+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation # added the document about Audigy mixer implementation by Peter Zubaj. # it is not target to users, rather to developers. # # Documentation/sound/alsa/Audigy-mixer.txt # 2004/05/17 13:27:25+02:00 perex@suse.cz +345 -0 # ALSA CVS update # D:2004/05/04 16:51:39 # C:Documentation # A:Takashi Iwai # F:Documentation/Audigy-mixer.txt:INITIAL->1.1 # L:added the document about Audigy mixer implementation by Peter Zubaj. # L:it is not target to users, rather to developers. # # Documentation/sound/alsa/Audigy-mixer.txt # 2004/05/17 13:27:25+02:00 perex@suse.cz +0 -0 # BitKeeper file /home/perex/bk/linux-sound/work/Documentation/sound/alsa/Audigy-mixer.txt # # ChangeSet # 2004/05/17 15:26:10+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ATIIXP driver # - fixed the direct SPDIF playback mode. (still experimental) # - use the different driver id name for the direct spdif mode, so that # alsa-lib can read another corresponding configuration. # # sound/pci/atiixp.c # 2004/05/04 10:24:29+02:00 perex@suse.cz +8 -8 # ALSA CVS update # D:2004/05/04 16:24:29 # C:ATIIXP driver # A:Takashi Iwai # F:pci/atiixp.c:1.7->1.8 # L:- fixed the direct SPDIF playback mode. (still experimental) # L:- use the different driver id name for the direct spdif mode, so that # L: alsa-lib can read another corresponding configuration. # # ChangeSet # 2004/05/17 15:25:49+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,CMIPCI driver # dropped the software encoding of AC3 stream in the driver. # this is done now in alsa-lib. # soft_ac3 module option is kept for backward compatibility but not # referred at all. # # sound/pci/cmipci.c # 2004/05/04 10:21:57+02:00 perex@suse.cz +53 -442 # ALSA CVS update # D:2004/05/04 16:21:57 # C:Documentation,CMIPCI driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.41->1.42 # F:pci/cmipci.c:1.63->1.64 # L:dropped the software encoding of AC3 stream in the driver. # L:this is done now in alsa-lib. # L:soft_ac3 module option is kept for backward compatibility but not # L:referred at all. # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/05/04 10:21:57+02:00 perex@suse.cz +1 -2 # ALSA CVS update # D:2004/05/04 16:21:57 # C:Documentation,CMIPCI driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.41->1.42 # F:pci/cmipci.c:1.63->1.64 # L:dropped the software encoding of AC3 stream in the driver. # L:this is done now in alsa-lib. # L:soft_ac3 module option is kept for backward compatibility but not # L:referred at all. # # ChangeSet # 2004/05/17 15:25:22+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,NM256 driver # - added a blacklist to avoid the possible hang-up at module loading. # - added notes about the hang-up problem to ALSA-Configuration.txt. # # sound/pci/nm256/nm256.c # 2004/05/04 10:19:25+02:00 perex@suse.cz +29 -0 # ALSA CVS update # D:2004/05/04 16:19:25 # C:Documentation,NM256 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.40->1.41 # F:pci/nm256/nm256.c:1.37->1.38 # L:- added a blacklist to avoid the possible hang-up at module loading. # L:- added notes about the hang-up problem to ALSA-Configuration.txt. # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/05/04 10:19:25+02:00 perex@suse.cz +19 -2 # ALSA CVS update # D:2004/05/04 16:19:25 # C:Documentation,NM256 driver # A:Takashi Iwai # F:Documentation/ALSA-Configuration.txt:1.40->1.41 # F:pci/nm256/nm256.c:1.37->1.38 # L:- added a blacklist to avoid the possible hang-up at module loading. # L:- added notes about the hang-up problem to ALSA-Configuration.txt. # # ChangeSet # 2004/05/17 15:25:00+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PCM Midlevel # fixed the bit width of IEC958_SUBFRAME_* formats from 24 to 32. # # sound/core/pcm_misc.c # 2004/05/04 10:09:50+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/04 16:09:50 # C:PCM Midlevel # A:Takashi Iwai # F:core/pcm_misc.c:1.12->1.13 # L:fixed the bit width of IEC958_SUBFRAME_* formats from 24 to 32. # # ChangeSet # 2004/05/17 15:24:35+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # fixed again the DXS entry for m680x to 48k-fixed rate. # # sound/pci/via82xx.c # 2004/05/04 10:09:08+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/04 16:09:08 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.98->1.99 # L:fixed again the DXS entry for m680x to 48k-fixed rate. # # ChangeSet # 2004/05/17 15:24:11+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # ALSA<-OSS emulation # don't return negative byte count from GET[IO]PTR ioctl # # sound/core/oss/pcm_oss.c # 2004/05/04 08:02:02+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/05/04 14:02:02 # C:ALSA<-OSS emulation # A:Clemens Ladisch # F:core/oss/pcm_oss.c:1.68->1.69 # L:don't return negative byte count from GET[IO]PTR ioctl # # ChangeSet # 2004/05/17 15:23:52+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # ICE1712 driver # fix Hoontech DSP* box configuration # # sound/pci/ice1712/hoontech.c # 2004/05/04 01:46:29+02:00 perex@suse.cz +13 -8 # ALSA CVS update # D:2004/05/04 07:46:29 # C:ICE1712 driver # A:Clemens Ladisch # F:pci/ice1712/hoontech.c:1.4->1.5 # L:fix Hoontech DSP* box configuration # # ChangeSet # 2004/05/17 15:23:29+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation # - fixed some obsolete descriptions and typos. # - a bit more detailed description about addition of the new driver. # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/05/03 12:37:55+02:00 perex@suse.cz +13 -8 # ALSA CVS update # D:2004/05/03 18:37:55 # C:Documentation # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.27->1.28 # L:- fixed some obsolete descriptions and typos. # L:- a bit more detailed description about addition of the new driver. # # ChangeSet # 2004/05/17 15:23:08+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # SA11xx UDA1341 driver,UDA1341 # - clean up PM codes using the new PM callback functions. # # sound/arm/sa11xx-uda1341.c # 2004/05/03 12:36:50+02:00 perex@suse.cz +10 -55 # ALSA CVS update # D:2004/05/03 18:36:50 # C:SA11xx UDA1341 driver,UDA1341 # A:Takashi Iwai # F:arm/sa11xx-uda1341.c:1.14->1.15 # F:include/uda1341.h:1.5->1.6 # L:- clean up PM codes using the new PM callback functions. # # include/sound/uda1341.h # 2004/05/03 12:36:50+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/03 18:36:50 # C:SA11xx UDA1341 driver,UDA1341 # A:Takashi Iwai # F:arm/sa11xx-uda1341.c:1.14->1.15 # F:include/uda1341.h:1.5->1.6 # L:- clean up PM codes using the new PM callback functions. # # ChangeSet # 2004/05/17 15:22:44+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ALSA Core # - added the generic PM callback registration. # - rewritten ISA callbacks to use the new one. # # sound/core/sound.c # 2004/05/03 12:36:07+02:00 perex@suse.cz +1 -3 # ALSA CVS update # D:2004/05/03 18:36:07 # C:ALSA Core # A:Takashi Iwai # F:core/init.c:1.45->1.46 # F:core/sound.c:1.61->1.62 # F:include/core.h:1.50->1.51 # L:- added the generic PM callback registration. # L:- rewritten ISA callbacks to use the new one. # # sound/core/init.c # 2004/05/03 12:36:07+02:00 perex@suse.cz +9 -9 # ALSA CVS update # D:2004/05/03 18:36:07 # C:ALSA Core # A:Takashi Iwai # F:core/init.c:1.45->1.46 # F:core/sound.c:1.61->1.62 # F:include/core.h:1.50->1.51 # L:- added the generic PM callback registration. # L:- rewritten ISA callbacks to use the new one. # # include/sound/core.h # 2004/05/03 12:36:07+02:00 perex@suse.cz +4 -1 # ALSA CVS update # D:2004/05/03 18:36:07 # C:ALSA Core # A:Takashi Iwai # F:core/init.c:1.45->1.46 # F:core/sound.c:1.61->1.62 # F:include/core.h:1.50->1.51 # L:- added the generic PM callback registration. # L:- rewritten ISA callbacks to use the new one. # # ChangeSet # 2004/05/17 15:22:22+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ES1968 driver # - set ACPI D3 at suspend. # - fixed the interrupt disabling at shutdown. # - enabled PM for compaq Armada. # # sound/pci/es1968.c # 2004/05/03 12:34:48+02:00 perex@suse.cz +7 -2 # ALSA CVS update # D:2004/05/03 18:34:48 # C:ES1968 driver # A:Takashi Iwai # F:pci/es1968.c:1.65->1.66 # L:- set ACPI D3 at suspend. # L:- fixed the interrupt disabling at shutdown. # L:- enabled PM for compaq Armada. # # ChangeSet # 2004/05/17 15:21:59+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # try to mute and power down in the destructor (to shut up noises). # # sound/pci/ac97/ac97_codec.c # 2004/05/03 12:32:57+02:00 perex@suse.cz +25 -7 # ALSA CVS update # D:2004/05/03 18:32:57 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.131->1.132 # L:try to mute and power down in the destructor (to shut up noises). # # ChangeSet # 2004/05/17 15:21:39+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # CS4231 driver # add missing closing brace # # sound/isa/cs423x/cs4231_lib.c # 2004/05/03 09:37:05+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/05/03 15:37:05 # C:CS4231 driver # A:Clemens Ladisch # F:isa/cs423x/cs4231_lib.c:1.40->1.41 # L:add missing closing brace # # ChangeSet # 2004/05/17 15:21:16+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # RME HDSP driver # HDSP9632 has also firmware version 0x97 # # sound/pci/rme9652/hdsp.c # 2004/05/03 04:01:17+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/05/03 10:01:17 # C:RME HDSP driver # A:Jaroslav Kysela # F:pci/rme9652/hdsp.c:1.56->1.57 # L:HDSP9632 has also firmware version 0x97 # # ChangeSet # 2004/05/17 15:20:55+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # Documentation,EMU10K1/EMU10K2 driver # Initial attempt to add support for SB Live 5.1 (c) 2003 # # sound/pci/emu10k1/emumixer.c # 2004/05/03 03:43:04+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/05/03 09:43:04 # C:Documentation,EMU10K1/EMU10K2 driver # A:Jaroslav Kysela # F:Documentation/ALSA-Configuration.txt:1.39->1.40 # F:include/emu10k1.h:1.38->1.39 # F:pci/emu10k1/emu10k1_main.c:1.32->1.33 # F:pci/emu10k1/emufx.c:1.51->1.52 # F:pci/emu10k1/emumixer.c:1.20->1.21 # L:Initial attempt to add support for SB Live 5.1 (c) 2003 # # sound/pci/emu10k1/emufx.c # 2004/05/03 03:43:04+02:00 perex@suse.cz +12 -8 # ALSA CVS update # D:2004/05/03 09:43:04 # C:Documentation,EMU10K1/EMU10K2 driver # A:Jaroslav Kysela # F:Documentation/ALSA-Configuration.txt:1.39->1.40 # F:include/emu10k1.h:1.38->1.39 # F:pci/emu10k1/emu10k1_main.c:1.32->1.33 # F:pci/emu10k1/emufx.c:1.51->1.52 # F:pci/emu10k1/emumixer.c:1.20->1.21 # L:Initial attempt to add support for SB Live 5.1 (c) 2003 # # sound/pci/emu10k1/emu10k1_main.c # 2004/05/03 03:43:04+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/05/03 09:43:04 # C:Documentation,EMU10K1/EMU10K2 driver # A:Jaroslav Kysela # F:Documentation/ALSA-Configuration.txt:1.39->1.40 # F:include/emu10k1.h:1.38->1.39 # F:pci/emu10k1/emu10k1_main.c:1.32->1.33 # F:pci/emu10k1/emufx.c:1.51->1.52 # F:pci/emu10k1/emumixer.c:1.20->1.21 # L:Initial attempt to add support for SB Live 5.1 (c) 2003 # # include/sound/emu10k1.h # 2004/05/03 03:43:04+02:00 perex@suse.cz +8 -4 # ALSA CVS update # D:2004/05/03 09:43:04 # C:Documentation,EMU10K1/EMU10K2 driver # A:Jaroslav Kysela # F:Documentation/ALSA-Configuration.txt:1.39->1.40 # F:include/emu10k1.h:1.38->1.39 # F:pci/emu10k1/emu10k1_main.c:1.32->1.33 # F:pci/emu10k1/emufx.c:1.51->1.52 # F:pci/emu10k1/emumixer.c:1.20->1.21 # L:Initial attempt to add support for SB Live 5.1 (c) 2003 # # Documentation/sound/alsa/ALSA-Configuration.txt # 2004/05/03 03:43:04+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/05/03 09:43:04 # C:Documentation,EMU10K1/EMU10K2 driver # A:Jaroslav Kysela # F:Documentation/ALSA-Configuration.txt:1.39->1.40 # F:include/emu10k1.h:1.38->1.39 # F:pci/emu10k1/emu10k1_main.c:1.32->1.33 # F:pci/emu10k1/emufx.c:1.51->1.52 # F:pci/emu10k1/emumixer.c:1.20->1.21 # L:Initial attempt to add support for SB Live 5.1 (c) 2003 # # ChangeSet # 2004/05/17 15:20:32+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # added DXS whitelist for (eMachines) m680x. # # sound/pci/via82xx.c # 2004/05/02 05:15:40+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/05/02 11:15:40 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.97->1.98 # L:added DXS whitelist for (eMachines) m680x. # # ChangeSet # 2004/05/17 15:20:12+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # CS4231 driver # checks the PCM substream pointers to fix oops/panic in the interrupt # handler. # # sound/isa/cs423x/cs4231_lib.c # 2004/05/01 04:01:11+02:00 perex@suse.cz +15 -8 # ALSA CVS update # D:2004/05/01 10:01:11 # C:CS4231 driver # A:Takashi Iwai # F:isa/cs423x/cs4231_lib.c:1.39->1.40 # L:checks the PCM substream pointers to fix oops/panic in the interrupt # L:handler. # # ChangeSet # 2004/05/17 15:19:51+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # Intel8x0 driver # check that period interrupt really has occured; # clear only those interrupts that have been handled # # sound/pci/intel8x0.c # 2004/04/26 02:47:09+02:00 perex@suse.cz +7 -3 # ALSA CVS update # D:2004/04/26 08:47:09 # C:Intel8x0 driver # A:Clemens Ladisch # F:pci/intel8x0.c:1.136->1.137 # L:check that period interrupt really has occured; # L:clear only those interrupts that have been handled # # ChangeSet # 2004/05/17 15:19:27+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,OPL4 # make some module parameters sysfs-writable, where appropriate # # sound/drivers/opl4/opl4_seq.c # 2004/04/26 02:31:23+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/26 08:31:22 # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,OPL4 # A:Clemens Ladisch # F:core/oss/pcm_oss.c:1.67->1.68 # F:core/seq/seq.c:1.11->1.12 # F:core/seq/seq_midi.c:1.19->1.20 # F:core/seq/oss/seq_oss.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.3->1.4 # L:make some module parameters sysfs-writable, where appropriate # # sound/core/seq/seq_midi.c # 2004/04/26 02:31:23+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/04/26 08:31:22 # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,OPL4 # A:Clemens Ladisch # F:core/oss/pcm_oss.c:1.67->1.68 # F:core/seq/seq.c:1.11->1.12 # F:core/seq/seq_midi.c:1.19->1.20 # F:core/seq/oss/seq_oss.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.3->1.4 # L:make some module parameters sysfs-writable, where appropriate # # sound/core/seq/seq.c # 2004/04/26 02:31:23+02:00 perex@suse.cz +6 -6 # ALSA CVS update # D:2004/04/26 08:31:22 # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,OPL4 # A:Clemens Ladisch # F:core/oss/pcm_oss.c:1.67->1.68 # F:core/seq/seq.c:1.11->1.12 # F:core/seq/seq_midi.c:1.19->1.20 # F:core/seq/oss/seq_oss.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.3->1.4 # L:make some module parameters sysfs-writable, where appropriate # # sound/core/seq/oss/seq_oss.c # 2004/04/26 02:31:23+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/26 08:31:22 # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,OPL4 # A:Clemens Ladisch # F:core/oss/pcm_oss.c:1.67->1.68 # F:core/seq/seq.c:1.11->1.12 # F:core/seq/seq_midi.c:1.19->1.20 # F:core/seq/oss/seq_oss.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.3->1.4 # L:make some module parameters sysfs-writable, where appropriate # # sound/core/oss/pcm_oss.c # 2004/04/26 02:31:22+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/26 08:31:22 # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,OPL4 # A:Clemens Ladisch # F:core/oss/pcm_oss.c:1.67->1.68 # F:core/seq/seq.c:1.11->1.12 # F:core/seq/seq_midi.c:1.19->1.20 # F:core/seq/oss/seq_oss.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.3->1.4 # L:make some module parameters sysfs-writable, where appropriate # # ChangeSet # 2004/05/17 15:19:06+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PARISC Harmony driver # fixed compilation - using struct parisc_device for DMA allocation. # # sound/parisc/harmony.c # 2004/04/24 15:01:49+02:00 perex@suse.cz +7 -29 # ALSA CVS update # D:2004/04/24 21:01:49 # C:PARISC Harmony driver # A:Takashi Iwai # F:parisc/harmony.c:1.8->1.9 # L:fixed compilation - using struct parisc_device for DMA allocation. # # ChangeSet # 2004/05/17 11:37:11+02:00 perex@suse.cz # Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 # into suse.cz:/home/perex/bk/linux-sound/linux-sound # # sound/pcmcia/pdaudiocf/pdaudiocf.c # 2004/05/17 11:36:58+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/wavefront/wavefront_synth.c # 2004/05/17 11:36:58+02:00 perex@suse.cz +0 -0 # Auto merged # # sound/isa/es1688/es1688.c # 2004/05/17 11:36:57+02:00 perex@suse.cz +0 -0 # Auto merged # # include/linux/pci_ids.h # 2004/05/17 11:36:57+02:00 perex@suse.cz +0 -0 # Auto merged # # ChangeSet # 2004/05/15 08:42:53-05:00 jejb@mulgrave.(none) # scsi sg: fix smp_call_function() with intrs disabled # # From: Matthew Wilcox , # Douglas Gilbert # # - Fix vmalloc,vfree with intrs disabled # - bump version number # - introduce MODULE_VERSION # - increase over allocation of sg_dev_arr from 6 to 32 # # drivers/scsi/sg.c # 2004/05/15 08:42:13-05:00 jejb@mulgrave.(none) +77 -76 # scsi sg: fix smp_call_function() with intrs disabled # # ChangeSet # 2004/05/15 08:37:26-05:00 akpm@osdl.org # [PATCH] Fix dpt_i2o # # From: Go Taniguchi # # Make it build (and work) again. # # drivers/scsi/dpti.h # 2004/04/27 03:58:25-05:00 akpm@osdl.org +2 -2 # Fix dpt_i2o # # drivers/scsi/dpt_i2o.c # 2004/04/27 03:58:25-05:00 akpm@osdl.org +118 -38 # Fix dpt_i2o # # drivers/scsi/Kconfig # 2004/04/27 03:58:25-05:00 akpm@osdl.org +1 -1 # Fix dpt_i2o # # ChangeSet # 2004/05/13 15:03:44-05:00 jejb@mulgrave.(none) # gdth driver update to 3.04 # # From: Leubner, Achim # # - Support for drives > 2 TB implemented # - 64-bit DMA support depending on the controller firmware version implemented # - Some important bug fixes made # # drivers/scsi/gdth_proc.h # 2004/05/13 15:02:45-05:00 jejb@mulgrave.(none) +9 -20 # gdth driver update to 3.04 # # drivers/scsi/gdth_proc.c # 2004/05/13 15:02:45-05:00 jejb@mulgrave.(none) +525 -1066 # gdth driver update to 3.04 # # drivers/scsi/gdth_ioctl.h # 2004/05/13 15:02:45-05:00 jejb@mulgrave.(none) +41 -9 # gdth driver update to 3.04 # # drivers/scsi/gdth.h # 2004/05/13 15:02:45-05:00 jejb@mulgrave.(none) +115 -42 # gdth driver update to 3.04 # # drivers/scsi/gdth.c # 2004/05/13 15:02:45-05:00 jejb@mulgrave.(none) +1758 -1354 # gdth driver update to 3.04 # # ChangeSet # 2004/05/13 12:40:33-05:00 dougg@torque.net # [PATCH] st.c for GET_IDLUN # # A little more testing of st's SG_IO ioctl turned up a # small problem. # # This is the corresponding patch that was applied to the # sd driver when it received the block layer SG_IO ioctl. # # For least surprise of lk 2.4 utilities that use the # SCSI_IOCTL_GET_IDLUN and SCSI_IOCTL_GET_BUS_NUMBER # ioctls (e.g. sg_map) it is better to return the correct # values rather than 0. # # drivers/scsi/st.c # 2004/04/25 03:13:50-05:00 dougg@torque.net +11 -5 # st.c for GET_IDLUN # # ChangeSet # 2004/05/13 12:36:42-05:00 jejb@mulgrave.(none) # Fix SCSI device state model # # Following a prior patch, we made cancel the sole # route into deleted, but forgot to update the # state model checks to reflect this. # # offline and created also go to cancel # # drivers/scsi/scsi_lib.c # 2004/05/13 12:36:01-05:00 jejb@mulgrave.(none) +2 -2 # Fix SCSI device state model # # ChangeSet # 2004/05/11 11:16:45-05:00 jejb@mulgrave.(none) # Make st support the scsi_device timeout # # From: Brian King # # drivers/scsi/st.h # 2004/05/11 11:16:20-05:00 jejb@mulgrave.(none) +0 -1 # Make st support the scsi_device timeout # # drivers/scsi/st.c # 2004/05/11 11:16:20-05:00 jejb@mulgrave.(none) +19 -19 # Make st support the scsi_device timeout # # ChangeSet # 2004/05/11 10:33:58-05:00 alan@redhat.com # [PATCH] PATCH: Do something about aacraid # # This is a fairly minimal fix for aacraid. It removes the happy cast # pointers to u32 garbage in the 2.6 code and replaces it with the working # 2.4 equivalents. I've not backported any of the other changes from 2.4 to # 2.6 yet, and some things have gone which are good to be gone (eg the # proc/scsi horror). There is a certain amount of white space noise caused # by realigning with the 2.4 code so I could see what was going on. # # Tested on a dual opteron # # drivers/scsi/aacraid/sa.c # 2004/05/10 15:21:30-05:00 alan@redhat.com +5 -0 # PATCH: Do something about aacraid # # drivers/scsi/aacraid/dpcsup.c # 2004/05/10 15:23:18-05:00 alan@redhat.com +34 -19 # PATCH: Do something about aacraid # # drivers/scsi/aacraid/commsup.c # 2004/05/10 15:16:08-05:00 alan@redhat.com +48 -33 # PATCH: Do something about aacraid # # drivers/scsi/aacraid/comminit.c # 2004/05/10 15:11:56-05:00 alan@redhat.com +6 -3 # PATCH: Do something about aacraid # # drivers/scsi/aacraid/commctrl.c # 2004/05/10 15:22:40-05:00 alan@redhat.com +20 -17 # PATCH: Do something about aacraid # # drivers/scsi/aacraid/aacraid.h # 2004/05/10 15:02:37-05:00 alan@redhat.com +35 -122 # PATCH: Do something about aacraid # # drivers/scsi/aacraid/README # 2004/05/10 15:20:16-05:00 alan@redhat.com +6 -2 # PATCH: Do something about aacraid # # ChangeSet # 2004/05/10 13:08:44-04:00 jgarzik@redhat.com # [netdrvr tg3] netdev_priv # # drivers/net/tg3.c # 2004/05/10 13:07:02-04:00 jgarzik@redhat.com +38 -36 # [netdrvr tg3] netdev_priv # # ChangeSet # 2004/04/24 16:33:25+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # OPL3SA2 driver # Added YMH0801 ISA PnP ID - OPL3-SA2 # # sound/isa/opl3sa2.c # 2004/04/24 07:07:50+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/04/24 13:07:50 # C:OPL3SA2 driver # A:Jaroslav Kysela # F:isa/opl3sa2.c:1.34->1.35 # L:Added YMH0801 ISA PnP ID - OPL3-SA2 # # ChangeSet # 2004/04/24 16:33:07+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # - added the experimental PM support. # # sound/pci/via82xx.c # 2004/04/23 10:08:11+02:00 perex@suse.cz +94 -0 # ALSA CVS update # D:2004/04/23 16:08:11 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.96->1.97 # L:- added the experimental PM support. # # ChangeSet # 2004/04/24 16:32:49+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PCI drivers,ATIIXP driver # - added IXP 300 to descriptions and comments. # - fixed the codec probing without the proper interrupts. # - added the experimental PM support. # # sound/pci/atiixp.c # 2004/04/23 10:07:54+02:00 perex@suse.cz +81 -7 # ALSA CVS update # D:2004/04/23 16:07:54 # C:PCI drivers,ATIIXP driver # A:Takashi Iwai # F:pci/Kconfig:1.26->1.27 # F:pci/atiixp.c:1.6->1.7 # L:- added IXP 300 to descriptions and comments. # L:- fixed the codec probing without the proper interrupts. # L:- added the experimental PM support. # # sound/pci/Kconfig # 2004/04/23 10:07:54+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/04/23 16:07:54 # C:PCI drivers,ATIIXP driver # A:Takashi Iwai # F:pci/Kconfig:1.26->1.27 # F:pci/atiixp.c:1.6->1.7 # L:- added IXP 300 to descriptions and comments. # L:- fixed the codec probing without the proper interrupts. # L:- added the experimental PM support. # # ChangeSet # 2004/04/24 16:32:26+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # fixed the compilation without CONFIG_SND_DEBUG. # # sound/pci/ac97/ac97_patch.c # 2004/04/23 10:05:27+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/04/23 16:05:27 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_patch.c:1.47->1.48 # L:fixed the compilation without CONFIG_SND_DEBUG. # # ChangeSet # 2004/04/24 16:32:05+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PPC Keywest driver,PPC PMAC driver,PPC PowerMac driver # PPC Tumbler driver # fixed the oops on resume and the initialization of chip. # # sound/ppc/tumbler.c # 2004/04/23 09:18:25+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/04/23 15:18:25 # C:PPC Keywest driver,PPC PMAC driver,PPC PowerMac driver # C:PPC Tumbler driver # A:Takashi Iwai # F:ppc/keywest.c:1.16->1.17 # F:ppc/pmac.h:1.13->1.14 # F:ppc/powermac.c:1.16->1.17 # F:ppc/tumbler.c:1.29->1.30 # L:fixed the oops on resume and the initialization of chip. # # sound/ppc/powermac.c # 2004/04/23 09:18:25+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/23 15:18:25 # C:PPC Keywest driver,PPC PMAC driver,PPC PowerMac driver # C:PPC Tumbler driver # A:Takashi Iwai # F:ppc/keywest.c:1.16->1.17 # F:ppc/pmac.h:1.13->1.14 # F:ppc/powermac.c:1.16->1.17 # F:ppc/tumbler.c:1.29->1.30 # L:fixed the oops on resume and the initialization of chip. # # sound/ppc/pmac.h # 2004/04/23 09:18:25+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/23 15:18:25 # C:PPC Keywest driver,PPC PMAC driver,PPC PowerMac driver # C:PPC Tumbler driver # A:Takashi Iwai # F:ppc/keywest.c:1.16->1.17 # F:ppc/pmac.h:1.13->1.14 # F:ppc/powermac.c:1.16->1.17 # F:ppc/tumbler.c:1.29->1.30 # L:fixed the oops on resume and the initialization of chip. # # sound/ppc/keywest.c # 2004/04/23 09:18:25+02:00 perex@suse.cz +12 -6 # ALSA CVS update # D:2004/04/23 15:18:25 # C:PPC Keywest driver,PPC PMAC driver,PPC PowerMac driver # C:PPC Tumbler driver # A:Takashi Iwai # F:ppc/keywest.c:1.16->1.17 # F:ppc/pmac.h:1.13->1.14 # F:ppc/powermac.c:1.16->1.17 # F:ppc/tumbler.c:1.29->1.30 # L:fixed the oops on resume and the initialization of chip. # # ChangeSet # 2004/04/24 16:31:45+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # AC97 Codec Core # ac97->pci might be null # # sound/pci/ac97/ac97_patch.c # 2004/04/21 13:50:52+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/04/21 19:50:52 # C:AC97 Codec Core # A:Jaroslav Kysela # F:pci/ac97/ac97_patch.c:1.46->1.47 # L:ac97->pci might be null # # ChangeSet # 2004/04/24 16:31:21+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # AC97 Codec Core # patch_sigmatel_stac9758 # - initialize with default values from datasheet # - apply old initialization only for Gateway M675 notebook # # sound/pci/ac97/ac97_patch.c # 2004/04/21 13:44:13+02:00 perex@suse.cz +28 -8 # ALSA CVS update # D:2004/04/21 19:44:13 # C:AC97 Codec Core # A:Jaroslav Kysela # F:pci/ac97/ac97_patch.c:1.45->1.46 # L:patch_sigmatel_stac9758 # L: - initialize with default values from datasheet # L: - apply old initialization only for Gateway M675 notebook # # ChangeSet # 2004/04/24 16:31:02+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # Intel8x0 driver # From: Giridhar Pemmasani # # It seems that pci config space is messed up after resume for Intel ICH4 # audio controller (on Dell Latitude D600, but I notice that others also # complain about this problem). Consequently resume from S3 causes oops with # snd_intel8x0 module. If the module is removed before suspend and loaded # afterwards, I still get oops. The following simple patch fixes the # problem. With this, I can leave alsa untouched during suspend/resume. # # sound/pci/intel8x0.c # 2004/04/21 13:18:27+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/04/21 19:18:27 # C:Intel8x0 driver # A:Jaroslav Kysela # F:pci/intel8x0.c:1.135->1.136 # L:From: Giridhar Pemmasani # L: # L:It seems that pci config space is messed up after resume for Intel ICH4 # L:audio controller (on Dell Latitude D600, but I notice that others also # L:complain about this problem). Consequently resume from S3 causes oops with # L:snd_intel8x0 module. If the module is removed before suspend and loaded # L:afterwards, I still get oops. The following simple patch fixes the # L:problem. With this, I can leave alsa untouched during suspend/resume. # # ChangeSet # 2004/04/24 16:30:42+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # Opti9xx drivers # Fixed irq&dma initialization for <93x chips # # sound/isa/opti9xx/opti92x-ad1848.c # 2004/04/19 14:16:49+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/04/19 20:16:49 # C:Opti9xx drivers # A:Jaroslav Kysela # F:isa/opti9xx/opti92x-ad1848.c:1.43->1.44 # L:Fixed irq&dma initialization for <93x chips # # ChangeSet # 2004/04/24 16:30:24+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # AC97 Codec Core # Fixed AD18xx PCM bit handling # # sound/pci/ac97/ac97_codec.c # 2004/04/19 13:11:29+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/19 19:11:29 # C:AC97 Codec Core # A:Jaroslav Kysela # F:pci/ac97/ac97_codec.c:1.130->1.131 # L:Fixed AD18xx PCM bit handling # # ChangeSet # 2004/04/24 16:30:01+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,AC97 Codec Core # added the write support to ac97#x-x+regs proc file. # # this is for debugging purpose, and enabled only when CONFIG_SND_DEBUG is set. # it allows the user to modify AC97 register bits without compiling the sources. # # sound/pci/ac97/ac97_proc.c # 2004/04/16 13:29:12+02:00 perex@suse.cz +22 -0 # ALSA CVS update # D:2004/04/16 19:29:12 # C:Documentation,AC97 Codec Core # A:Takashi Iwai # F:Documentation/Procfile.txt:1.1->1.2 # F:pci/ac97/ac97_proc.c:1.6->1.7 # L:added the write support to ac97#x-x+regs proc file. # L: # L:this is for debugging purpose, and enabled only when CONFIG_SND_DEBUG is set. # L:it allows the user to modify AC97 register bits without compiling the sources. # # Documentation/sound/alsa/Procfile.txt # 2004/04/16 13:29:12+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/04/16 19:29:12 # C:Documentation,AC97 Codec Core # A:Takashi Iwai # F:Documentation/Procfile.txt:1.1->1.2 # F:pci/ac97/ac97_proc.c:1.6->1.7 # L:added the write support to ac97#x-x+regs proc file. # L: # L:this is for debugging purpose, and enabled only when CONFIG_SND_DEBUG is set. # L:it allows the user to modify AC97 register bits without compiling the sources. # # ChangeSet # 2004/04/24 16:29:42+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # added the mic/center sharing switch of cm9739 codec again. # # sound/pci/ac97/ac97_patch.c # 2004/04/16 13:25:15+02:00 perex@suse.cz +32 -3 # ALSA CVS update # D:2004/04/16 19:25:15 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_patch.c:1.44->1.45 # L:added the mic/center sharing switch of cm9739 codec again. # # ChangeSet # 2004/04/24 16:29:18+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Control Midlevel # - fixed the compilation without CONFIG_PM. # - fixed the return value of POWER ioctl. # # sound/core/control.c # 2004/04/16 10:50:24+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/04/16 16:50:24 # C:Control Midlevel # A:Takashi Iwai # F:core/control.c:1.42->1.43 # L:- fixed the compilation without CONFIG_PM. # L:- fixed the return value of POWER ioctl. # # ChangeSet # 2004/04/24 16:29:00+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # - fixed the center/mic share switch on ALC65x. # - created AC97_SINGLE_VALUME() macro. # # sound/pci/ac97/ac97_patch.c # 2004/04/16 10:01:08+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/04/16 16:01:06 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.129->1.130 # F:pci/ac97/ac97_local.h:1.4->1.5 # F:pci/ac97/ac97_patch.c:1.43->1.44 # L:- fixed the center/mic share switch on ALC65x. # L:- created AC97_SINGLE_VALUME() macro. # # sound/pci/ac97/ac97_local.h # 2004/04/16 10:01:08+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/04/16 16:01:06 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.129->1.130 # F:pci/ac97/ac97_local.h:1.4->1.5 # F:pci/ac97/ac97_patch.c:1.43->1.44 # L:- fixed the center/mic share switch on ALC65x. # L:- created AC97_SINGLE_VALUME() macro. # # sound/pci/ac97/ac97_codec.c # 2004/04/16 10:01:06+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/16 16:01:06 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.129->1.130 # F:pci/ac97/ac97_local.h:1.4->1.5 # F:pci/ac97/ac97_patch.c:1.43->1.44 # L:- fixed the center/mic share switch on ALC65x. # L:- created AC97_SINGLE_VALUME() macro. # # ChangeSet # 2004/04/24 16:28:38+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ATIIXP driver # - added the PCI id entry for SB300. # - added the missing terminator to the PCI id list. # # sound/pci/atiixp.c # 2004/04/16 09:48:14+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/04/16 15:48:14 # C:ATIIXP driver # A:Takashi Iwai # F:pci/atiixp.c:1.5->1.6 # L:- added the PCI id entry for SB300. # L:- added the missing terminator to the PCI id list. # # ChangeSet # 2004/04/24 16:28:19+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PPC PMAC driver # fixed the missing function declarations. # # sound/ppc/pmac.c # 2004/04/16 09:20:18+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/04/16 15:20:18 # C:PPC PMAC driver # A:Takashi Iwai # F:ppc/pmac.c:1.28->1.29 # L:fixed the missing function declarations. # # ChangeSet # 2004/04/24 16:27:55+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # ICE1712 driver # # added a control for default rate in the ice1712 driver # # sound/pci/ice1712/ice1712.c # 2004/04/16 08:08:35+02:00 perex@suse.cz +71 -0 # ALSA CVS update # D:2004/04/16 14:08:35 # C:ICE1712 driver # A:Jaroslav Kysela # F:pci/ice1712/ice1712.c:1.50->1.51 # L: # L:added a control for default rate in the ice1712 driver # # ChangeSet # 2004/04/24 16:27:36+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PPC PMAC driver # another fix for the new suspend/resume. # # sound/ppc/pmac.c # 2004/04/16 04:25:56+02:00 perex@suse.cz +4 -10 # ALSA CVS update # D:2004/04/16 10:25:56 # C:PPC PMAC driver # A:Takashi Iwai # F:ppc/pmac.c:1.27->1.28 # L:another fix for the new suspend/resume. # # ChangeSet # 2004/04/24 16:27:15+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Memalloc module # removed the obsolete hack for dev_alloc_coherent() with dev = 0. # # sound/core/memalloc.c # 2004/04/16 04:06:57+02:00 perex@suse.cz +0 -25 # ALSA CVS update # D:2004/04/16 10:06:57 # C:Memalloc module # A:Takashi Iwai # F:core/memalloc.c:1.30->1.31 # L:removed the obsolete hack for dev_alloc_coherent() with dev = 0. # # ChangeSet # 2004/04/24 16:26:49+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PPC PMAC driver # fixed the suspend/resume with the new ALSA common callbacks. # # sound/ppc/pmac.h # 2004/04/15 11:23:18+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/04/15 17:23:18 # C:PPC PMAC driver # A:Takashi Iwai # F:ppc/pmac.c:1.26->1.27 # F:ppc/pmac.h:1.12->1.13 # L:fixed the suspend/resume with the new ALSA common callbacks. # # sound/ppc/pmac.c # 2004/04/15 11:23:18+02:00 perex@suse.cz +9 -36 # ALSA CVS update # D:2004/04/15 17:23:18 # C:PPC PMAC driver # A:Takashi Iwai # F:ppc/pmac.c:1.26->1.27 # F:ppc/pmac.h:1.12->1.13 # L:fixed the suspend/resume with the new ALSA common callbacks. # # ChangeSet # 2004/04/24 15:59:07+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PCM Midlevel # fixed the deadlock of power_lock in suspend (by Terry Loftin) # # sound/core/pcm_native.c # 2004/04/15 04:16:13+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/15 10:16:13 # C:PCM Midlevel # A:Takashi Iwai # F:core/pcm_native.c:1.87->1.88 # L:fixed the deadlock of power_lock in suspend (by Terry Loftin) # # ChangeSet # 2004/04/24 15:58:48+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # - call snd_ac97_suspend() in the suspend callback. # - suspend/resume secondary codecs, too. # # sound/pci/ymfpci/ymfpci_main.c # 2004/04/14 12:27:06+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # sound/pci/trident/trident_main.c # 2004/04/14 12:27:05+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # sound/pci/nm256/nm256.c # 2004/04/14 12:27:05+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # sound/pci/maestro3.c # 2004/04/14 12:27:04+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # sound/pci/es1968.c # 2004/04/14 12:27:04+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # sound/pci/cs46xx/cs46xx_lib.c # 2004/04/14 12:27:05+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # sound/pci/cs4281.c # 2004/04/14 12:27:04+02:00 perex@suse.cz +5 -0 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # sound/pci/ali5451/ali5451.c # 2004/04/14 12:27:05+02:00 perex@suse.cz +6 -2 # ALSA CVS update # D:2004/04/14 18:27:04 # C:CS4281 driver,ES1968 driver,Maestro3 driver,ALI5451 driver # C:CS46xx driver,NM256 driver,Trident driver,YMFPCI driver # A:Takashi Iwai # F:pci/cs4281.c:1.53->1.54 # F:pci/es1968.c:1.64->1.65 # F:pci/maestro3.c:1.51->1.52 # F:pci/ali5451/ali5451.c:1.47->1.48 # F:pci/cs46xx/cs46xx_lib.c:1.72->1.73 # F:pci/nm256/nm256.c:1.36->1.37 # F:pci/trident/trident_main.c:1.56->1.57 # F:pci/ymfpci/ymfpci_main.c:1.50->1.51 # L:- call snd_ac97_suspend() in the suspend callback. # L:- suspend/resume secondary codecs, too. # # ChangeSet # 2004/04/24 15:58:26+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # - export snd_ac97_suspend(). # - mute MASTER and HEADPHONE volumes in suspend to avoid possible clicks. # # sound/pci/ac97/ac97_codec.c # 2004/04/14 12:25:51+02:00 perex@suse.cz +9 -0 # ALSA CVS update # D:2004/04/14 18:25:51 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.128->1.129 # L:- export snd_ac97_suspend(). # L:- mute MASTER and HEADPHONE volumes in suspend to avoid possible clicks. # # ChangeSet # 2004/04/24 15:58:04+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Intel8x0 driver,Intel8x0-modem driver # - probe only audio (intel8x0) or modem (intel8x0m) codecs. # - call snd_ac97_suspend() in the suspend callback. # # sound/pci/intel8x0m.c # 2004/04/14 12:24:32+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/04/14 18:24:32 # C:Intel8x0 driver,Intel8x0-modem driver # A:Takashi Iwai # F:pci/intel8x0.c:1.134->1.135 # F:pci/intel8x0m.c:1.4->1.5 # L:- probe only audio (intel8x0) or modem (intel8x0m) codecs. # L:- call snd_ac97_suspend() in the suspend callback. # # sound/pci/intel8x0.c # 2004/04/14 12:24:32+02:00 perex@suse.cz +6 -1 # ALSA CVS update # D:2004/04/14 18:24:32 # C:Intel8x0 driver,Intel8x0-modem driver # A:Takashi Iwai # F:pci/intel8x0.c:1.134->1.135 # F:pci/intel8x0m.c:1.4->1.5 # L:- probe only audio (intel8x0) or modem (intel8x0m) codecs. # L:- call snd_ac97_suspend() in the suspend callback. # # ChangeSet # 2004/04/24 15:57:44+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # USB generic driver # Edirol UA-700 advanced modes support # # sound/usb/usbquirks.h # 2004/04/14 12:11:22+02:00 perex@suse.cz +24 -6 # ALSA CVS update # D:2004/04/14 18:11:20 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.98->1.99 # F:usb/usbaudio.h:1.30->1.31 # F:usb/usbquirks.h:1.30->1.31 # L:Edirol UA-700 advanced modes support # # sound/usb/usbaudio.h # 2004/04/14 12:11:21+02:00 perex@suse.cz +3 -0 # ALSA CVS update # D:2004/04/14 18:11:20 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.98->1.99 # F:usb/usbaudio.h:1.30->1.31 # F:usb/usbquirks.h:1.30->1.31 # L:Edirol UA-700 advanced modes support # # sound/usb/usbaudio.c # 2004/04/14 12:11:20+02:00 perex@suse.cz +79 -0 # ALSA CVS update # D:2004/04/14 18:11:20 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.98->1.99 # F:usb/usbaudio.h:1.30->1.31 # F:usb/usbquirks.h:1.30->1.31 # L:Edirol UA-700 advanced modes support # # ChangeSet # 2004/04/24 15:57:23+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Memalloc module # fixed the allocation of coherent DMA pages under 32bit mask. # # sound/core/memalloc.c # 2004/04/14 04:44:16+02:00 perex@suse.cz +9 -2 # ALSA CVS update # D:2004/04/14 10:44:16 # C:Memalloc module # A:Takashi Iwai # F:core/memalloc.c:1.29->1.30 # L:fixed the allocation of coherent DMA pages under 32bit mask. # # ChangeSet # 2004/04/24 15:57:05+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Intel8x0 driver # fixed MX440 workaround in suspend/resume. # # sound/pci/intel8x0.c # 2004/04/13 11:22:54+02:00 perex@suse.cz +17 -0 # ALSA CVS update # D:2004/04/13 17:22:54 # C:Intel8x0 driver # A:Takashi Iwai # F:pci/intel8x0.c:1.133->1.134 # L:fixed MX440 workaround in suspend/resume. # # ChangeSet # 2004/04/24 15:56:47+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ICE1712 driver # added Event Electronics EZ8 support by Doug McLain # # sound/pci/ice1712/ice1712.h # 2004/04/13 10:39:21+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/13 16:39:21 # C:ICE1712 driver # A:Takashi Iwai # F:pci/ice1712/hoontech.c:1.3->1.4 # F:pci/ice1712/ice1712.c:1.49->1.50 # F:pci/ice1712/ice1712.h:1.18->1.19 # L:added Event Electronics EZ8 support by Doug McLain # # sound/pci/ice1712/ice1712.c # 2004/04/13 10:39:21+02:00 perex@suse.cz +11 -2 # ALSA CVS update # D:2004/04/13 16:39:21 # C:ICE1712 driver # A:Takashi Iwai # F:pci/ice1712/hoontech.c:1.3->1.4 # F:pci/ice1712/ice1712.c:1.49->1.50 # F:pci/ice1712/ice1712.h:1.18->1.19 # L:added Event Electronics EZ8 support by Doug McLain # # sound/pci/ice1712/hoontech.c # 2004/04/13 10:39:21+02:00 perex@suse.cz +14 -0 # ALSA CVS update # D:2004/04/13 16:39:21 # C:ICE1712 driver # A:Takashi Iwai # F:pci/ice1712/hoontech.c:1.3->1.4 # F:pci/ice1712/ice1712.c:1.49->1.50 # F:pci/ice1712/ice1712.h:1.18->1.19 # L:added Event Electronics EZ8 support by Doug McLain # # ChangeSet # 2004/04/24 15:56:24+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # PCI drivers,au88x0 driver # bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0_synth.c # 2004/04/13 10:26:28+02:00 perex@suse.cz +13 -11 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0_pcm.c # 2004/04/13 10:26:28+02:00 perex@suse.cz +9 -14 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0_game.c # 2004/04/13 10:26:28+02:00 perex@suse.cz +7 -5 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0_eq.c # 2004/04/13 10:26:28+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0_core.c # 2004/04/13 10:26:28+02:00 perex@suse.cz +27 -34 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0_a3d.c # 2004/04/13 10:26:28+02:00 perex@suse.cz +6 -0 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0.h # 2004/04/13 10:26:27+02:00 perex@suse.cz +9 -7 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au88x0.c # 2004/04/13 10:26:27+02:00 perex@suse.cz +54 -44 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au8830.h # 2004/04/13 10:26:27+02:00 perex@suse.cz +4 -4 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au8820.h # 2004/04/13 10:26:27+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/au88x0/au8810.h # 2004/04/13 10:26:27+02:00 perex@suse.cz +62 -44 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # sound/pci/Kconfig # 2004/04/13 10:26:27+02:00 perex@suse.cz +8 -0 # ALSA CVS update # D:2004/04/13 16:26:27 # C:PCI drivers,au88x0 driver # A:Takashi Iwai # F:pci/Kconfig:1.25->1.26 # F:pci/au88x0/au8810.h:1.2->1.3 # F:pci/au88x0/au8820.h:1.2->1.3 # F:pci/au88x0/au8830.h:1.2->1.3 # F:pci/au88x0/au88x0.c:1.8->1.9 # F:pci/au88x0/au88x0.h:1.3->1.4 # F:pci/au88x0/au88x0_a3d.c:1.2->1.3 # F:pci/au88x0/au88x0_core.c:1.3->1.4 # F:pci/au88x0/au88x0_eq.c:1.1->1.2 # F:pci/au88x0/au88x0_game.c:1.2->1.3 # F:pci/au88x0/au88x0_pcm.c:1.2->1.3 # F:pci/au88x0/au88x0_synth.c:1.1->1.2 # L:bugfixes and VIA/AMD chipset automatic workaround by Manuel Jander # # ChangeSet # 2004/04/24 15:50:42+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # Trident driver,Digigram VX222 driver,YMFPCI driver # - removed superfluous warning messages after pci_module_init(). # (2.6 kernel doesn't return the error anyway...) # - store card pointer in pci_drvdata instead of chip pointer. # this would make easier to add PM support. # # sound/pci/ymfpci/ymfpci.c # 2004/04/13 09:59:17+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/vx222/vx222.c # 2004/04/13 09:59:17+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/via82xx.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/trident/trident.c # 2004/04/13 09:59:17+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/sonicvibes.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/rme9652/rme9652.c # 2004/04/13 09:59:17+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/rme9652/hdsp.c # 2004/04/13 09:59:02+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/rme96.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/rme32.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/nm256/nm256.c # 2004/04/13 09:59:02+02:00 perex@suse.cz +1 -8 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/mixart/mixart.c # 2004/04/13 09:59:02+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/maestro3.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/korg1212/korg1212.c # 2004/04/13 09:59:02+02:00 perex@suse.cz +3 -12 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/intel8x0m.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -10 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/intel8x0.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +2 -5 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/ice1712/ice1724.c # 2004/04/13 09:59:01+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/ice1712/ice1712.c # 2004/04/13 09:59:01+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/fm801.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/es1968.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -12 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/es1938.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/ens1370.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/emu10k1/emu10k1.c # 2004/04/13 09:59:01+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/cs46xx/cs46xx.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/cs4281.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/cmipci.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/bt87x.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +3 -14 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/azt3328.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +8 -20 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/au88x0/au88x0.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +4 -21 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/atiixp.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -10 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/als4000.c # 2004/04/13 09:58:59+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # sound/pci/ali5451/ali5451.c # 2004/04/13 09:59:00+02:00 perex@suse.cz +1 -9 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/04/13 09:58:59+02:00 perex@suse.cz +2 -20 # ALSA CVS update # D:2004/04/13 15:58:59 # C:Documentation,ALS4000 driver,ATIIXP driver,AZT3328 driver,BT87x driver # C:CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver # C:ES1968 driver,FM801 driver,Intel8x0 driver,Intel8x0-modem driver # C:Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver # C:VIA82xx driver,ALI5451 driver,au88x0 driver,CS46xx driver # C:EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver # C:MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver # C:Trident driver,Digigram VX222 driver,YMFPCI driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.26->1.27 # F:pci/als4000.c:1.32->1.33 # F:pci/atiixp.c:1.4->1.5 # F:pci/azt3328.c:1.12->1.13 # F:pci/bt87x.c:1.4->1.5 # F:pci/cmipci.c:1.62->1.63 # F:pci/cs4281.c:1.52->1.53 # F:pci/ens1370.c:1.59->1.60 # F:pci/es1938.c:1.34->1.35 # F:pci/es1968.c:1.63->1.64 # F:pci/fm801.c:1.44->1.45 # F:pci/intel8x0.c:1.132->1.133 # F:pci/intel8x0m.c:1.3->1.4 # F:pci/maestro3.c:1.50->1.51 # F:pci/rme32.c:1.32->1.33 # F:pci/rme96.c:1.34->1.35 # F:pci/sonicvibes.c:1.34->1.35 # F:pci/via82xx.c:1.95->1.96 # F:pci/ali5451/ali5451.c:1.46->1.47 # F:pci/au88x0/au88x0.c:1.7->1.8 # F:pci/cs46xx/cs46xx.c:1.26->1.27 # F:pci/emu10k1/emu10k1.c:1.23->1.24 # F:pci/ice1712/ice1712.c:1.48->1.49 # F:pci/ice1712/ice1724.c:1.28->1.29 # F:pci/korg1212/korg1212.c:1.37->1.38 # F:pci/mixart/mixart.c:1.7->1.8 # F:pci/nm256/nm256.c:1.35->1.36 # F:pci/rme9652/hdsp.c:1.55->1.56 # F:pci/rme9652/rme9652.c:1.43->1.44 # F:pci/trident/trident.c:1.23->1.24 # F:pci/vx222/vx222.c:1.4->1.5 # F:pci/ymfpci/ymfpci.c:1.35->1.36 # L:- removed superfluous warning messages after pci_module_init(). # L: (2.6 kernel doesn't return the error anyway...) # L:- store card pointer in pci_drvdata instead of chip pointer. # L: this would make easier to add PM support. # # ChangeSet # 2004/04/24 15:50:18+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # USB generic driver # use wrapper function for usb_control_msg() # to prevent DMA'ing from/to the stack # # sound/usb/usbmixer.c # 2004/04/13 02:56:34+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/04/13 08:56:23 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.97->1.98 # F:usb/usbaudio.h:1.29->1.30 # F:usb/usbmixer.c:1.26->1.27 # L:use wrapper function for usb_control_msg() # L:to prevent DMA'ing from/to the stack # # sound/usb/usbaudio.h # 2004/04/13 02:56:24+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/04/13 08:56:23 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.97->1.98 # F:usb/usbaudio.h:1.29->1.30 # F:usb/usbmixer.c:1.26->1.27 # L:use wrapper function for usb_control_msg() # L:to prevent DMA'ing from/to the stack # # sound/usb/usbaudio.c # 2004/04/13 02:56:23+02:00 perex@suse.cz +30 -4 # ALSA CVS update # D:2004/04/13 08:56:23 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.97->1.98 # F:usb/usbaudio.h:1.29->1.30 # F:usb/usbmixer.c:1.26->1.27 # L:use wrapper function for usb_control_msg() # L:to prevent DMA'ing from/to the stack # # ChangeSet # 2004/04/24 15:49:59+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # ALSA sequencer # load snd-seq-dummy automatically, as documented in seq_dummy.c # # sound/core/seq/seq.c # 2004/04/13 02:40:44+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/04/13 08:40:44 # C:ALSA sequencer # A:Clemens Ladisch # F:core/seq/seq.c:1.10->1.11 # L:load snd-seq-dummy automatically, as documented in seq_dummy.c # # ChangeSet # 2004/04/24 15:49:37+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # Trident driver,CS4231 driver,PARISC Harmony driver # Remove all old SNDRV_DMA_TYPE_PCI references # # sound/parisc/harmony.c # 2004/04/08 12:10:08+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/08 18:10:08 # C:Trident driver,CS4231 driver,PARISC Harmony driver # A:Jaroslav Kysela # F:include/trident.h:1.17->1.18 # F:isa/cs423x/cs4231_lib.c:1.38->1.39 # F:parisc/harmony.c:1.6->1.7 # L:Remove all old SNDRV_DMA_TYPE_PCI references # # sound/isa/cs423x/cs4231_lib.c # 2004/04/08 12:10:08+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/08 18:10:08 # C:Trident driver,CS4231 driver,PARISC Harmony driver # A:Jaroslav Kysela # F:include/trident.h:1.17->1.18 # F:isa/cs423x/cs4231_lib.c:1.38->1.39 # F:parisc/harmony.c:1.6->1.7 # L:Remove all old SNDRV_DMA_TYPE_PCI references # # include/sound/trident.h # 2004/04/08 12:10:08+02:00 perex@suse.cz +0 -7 # ALSA CVS update # D:2004/04/08 18:10:08 # C:Trident driver,CS4231 driver,PARISC Harmony driver # A:Jaroslav Kysela # F:include/trident.h:1.17->1.18 # F:isa/cs423x/cs4231_lib.c:1.38->1.39 # F:parisc/harmony.c:1.6->1.7 # L:Remove all old SNDRV_DMA_TYPE_PCI references # # ChangeSet # 2004/04/24 15:49:19+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ALI5451 driver # Clean up of power-management codes. # # - moved commonly used codes to the core layer. # - using the unified suspend/resume callbacks for PCI and ISA # - added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # as the registration functions. # # sound/pci/ali5451/ali5451.c # 2004/04/08 12:04:21+02:00 perex@suse.cz +11 -22 # ALSA CVS update # D:2004/04/08 18:04:21 # C:ALI5451 driver # A:Takashi Iwai # F:pci/ali5451/ali5451.c:1.45->1.46 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # ChangeSet # 2004/04/24 15:48:59+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # Sound Core PDAudioCF driver # Clean up of power-management codes. # # - moved commonly used codes to the core layer. # - using the unified suspend/resume callbacks for PCI and ISA # - added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # as the registration functions. # # sound/pcmcia/pdaudiocf/pdaudiocf_core.c # 2004/04/08 11:35:01+02:00 perex@suse.cz +5 -28 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pcmcia/pdaudiocf/pdaudiocf.h # 2004/04/08 11:35:01+02:00 perex@suse.cz +2 -3 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pcmcia/pdaudiocf/pdaudiocf.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +3 -6 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/ymfpci/ymfpci_main.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +6 -30 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/ymfpci/ymfpci.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +3 -23 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/trident/trident_main.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +10 -36 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/trident/trident.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +3 -23 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/nm256/nm256.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +9 -55 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/maestro3.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +13 -57 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/intel8x0m.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +9 -64 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/intel8x0.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +9 -63 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/es1968.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +12 -59 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/cs46xx/cs46xx_lib.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +6 -33 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/cs46xx/cs46xx.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +3 -23 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/cs4281.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +11 -55 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/atiixp.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/pci/ali5451/ali5451.c # 2004/04/08 11:35:00+02:00 perex@suse.cz +2 -4 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/isa/opl3sa2.c # 2004/04/08 11:34:59+02:00 perex@suse.cz +11 -66 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/isa/es18xx.c # 2004/04/08 11:34:59+02:00 perex@suse.cz +7 -58 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/isa/cs423x/cs4231_lib.c # 2004/04/08 11:34:59+02:00 perex@suse.cz +17 -21 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/isa/ad1848/ad1848_lib.c # 2004/04/08 11:34:59+02:00 perex@suse.cz +10 -55 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/core/sound.c # 2004/04/08 11:34:59+02:00 perex@suse.cz +8 -0 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/core/init.c # 2004/04/08 11:34:59+02:00 perex@suse.cz +97 -0 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # sound/core/control.c # 2004/04/08 11:34:59+02:00 perex@suse.cz +27 -2 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # include/sound/ymfpci.h # 2004/04/08 11:34:59+02:00 perex@suse.cz +0 -5 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # include/sound/trident.h # 2004/04/08 11:34:59+02:00 perex@suse.cz +0 -6 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # include/sound/cs46xx.h # 2004/04/08 11:34:59+02:00 perex@suse.cz +0 -8 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # include/sound/cs4231.h # 2004/04/08 11:34:59+02:00 perex@suse.cz +0 -1 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # include/sound/core.h # 2004/04/08 11:34:59+02:00 perex@suse.cz +21 -2 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # include/sound/ad1848.h # 2004/04/08 11:34:59+02:00 perex@suse.cz +0 -3 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/04/08 11:34:59+02:00 perex@suse.cz +36 -114 # ALSA CVS update # D:2004/04/08 17:34:59 # C:Documentation,Control Midlevel,ALSA Core,AD1848 driver,CS4231 driver # C:CS46xx driver,Trident driver,YMFPCI driver,ES18xx driver,OPL3SA2 driver # C:ATIIXP driver,CS4281 driver,ES1968 driver,Intel8x0 driver # C:Intel8x0-modem driver,Maestro3 driver,ALI5451 driver,NM256 driver # C:Sound Core PDAudioCF driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.25->1.26 # F:core/control.c:1.41->1.42 # F:core/init.c:1.44->1.45 # F:core/sound.c:1.60->1.61 # F:include/ad1848.h:1.9->1.10 # F:include/core.h:1.49->1.50 # F:include/cs4231.h:1.7->1.8 # F:include/cs46xx.h:1.18->1.19 # F:include/trident.h:1.16->1.17 # F:include/ymfpci.h:1.14->1.15 # F:isa/es18xx.c:1.45->1.46 # F:isa/opl3sa2.c:1.33->1.34 # F:isa/ad1848/ad1848_lib.c:1.34->1.35 # F:isa/cs423x/cs4231_lib.c:1.37->1.38 # F:pci/atiixp.c:1.3->1.4 # F:pci/cs4281.c:1.51->1.52 # F:pci/es1968.c:1.62->1.63 # F:pci/intel8x0.c:1.131->1.132 # F:pci/intel8x0m.c:1.2->1.3 # F:pci/maestro3.c:1.49->1.50 # F:pci/ali5451/ali5451.c:1.44->1.45 # F:pci/cs46xx/cs46xx.c:1.25->1.26 # F:pci/cs46xx/cs46xx_lib.c:1.71->1.72 # F:pci/nm256/nm256.c:1.34->1.35 # F:pci/trident/trident.c:1.22->1.23 # F:pci/trident/trident_main.c:1.55->1.56 # F:pci/ymfpci/ymfpci.c:1.34->1.35 # F:pci/ymfpci/ymfpci_main.c:1.49->1.50 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.5->1.6 # F:pcmcia/pdaudiocf/pdaudiocf.h:1.4->1.5 # F:pcmcia/pdaudiocf/pdaudiocf_core.c:1.2->1.3 # L:Clean up of power-management codes. # L: # L:- moved commonly used codes to the core layer. # L:- using the unified suspend/resume callbacks for PCI and ISA # L:- added snd_card_set_pm_callbacks() and snd_card_set_isa_pm_callbacks() # L: as the registration functions. # # ChangeSet # 2004/04/24 15:48:26+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # SPARC cs4231 driver,USB generic driver # use the new module_param*() functions. # # sound/usb/usbaudio.c # 2004/04/07 12:48:23+02:00 perex@suse.cz +9 -31 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/sparc/cs4231.c # 2004/04/07 12:48:22+02:00 perex@suse.cz +5 -25 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/sparc/amd7930.c # 2004/04/07 12:48:22+02:00 perex@suse.cz +5 -25 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/ppc/powermac.c # 2004/04/07 12:48:22+02:00 perex@suse.cz +5 -28 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pcmcia/vx/vxpocket.c # 2004/04/07 12:48:22+02:00 perex@suse.cz +8 -6 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pcmcia/pdaudiocf/pdaudiocf.c # 2004/04/07 12:48:22+02:00 perex@suse.cz +7 -5 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/ymfpci/ymfpci.c # 2004/04/07 12:48:21+02:00 perex@suse.cz +9 -32 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/vx222/vx222.c # 2004/04/07 12:48:21+02:00 perex@suse.cz +7 -27 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/via82xx.c # 2004/04/07 12:48:17+02:00 perex@suse.cz +10 -39 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/trident/trident.c # 2004/04/07 12:48:21+02:00 perex@suse.cz +7 -30 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/sonicvibes.c # 2004/04/07 12:48:17+02:00 perex@suse.cz +8 -32 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/rme9652/rme9652.c # 2004/04/07 12:48:21+02:00 perex@suse.cz +6 -26 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/rme9652/hdsp.c # 2004/04/07 12:48:20+02:00 perex@suse.cz +7 -27 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/rme96.c # 2004/04/07 12:48:17+02:00 perex@suse.cz +5 -25 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/rme32.c # 2004/04/07 12:48:17+02:00 perex@suse.cz +5 -23 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/nm256/nm256.c # 2004/04/07 12:48:20+02:00 perex@suse.cz +11 -38 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/mixart/mixart.c # 2004/04/07 12:48:20+02:00 perex@suse.cz +5 -25 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/maestro3.c # 2004/04/07 12:48:17+02:00 perex@suse.cz +7 -29 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/korg1212/korg1212.c # 2004/04/07 12:48:20+02:00 perex@suse.cz +5 -26 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/intel8x0m.c # 2004/04/07 12:48:17+02:00 perex@suse.cz +6 -28 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/intel8x0.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +9 -38 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/ice1712/ice1724.c # 2004/04/07 12:48:20+02:00 perex@suse.cz +5 -25 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/ice1712/ice1712.c # 2004/04/07 12:48:20+02:00 perex@suse.cz +7 -27 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/fm801.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +6 -27 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/es1968.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +14 -52 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/es1938.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +5 -25 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/ens1370.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +7 -39 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/emu10k1/emu10k1.c # 2004/04/07 12:48:19+02:00 perex@suse.cz +11 -34 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/cs46xx/cs46xx.c # 2004/04/07 12:48:19+02:00 perex@suse.cz +8 -31 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/cs4281.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +6 -26 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/cmipci.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +9 -39 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/bt87x.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +6 -26 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/azt3328.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +6 -33 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/au88x0/au88x0.c # 2004/04/07 12:48:19+02:00 perex@suse.cz +6 -23 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/atiixp.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +7 -30 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/als4000.c # 2004/04/07 12:48:16+02:00 perex@suse.cz +6 -30 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/ali5451/ali5451.c # 2004/04/07 12:48:19+02:00 perex@suse.cz +7 -30 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/pci/ac97/ac97_codec.c # 2004/04/07 12:48:18+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/parisc/harmony.c # 2004/04/07 12:48:15+02:00 perex@suse.cz +12 -1 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/wavefront/wavefront_synth.c # 2004/04/07 12:48:15+02:00 perex@suse.cz +11 -10 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/wavefront/wavefront.c # 2004/04/07 12:48:15+02:00 perex@suse.cz +16 -53 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/sscape.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +8 -34 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/sgalaxy.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +8 -34 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/sb/sb8.c # 2004/04/07 12:48:15+02:00 perex@suse.cz +8 -32 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/sb/sb16.c # 2004/04/07 12:48:15+02:00 perex@suse.cz +16 -72 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/sb/es968.c # 2004/04/07 12:48:15+02:00 perex@suse.cz +8 -32 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/sb/emu8000_patch.c # 2004/04/07 12:48:15+02:00 perex@suse.cz +3 -3 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/opti9xx/opti92x-ad1848.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +12 -56 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/opl3sa2.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +15 -53 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/gus/interwave.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +15 -60 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/gus/gusmax.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +12 -43 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/gus/gusextreme.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +16 -49 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/gus/gusclassic.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +12 -43 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/es18xx.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +12 -47 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/es1688/es1688.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +10 -38 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/dt019x.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +11 -39 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/cs423x/pc98.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +14 -44 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/cs423x/cs4236.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +15 -59 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/cs423x/cs4231.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +11 -41 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/cmi8330.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +13 -50 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/azt2320.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +13 -42 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/als100.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +12 -41 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/ad1848/ad1848.c # 2004/04/07 12:48:14+02:00 perex@suse.cz +9 -34 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/isa/ad1816a/ad1816a.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +12 -41 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/drivers/virmidi.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +6 -27 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/drivers/serial-u16550.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +13 -43 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/drivers/opl4/opl4_seq.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/drivers/opl3/opl3_seq.c # 2004/04/07 12:48:13+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/drivers/mtpav.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +6 -28 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/drivers/mpu401/mpu401.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +9 -40 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/drivers/dummy.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +8 -31 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/timer.c # 2004/04/07 12:48:11+02:00 perex@suse.cz +2 -13 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/sound.c # 2004/04/07 12:48:11+02:00 perex@suse.cz +4 -3 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/seq/seq_midi.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/seq/seq_dummy.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +7 -4 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/seq/seq.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +9 -7 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/seq/oss/seq_oss_init.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/seq/oss/seq_oss.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +2 -1 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/rtctimer.c # 2004/04/07 12:48:11+02:00 perex@suse.cz +2 -13 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/rawmidi.c # 2004/04/07 12:48:11+02:00 perex@suse.cz +4 -22 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/pcm_memory.c # 2004/04/07 12:48:11+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/oss/pcm_oss.c # 2004/04/07 12:48:12+02:00 perex@suse.cz +5 -24 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/core/memalloc.c # 2004/04/07 12:48:11+02:00 perex@suse.cz +3 -20 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # sound/arm/sa11xx-uda1341.c # 2004/04/07 12:48:10+02:00 perex@suse.cz +3 -2 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # include/sound/initval.h # 2004/04/07 12:48:13+02:00 perex@suse.cz +0 -40 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl # 2004/04/07 12:48:10+02:00 perex@suse.cz +9 -37 # ALSA CVS update # D:2004/04/07 18:48:10 # C:Documentation,SA11xx UDA1341 driver,Memalloc module,PCM Midlevel # C:RawMidi Midlevel,RTC timer driver,ALSA Core,Timer Midlevel # C:ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer,Generic drivers # C:MPU401 UART,OPL3,OPL4,ALS100 driver,AZT2320 driver,CMI8330 driver # C:DT019x driver,ES18xx driver,OPL3SA2 driver,Sound Galaxy driver # C:Sound Scape driver,AD1816A driver,AD1848 driver,CS4231 driver # C:CS4236+ driver,PC98(CS423x) driver,ES1688 driver,GUS Classic driver # C:GUS Extreme driver,GUS MAX driver,AMD InterWave driver,Opti9xx drivers # C:EMU8000 driver,ES968 driver,SB16/AWE driver,SB8 driver # C:Wavefront drivers,PARISC Harmony driver,ALS4000 driver,ATIIXP driver # C:AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver # C:ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver # C:Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver # C:RME96 driver,SonicVibes driver,VIA82xx driver,AC97 Codec Core # C:ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver # C:ICE1712 driver,ICE1724 driver,KORG1212 driver,MIXART driver # C:NM256 driver,RME HDSP driver,RME9652 driver,Trident driver # C:Digigram VX222 driver,YMFPCI driver,Sound Core PDAudioCF driver # C:Digigram VX Pocket driver,PPC PowerMac driver,SPARC AMD7930 driver # C:SPARC cs4231 driver,USB generic driver # A:Takashi Iwai # F:Documentation/DocBook/writing-an-alsa-driver.tmpl:1.24->1.25 # F:arm/sa11xx-uda1341.c:1.13->1.14 # F:core/memalloc.c:1.28->1.29 # F:core/pcm_memory.c:1.25->1.26 # F:core/rawmidi.c:1.41->1.42 # F:core/rtctimer.c:1.19->1.20 # F:core/sound.c:1.59->1.60 # F:core/timer.c:1.56->1.57 # F:core/oss/pcm_oss.c:1.66->1.67 # F:core/seq/seq.c:1.9->1.10 # F:core/seq/seq_dummy.c:1.10->1.11 # F:core/seq/seq_midi.c:1.18->1.19 # F:core/seq/oss/seq_oss.c:1.11->1.12 # F:core/seq/oss/seq_oss_init.c:1.11->1.12 # F:drivers/dummy.c:1.26->1.27 # F:drivers/mtpav.c:1.26->1.27 # F:drivers/serial-u16550.c:1.25->1.26 # F:drivers/virmidi.c:1.11->1.12 # F:drivers/mpu401/mpu401.c:1.16->1.17 # F:drivers/opl3/opl3_seq.c:1.12->1.13 # F:drivers/opl4/opl4_seq.c:1.2->1.3 # F:include/initval.h:1.19->1.20 # F:isa/als100.c:1.24->1.25 # F:isa/azt2320.c:1.24->1.25 # F:isa/cmi8330.c:1.28->1.29 # F:isa/dt019x.c:1.18->1.19 # F:isa/es18xx.c:1.44->1.45 # F:isa/opl3sa2.c:1.32->1.33 # F:isa/sgalaxy.c:1.19->1.20 # F:isa/sscape.c:1.11->1.12 # F:isa/ad1816a/ad1816a.c:1.18->1.19 # F:isa/ad1848/ad1848.c:1.10->1.11 # F:isa/cs423x/cs4231.c:1.12->1.13 # F:isa/cs423x/cs4236.c:1.41->1.42 # F:isa/cs423x/pc98.c:1.7->1.8 # F:isa/es1688/es1688.c:1.14->1.15 # F:isa/gus/gusclassic.c:1.13->1.14 # F:isa/gus/gusextreme.c:1.15->1.16 # F:isa/gus/gusmax.c:1.14->1.15 # F:isa/gus/interwave.c:1.32->1.33 # F:isa/opti9xx/opti92x-ad1848.c:1.42->1.43 # F:isa/sb/emu8000_patch.c:1.8->1.9 # F:isa/sb/es968.c:1.24->1.25 # F:isa/sb/sb16.c:1.45->1.46 # F:isa/sb/sb8.c:1.18->1.19 # F:isa/wavefront/wavefront.c:1.27->1.28 # F:isa/wavefront/wavefront_synth.c:1.14->1.15 # F:parisc/harmony.c:1.5->1.6 # F:pci/als4000.c:1.31->1.32 # F:pci/atiixp.c:1.2->1.3 # F:pci/azt3328.c:1.11->1.12 # F:pci/bt87x.c:1.3->1.4 # F:pci/cmipci.c:1.61->1.62 # F:pci/cs4281.c:1.50->1.51 # F:pci/ens1370.c:1.58->1.59 # F:pci/es1938.c:1.33->1.34 # F:pci/es1968.c:1.61->1.62 # F:pci/fm801.c:1.43->1.44 # F:pci/intel8x0.c:1.130->1.131 # F:pci/intel8x0m.c:1.1->1.2 # F:pci/maestro3.c:1.48->1.49 # F:pci/rme32.c:1.31->1.32 # F:pci/rme96.c:1.33->1.34 # F:pci/sonicvibes.c:1.33->1.34 # F:pci/via82xx.c:1.94->1.95 # F:pci/ac97/ac97_codec.c:1.127->1.128 # F:pci/ali5451/ali5451.c:1.43->1.44 # F:pci/au88x0/au88x0.c:1.6->1.7 # F:pci/cs46xx/cs46xx.c:1.24->1.25 # F:pci/emu10k1/emu10k1.c:1.22->1.23 # F:pci/ice1712/ice1712.c:1.47->1.48 # F:pci/ice1712/ice1724.c:1.27->1.28 # F:pci/korg1212/korg1212.c:1.36->1.37 # F:pci/mixart/mixart.c:1.6->1.7 # F:pci/nm256/nm256.c:1.33->1.34 # F:pci/rme9652/hdsp.c:1.54->1.55 # F:pci/rme9652/rme9652.c:1.42->1.43 # F:pci/trident/trident.c:1.21->1.22 # F:pci/vx222/vx222.c:1.3->1.4 # F:pci/ymfpci/ymfpci.c:1.33->1.34 # F:pcmcia/pdaudiocf/pdaudiocf.c:1.4->1.5 # F:pcmcia/vx/vxpocket.c:1.3->1.4 # F:ppc/powermac.c:1.15->1.16 # F:sparc/amd7930.c:1.8->1.9 # F:sparc/cs4231.c:1.12->1.13 # F:usb/usbaudio.c:1.96->1.97 # L:use the new module_param*() functions. # # ChangeSet # 2004/04/24 15:47:52+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # AC97 Codec Core # fix AC'97 revision bits on AD1985 # # sound/pci/ac97/ac97_patch.c # 2004/04/07 02:25:06+02:00 perex@suse.cz +2 -0 # ALSA CVS update # D:2004/04/07 08:25:06 # C:AC97 Codec Core # A:Clemens Ladisch # F:pci/ac97/ac97_patch.c:1.42->1.43 # L:fix AC'97 revision bits on AD1985 # # ChangeSet # 2004/04/24 15:47:33+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # AC97 Codec Core # show AC'97 2.3 information in proc file # # sound/pci/ac97/ac97_proc.c # 2004/04/07 02:21:34+02:00 perex@suse.cz +57 -0 # ALSA CVS update # D:2004/04/07 08:21:33 # C:AC97 Codec Core # A:Clemens Ladisch # F:include/ac97_codec.h:1.43->1.44 # F:pci/ac97/ac97_proc.c:1.5->1.6 # L:show AC'97 2.3 information in proc file # # include/sound/ac97_codec.h # 2004/04/07 02:21:33+02:00 perex@suse.cz +19 -1 # ALSA CVS update # D:2004/04/07 08:21:33 # C:AC97 Codec Core # A:Clemens Ladisch # F:include/ac97_codec.h:1.43->1.44 # F:pci/ac97/ac97_proc.c:1.5->1.6 # L:show AC'97 2.3 information in proc file # # ChangeSet # 2004/04/24 15:47:10+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # Timer Midlevel,ALSA Core # Added early event flag and code to the timer interface. # # sound/core/timer.c # 2004/04/06 12:23:46+02:00 perex@suse.cz +29 -14 # ALSA CVS update # D:2004/04/06 18:23:46 # C:Timer Midlevel,ALSA Core # A:Jaroslav Kysela # F:core/timer.c:1.55->1.56 # F:include/asound.h:1.37->1.38 # F:include/timer.h:1.16->1.17 # L:Added early event flag and code to the timer interface. # # include/sound/timer.h # 2004/04/06 12:23:47+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/06 18:23:46 # C:Timer Midlevel,ALSA Core # A:Jaroslav Kysela # F:core/timer.c:1.55->1.56 # F:include/asound.h:1.37->1.38 # F:include/timer.h:1.16->1.17 # L:Added early event flag and code to the timer interface. # # include/sound/asound.h # 2004/04/06 12:23:47+02:00 perex@suse.cz +3 -1 # ALSA CVS update # D:2004/04/06 18:23:46 # C:Timer Midlevel,ALSA Core # A:Jaroslav Kysela # F:core/timer.c:1.55->1.56 # F:include/asound.h:1.37->1.38 # F:include/timer.h:1.16->1.17 # L:Added early event flag and code to the timer interface. # # ChangeSet # 2004/04/24 15:46:51+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # USB generic driver # allow specification of rate_table in AUDIO_FIXED_ENDPOINT quirks # # sound/usb/usbaudio.c # 2004/04/06 09:20:21+02:00 perex@suse.cz +15 -0 # ALSA CVS update # D:2004/04/06 15:20:21 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbaudio.c:1.95->1.96 # L:allow specification of rate_table in AUDIO_FIXED_ENDPOINT quirks # # ChangeSet # 2004/04/24 15:46:27+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # USB generic driver # remove superfluous address operator from literal arrays # # sound/usb/usbquirks.h # 2004/04/06 09:19:00+02:00 perex@suse.cz +5 -5 # ALSA CVS update # D:2004/04/06 15:19:00 # C:USB generic driver # A:Clemens Ladisch # F:usb/usbquirks.h:1.29->1.30 # L:remove superfluous address operator from literal arrays # # ChangeSet # 2004/04/24 15:46:08+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # Intel8x0 driver # 20-bit sample format support # # sound/pci/intel8x0.c # 2004/04/05 05:29:05+02:00 perex@suse.cz +26 -11 # ALSA CVS update # D:2004/04/05 11:29:05 # C:Intel8x0 driver # A:Clemens Ladisch # F:pci/intel8x0.c:1.129->1.130 # L:20-bit sample format support # # ChangeSet # 2004/04/24 15:45:45+02:00 perex@suse.cz # ALSA CVS update - Clemens Ladisch # AC97 Codec Core # fix access to wrong register when clearing powerdown bits # # sound/pci/ac97/ac97_codec.c # 2004/04/05 05:23:34+02:00 perex@suse.cz +2 -2 # ALSA CVS update # D:2004/04/05 11:23:34 # C:AC97 Codec Core # A:Clemens Ladisch # F:pci/ac97/ac97_codec.c:1.126->1.127 # L:fix access to wrong register when clearing powerdown bits # # ChangeSet # 2004/04/24 15:45:26+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # AC97 Codec Core # - fixed the possibl ac97 register cache mismatch. # - added the detection of spdif sample rates. # # sound/pci/ac97/ac97_pcm.c # 2004/04/04 11:03:59+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/04 17:03:58 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.125->1.126 # F:pci/ac97/ac97_pcm.c:1.12->1.13 # L:- fixed the possibl ac97 register cache mismatch. # L:- added the detection of spdif sample rates. # # sound/pci/ac97/ac97_codec.c # 2004/04/04 11:03:58+02:00 perex@suse.cz +44 -15 # ALSA CVS update # D:2004/04/04 17:03:58 # C:AC97 Codec Core # A:Takashi Iwai # F:pci/ac97/ac97_codec.c:1.125->1.126 # F:pci/ac97/ac97_pcm.c:1.12->1.13 # L:- fixed the possibl ac97 register cache mismatch. # L:- added the detection of spdif sample rates. # # ChangeSet # 2004/04/24 15:45:05+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # ATIIXP driver # - fixed SPDIF support. # restricted only 48k sample rate. # - fixed the address assignment for bigendian (not existing, though) # # sound/pci/atiixp.c # 2004/04/04 11:02:43+02:00 perex@suse.cz +82 -43 # ALSA CVS update # D:2004/04/04 17:02:43 # C:ATIIXP driver # A:Takashi Iwai # F:pci/atiixp.c:1.1->1.2 # L:- fixed SPDIF support. # L: restricted only 48k sample rate. # L:- fixed the address assignment for bigendian (not existing, though) # # ChangeSet # 2004/04/24 15:44:47+02:00 perex@suse.cz # ALSA CVS update - Takashi Iwai # VIA82xx driver # added dxs_support and ac97_quirk entries for Amira notebook. # # sound/pci/via82xx.c # 2004/04/04 11:01:15+02:00 perex@suse.cz +7 -0 # ALSA CVS update # D:2004/04/04 17:01:15 # C:VIA82xx driver # A:Takashi Iwai # F:pci/via82xx.c:1.93->1.94 # L:added dxs_support and ac97_quirk entries for Amira notebook. # # ChangeSet # 2004/04/24 15:44:24+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # ALSA Version # release: 1.0.4 # # include/sound/version.h # 2004/04/03 03:40:57+02:00 perex@suse.cz +1 -1 # ALSA CVS update # D:2004/04/03 10:40:57 # C:ALSA Version # A:Jaroslav Kysela # F:include/version.h:1.40->1.41 # L:release: 1.0.4 # # ChangeSet # 2004/04/24 15:44:04+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # PCMCIA Kconfig # SND_PDAUDIOCF depends on SND_PCM # # sound/pcmcia/Kconfig # 2004/04/03 02:33:33+02:00 perex@suse.cz +1 -0 # ALSA CVS update # D:2004/04/03 09:33:33 # C:PCMCIA Kconfig # A:Jaroslav Kysela # F:pcmcia/Kconfig:1.6->1.7 # L:SND_PDAUDIOCF depends on SND_PCM # # ChangeSet # 2004/04/24 15:43:44+02:00 perex@suse.cz # ALSA CVS update - Jaroslav Kysela # CS4281 driver # Added retry_count # # sound/pci/cs4281.c # 2004/04/03 02:32:56+02:00 perex@suse.cz +4 -0 # ALSA CVS update # D:2004/04/03 09:32:56 # C:CS4281 driver # A:Jaroslav Kysela # F:pci/cs4281.c:1.49->1.50 # L:Added retry_count # # ChangeSet # 2004/04/24 14:33:02+02:00 perex@suse.cz # Cleanups for Aureal PCI IDs. # # include/linux/pci_ids.h # 2004/04/24 14:32:50+02:00 perex@suse.cz +2 -3 # Cleanups for Aureal PCI IDs. # # ChangeSet # 2004/04/01 11:34:39+02:00 perex@suse.cz # Fixed ALSA aureal driver compilation - wrong and missing PCI IDs # # sound/pci/au88x0/au88x0.h # 2004/04/01 11:34:27+02:00 perex@suse.cz +2 -2 # sync with pci_ids.h # # sound/pci/au88x0/au8830.c # 2004/04/01 11:34:27+02:00 perex@suse.cz +1 -1 # Sync with pci_ids.h # # sound/pci/au88x0/au8820.c # 2004/04/01 11:34:27+02:00 perex@suse.cz +1 -1 # Sync with pci_ids.h # # include/linux/pci_ids.h # 2004/04/01 11:34:26+02:00 perex@suse.cz +1 -0 # Added PCI_DEVICE_ID_AUREAL_ADVANTAGE # diff -Nru a/Documentation/BK-usage/bk-kernel-howto.txt b/Documentation/BK-usage/bk-kernel-howto.txt --- a/Documentation/BK-usage/bk-kernel-howto.txt 2004-05-26 15:01:36 -07:00 +++ b/Documentation/BK-usage/bk-kernel-howto.txt 2004-05-26 15:01:36 -07:00 @@ -279,5 +279,5 @@ for my long-lived kernel branch? A. Yes. This requires BK 3.x, though. - bk export -tpatch -r`bk repogca http://linux.bkbits.net/linux-2.5`,+ + bk export -tpatch -r`bk repogca bk://linux.bkbits.net/linux-2.5`,+ diff -Nru a/Documentation/BK-usage/gcapatch b/Documentation/BK-usage/gcapatch --- a/Documentation/BK-usage/gcapatch 2004-05-26 15:01:36 -07:00 +++ b/Documentation/BK-usage/gcapatch 2004-05-26 15:01:36 -07:00 @@ -5,4 +5,4 @@ # Usage: gcapatch > foo.patch # -bk export -tpatch -hdu -r`bk repogca http://linux.bkbits.net/linux-2.5`,+ +bk export -tpatch -hdu -r`bk repogca bk://linux.bkbits.net/linux-2.5`,+ diff -Nru a/Documentation/laptop-mode.txt b/Documentation/laptop-mode.txt --- a/Documentation/laptop-mode.txt 2004-05-26 15:01:36 -07:00 +++ b/Documentation/laptop-mode.txt 2004-05-26 15:01:36 -07:00 @@ -279,7 +279,13 @@ fi } -KLEVEL="$(uname -r | cut -c1-3)" +KLEVEL=$( + uname -r | + ( + IFS="." read a b c + echo $a.$b + ) + ) case "$KLEVEL" in "2.4"|"2.6") true @@ -496,7 +502,7 @@ case $status in "on-line") - echo "Setting HD spindown to 2 hours" + echo "Setting HD spindown for AC mode." /sbin/laptop_mode stop /sbin/hdparm -S $ACAD_HD /dev/hda > /dev/null 2>&1 /sbin/hdparm -B 255 /dev/hda > /dev/null 2>&1 @@ -504,7 +510,7 @@ exit 0 ;; "off-line") - echo "Setting HD spindown to 20 seconds" + echo "Setting HD spindown for battery mode." /sbin/laptop_mode start /sbin/hdparm -S $BATT_HD /dev/hda > /dev/null 2>&1 /sbin/hdparm -B 1 /dev/hda > /dev/null 2>&1 diff -Nru a/Documentation/networking/bridge.txt b/Documentation/networking/bridge.txt --- a/Documentation/networking/bridge.txt 2004-05-26 15:01:36 -07:00 +++ b/Documentation/networking/bridge.txt 2004-05-26 15:01:36 -07:00 @@ -1,11 +1,8 @@ -In order to use the ethernet bridging functionality you'll need the -userspace tools available at http://www.math.leidenuniv.nl/~buytenh/bridge. -The tarball available there contains extensive documentation, but if you -still have questions, don't hesitate to post to the mailing list (more info -at http://www.math.leidenuniv.nl/mailman/listinfo/bridge). You can also -mail me at buytenh@gnu.org. +In order to use the Ethernet bridging functionality, you'll need the +userspace tools. These programs and documentation are available +at http://bridge.sourceforge.net. The download page is +http://prdownloads.sourceforge.net/bridge. +If you still have questions, don't hesitate to post to the mailing list +(more info http://lists.osdl.org/mailman/listinfo/bridge). - -Lennert Buytenhek - diff -Nru a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt --- a/Documentation/sound/alsa/ALSA-Configuration.txt 2004-05-26 15:01:35 -07:00 +++ b/Documentation/sound/alsa/ALSA-Configuration.txt 2004-05-26 15:01:35 -07:00 @@ -416,7 +416,8 @@ * Creative Card w/Digital out + Digital I/O 2 [0x0fc3/0x1f0f] * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f] * Creative Card 5.1/w Digital out + LiveDrive [0x3fc3/0x1fff] - * Creative Card all ins and outs [0x3fff/0x1fff] + * Creative Card 5.1 (c) 2003 [0x3fc3/0x7cff] + * Creative Card all ins and outs [0x3fff/0x7fff] Module snd-ens1370 ------------------ @@ -609,6 +610,10 @@ * Hoontech SoundTrack DSP 24 Media 7.1 * Digigram VX442 + model - Use the given board model, one of the following: + delta1010, dio2496, delta66, delta44, audiophile, delta410, + delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d, + dmx6fire, dsp24, dsp24_71, ez8 omni - Omni I/O support for MidiMan M-Audio Delta44/66 cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever) in msec resolution, default value is 500 (0.5 sec) @@ -625,6 +630,9 @@ * AMP Ltd AUDIO2000 * TerraTec Aureon Sky-5.1, Space-7.1 + model - Use the given board model, one of the following: + revo71, amp2000, prodigy71, aureon51, aureon71 + Module supports up to 8 cards and autoprobe. Module snd-intel8x0 @@ -787,6 +795,8 @@ Module supports autoprobe and multiple chips (max 8). + The power-management is supported. + Note: on some notebooks the buffer address cannot be detected automatically, or causes hang-up during initialization. In such a case, specify the buffer top address explicity via @@ -796,9 +806,24 @@ Sony F270: buffer_top=0x272800 The driver supports only ac97 codec. It's possible to force to initialize/use ac97 although it's not detected. In such a - case, use force_ac97=1 option. + case, use force_ac97=1 option - but *NO* guarantee whether it + works! - The power-management is supported. + Note: The NM256 chip can be linked internally with non-AC97 + codecs. This driver supports only the AC97 codec, and won't work + with machines with other (most likely CS423x or OPL3SAx) chips, + even though the device is detected in lspci. In such a case, try + other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP + but some doesn't have ISA PnP. You'll need to speicfy isapnp=0 + and proper hardware parameters in the case without ISA PnP. + + Note: This driver is really crappy. It's a porting from the + OSS driver, which is a result of black-magic reverse engineering. + The detection of codec will fail if the driver is loaded *after* + X-server as described above. You might be able to force to load + the module, but it may result in hang-up. Hence, make sure that + you load this module *before* X if you encounter this kind of + problem. Module snd-opl3sa2 ------------------ diff -Nru a/Documentation/sound/alsa/Audigy-mixer.txt b/Documentation/sound/alsa/Audigy-mixer.txt --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/Documentation/sound/alsa/Audigy-mixer.txt 2004-05-26 15:01:36 -07:00 @@ -0,0 +1,345 @@ + + Sound Blaster Audigy mixer / default DSP code + =========================================== + +This is based on SB-Live-mixer.txt. + +The EMU10K2 chips have a DSP part which can be programmed to support +various ways of sample processing, which is described here. +(This acticle does not deal with the overall functionality of the +EMU10K2 chips. See the manuals section for further details.) + +The ALSA driver programs this portion of chip by default code +(can be altered later) which offers the following functionality: + + +1) Digital mixer controls +------------------------- + +These controls are built using the DSP instructions. They offer extended +functionality. Only the default build-in code in the ALSA driver is described +here. Note that the controls work as attenuators: the maximum value is the +neutral position leaving the signal unchanged. Note that if the same destination +is mentioned in multiple controls, the signal is accumulated and can be wrapped +(set to maximal or minimal value without checking of overflow). + + +Explanation of used abbreviations: + +DAC - digital to analog converter +ADC - analog to digital converter +I2S - one-way three wire serial bus for digital sound by Philips Semiconductors + (this standard is used for connecting standalone DAC and ADC converters) +LFE - low frequency effects (subwoofer signal) +AC97 - a chip containing an analog mixer, DAC and ADC converters +IEC958 - S/PDIF +FX-bus - the EMU10K2 chip has an effect bus containing 64 accumulators. + Each of the synthesizer voices can feed its output to these accumulators + and the DSP microcontroller can operate with the resulting sum. + +name='PCM Front Playback Volume',index=0 + +This control is used to attenuate samples for left and right front PCM FX-bus +accumulators. ALSA uses accumulators 8 and 9 for left and right front PCM +samples for 5.1 playback. The result samples are forwarded to the front DAC PCM +slots of the Philips DAC. + +name='PCM Surround Playback Volume',index=0 + +This control is used to attenuate samples for left and right surround PCM FX-bus +accumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM +samples for 5.1 playback. The result samples are forwarded to the surround DAC PCM +slots of the Philips DAC. + +name='PCM Center Playback Volume',index=0 + +This control is used to attenuate samples for center PCM FX-bus accumulator. +ALSA uses accumulator 6 for center PCM sample for 5.1 playback. The result sample +is forwarded to the center DAC PCM slot of the Philips DAC. + +name='PCM LFE Playback Volume',index=0 + +This control is used to attenuate sample for LFE PCM FX-bus accumulator. +ALSA uses accumulator 7 for LFE PCM sample for 5.1 playback. The result sample +is forwarded to the LFE DAC PCM slot of the Philips DAC. + +name='PCM Playback Volume',index=0 + +This control is used to attenuate samples for left and right PCM FX-bus +accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for +stereo playback. The result samples are forwarded to the front DAC PCM slots +of the Philips DAC. + +name='PCM Capture Volume',index=0 + +This control is used to attenuate samples for left and right PCM FX-bus +accumulator. ALSA uses accumulators 0 and 1 for left and right PCM. +The result is forwarded to the ADC capture FIFO (thus to the standard capture +PCM device). + +name='Music Playback Volume',index=0 + +This control is used to attenuate samples for left and right MIDI FX-bus +accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. +The result samples are forwarded to the front DAC PCM slots of the AC97 codec. + +name='Music Capture Volume',index=0 + +These controls are used to attenuate samples for left and right MIDI FX-bus +accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. +The result is forwarded to the ADC capture FIFO (thus to the standard capture +PCM device). + +name='Mic Playback Volume',index=0 + +This control is used to attenuate samples for left and right Mic input. +For Mic input is used AC97 codec. The result samples are forwarded to +the front DAC PCM slots of the Philips DAC. Samples are forwarded to Mic +capture FIFO (device 1 - 16bit/8KHz mono) too without volume control. + +name='Mic Capture Volume',index=0 + +This control is used to attenuate samples for left and right Mic input. +The result is forwarded to the ADC capture FIFO (thus to the standard capture +PCM device). + +name='Audigy CD Playback Volume',index=0 + +This control is used to attenuate samples from left and right IEC958 TTL +digital inputs (usually used by a CDROM drive). The result samples are +forwarded to the front DAC PCM slots of the Philips DAC. + +name='Audigy CD Capture Volume',index=0 + +This control is used to attenuate samples from left and right IEC958 TTL +digital inputs (usually used by a CDROM drive). The result samples are +forwarded to the ADC capture FIFO (thus to the standard capture PCM device). + +name='IEC958 Optical Playback Volume',index=0 + +This control is used to attenuate samples from left and right IEC958 optical +digital input. The result samples are forwarded to the front DAC PCM slots +of the Philips DAC. + +name='IEC958 Optical Capture Volume',index=0 + +This control is used to attenuate samples from left and right IEC958 optical +digital inputs. The result samples are forwarded to the ADC capture FIFO +(thus to the standard capture PCM device). + +name='Line2 Playback Volume',index=0 + +This control is used to attenuate samples from left and right I2S ADC +inputs (on the AudigyDrive). The result samples are forwarded to the front +DAC PCM slots of the Philips DAC. + +name='Line2 Capture Volume',index=1 + +This control is used to attenuate samples from left and right I2S ADC +inputs (on the AudigyDrive). The result samples are forwarded to the ADC +capture FIFO (thus to the standard capture PCM device). + +name='Analog Mix Playback Volume',index=0 + +This control is used to attenuate samples from left and right I2S ADC +inputs from Philips ADC. The result samples are forwarded to the front +DAC PCM slots of the Philips DAC. This contains mix from analog sources +like CD, Line In, Aux, .... + +name='Analog Mix Capture Volume',index=1 + +This control is used to attenuate samples from left and right I2S ADC +inputs Philips ADC. The result samples are forwarded to the ADC +capture FIFO (thus to the standard capture PCM device). + +name='Aux2 Playback Volume',index=0 + +This control is used to attenuate samples from left and right I2S ADC +inputs (on the AudigyDrive). The result samples are forwarded to the front +DAC PCM slots of the Philips DAC. + +name='Aux2 Capture Volume',index=1 + +This control is used to attenuate samples from left and right I2S ADC +inputs (on the AudigyDrive). The result samples are forwarded to the ADC +capture FIFO (thus to the standard capture PCM device). + +name='Front Playback Volume',index=0 + +All stereo signals are mixed together and mirrored to surround, center and LFE. +This control is used to attenuate samples for left and right front speakers of +this mix. + +name='Surround Playback Volume',index=0 + +All stereo signals are mixed together and mirrored to surround, center and LFE. +This control is used to attenuate samples for left and right surround speakers of +this mix. + +name='Center Playback Volume',index=0 + +All stereo signals are mixed together and mirrored to surround, center and LFE. +This control is used to attenuate sample for center speaker of this mix. + +name='LFE Playback Volume',index=0 + +All stereo signals are mixed together and mirrored to surround, center and LFE. +This control is used to attenuate sample for LFE speaker of this mix. + +name='Tone Control - Switch',index=0 + +This control turns the tone control on or off. The samples for front, rear +and center / LFE outputs are affected. + +name='Tone Control - Bass',index=0 + +This control sets the bass intensity. There is no neutral value!! +When the tone control code is activated, the samples are always modified. +The closest value to pure signal is 20. + +name='Tone Control - Treble',index=0 + +This control sets the treble intensity. There is no neutral value!! +When the tone control code is activated, the samples are always modified. +The closest value to pure signal is 20. + +name='Master Playback Volume',index=0 + +This control is used to attenuate samples for front, surround, center and +LFE outputs. + +name='IEC958 Optical Raw Playback Switch',index=0 + +If this switch is on, then the samples for the IEC958 (S/PDIF) digital +output are taken only from the raw FX8010 PCM, otherwise standard front +PCM samples are taken. + + +2) PCM stream related controls +------------------------------ + +name='EMU10K1 PCM Volume',index 0-31 + +Channel volume attenuation in range 0-0xffff. The maximum value (no +attenuation) is default. The channel mapping for three values is +as follows: + + 0 - mono, default 0xffff (no attenuation) + 1 - left, default 0xffff (no attenuation) + 2 - right, default 0xffff (no attenuation) + +name='EMU10K1 PCM Send Routing',index 0-31 + +This control specifies the destination - FX-bus accumulators. There 24 +values with this mapping: + + 0 - mono, A destination (FX-bus 0-63), default 0 + 1 - mono, B destination (FX-bus 0-63), default 1 + 2 - mono, C destination (FX-bus 0-63), default 2 + 3 - mono, D destination (FX-bus 0-63), default 3 + 4 - mono, E destination (FX-bus 0-63), default 0 + 5 - mono, F destination (FX-bus 0-63), default 0 + 6 - mono, G destination (FX-bus 0-63), default 0 + 7 - mono, H destination (FX-bus 0-63), default 0 + 8 - left, A destination (FX-bus 0-63), default 0 + 9 - left, B destination (FX-bus 0-63), default 1 + 10 - left, C destination (FX-bus 0-63), default 2 + 11 - left, D destination (FX-bus 0-63), default 3 + 12 - left, E destination (FX-bus 0-63), default 0 + 13 - left, F destination (FX-bus 0-63), default 0 + 14 - left, G destination (FX-bus 0-63), default 0 + 15 - left, H destination (FX-bus 0-63), default 0 + 16 - right, A destination (FX-bus 0-63), default 0 + 17 - right, B destination (FX-bus 0-63), default 1 + 18 - right, C destination (FX-bus 0-63), default 2 + 19 - right, D destination (FX-bus 0-63), default 3 + 20 - right, E destination (FX-bus 0-63), default 0 + 21 - right, F destination (FX-bus 0-63), default 0 + 22 - right, G destination (FX-bus 0-63), default 0 + 23 - right, H destination (FX-bus 0-63), default 0 + +Don't forget that it's illegal to assign a channel to the same FX-bus accumulator +more than once (it means 0=0 && 1=0 is an invalid combination). + +name='EMU10K1 PCM Send Volume',index 0-31 + +It specifies the attenuation (amount) for given destination in range 0-255. +The channel mapping is following: + + 0 - mono, A destination attn, default 255 (no attenuation) + 1 - mono, B destination attn, default 255 (no attenuation) + 2 - mono, C destination attn, default 0 (mute) + 3 - mono, D destination attn, default 0 (mute) + 4 - mono, E destination attn, default 0 (mute) + 5 - mono, F destination attn, default 0 (mute) + 6 - mono, G destination attn, default 0 (mute) + 7 - mono, H destination attn, default 0 (mute) + 8 - left, A destination attn, default 255 (no attenuation) + 9 - left, B destination attn, default 0 (mute) + 10 - left, C destination attn, default 0 (mute) + 11 - left, D destination attn, default 0 (mute) + 12 - left, E destination attn, default 0 (mute) + 13 - left, F destination attn, default 0 (mute) + 14 - left, G destination attn, default 0 (mute) + 15 - left, H destination attn, default 0 (mute) + 16 - right, A destination attn, default 0 (mute) + 17 - right, B destination attn, default 255 (no attenuation) + 18 - right, C destination attn, default 0 (mute) + 19 - right, D destination attn, default 0 (mute) + 20 - right, E destination attn, default 0 (mute) + 21 - right, F destination attn, default 0 (mute) + 22 - right, G destination attn, default 0 (mute) + 23 - right, H destination attn, default 0 (mute) + + + +4) MANUALS/PATENTS: +------------------- + +ftp://opensource.creative.com/pub/doc +------------------------------------- + + Files: + LM4545.pdf AC97 Codec + + m2049.pdf The EMU10K1 Digital Audio Processor + + hog63.ps FX8010 - A DSP Chip Architecture for Audio Effects + + +WIPO Patents +------------ + Patent numbers: + WO 9901813 (A1) Audio Effects Processor with multiple asynchronous (Jan. 14, 1999) + streams + + WO 9901814 (A1) Processor with Instruction Set for Audio Effects (Jan. 14, 1999) + + WO 9901953 (A1) Audio Effects Processor having Decoupled Instruction + Execution and Audio Data Sequencing (Jan. 14, 1999) + + +US Patents (http://www.uspto.gov/) +---------------------------------- + + US 5925841 Digital Sampling Instrument employing cache memory (Jul. 20, 1999) + + US 5928342 Audio Effects Processor integrated on a single chip (Jul. 27, 1999) + with a multiport memory onto which multiple asynchronous + digital sound samples can be concurrently loaded + + US 5930158 Processor with Instruction Set for Audio Effects (Jul. 27, 1999) + + US 6032235 Memory initialization circuit (Tram) (Feb. 29, 2000) + + US 6138207 Interpolation looping of audio samples in cache connected to (Oct. 24, 2000) + system bus with prioritization and modification of bus transfers + in accordance with loop ends and minimum block sizes + + US 6151670 Method for conserving memory storage using a (Nov. 21, 2000) + pool of short term memory registers + + US 6195715 Interrupt control for multiple programs communicating with (Feb. 27, 2001) + a common interrupt by associating programs to GP registers, + defining interrupt register, polling GP registers, and invoking + callback routine associated with defined interrupt register diff -Nru a/Documentation/sound/alsa/CMIPCI.txt b/Documentation/sound/alsa/CMIPCI.txt --- a/Documentation/sound/alsa/CMIPCI.txt 2004-05-26 15:01:35 -07:00 +++ b/Documentation/sound/alsa/CMIPCI.txt 2004-05-26 15:01:35 -07:00 @@ -180,8 +180,8 @@ device automatically to the previous state. On the model 033, AC3 is implemented by the software conversion in -the driver. This prevents the mmap support. If you need mmap -support, pass the "soft_ac3=0" module option. This doesn't matter +the alsa-lib. If you need to bypass the software conversion of IEC958 +subframes, pass the "soft_ac3=0" module option. This doesn't matter on the newer models. diff -Nru a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl 2004-05-26 15:01:35 -07:00 +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl 2004-05-26 15:01:35 -07:00 @@ -511,7 +511,7 @@ } // (7) - pci_set_drvdata(pci, chip); + pci_set_drvdata(pci, card); dev++; return 0; } @@ -519,10 +519,7 @@ // destructor -- see "Destructor" sub-section static void __devexit snd_mychip_remove(struct pci_dev *pci) { - mychip_t *chip = snd_magic_cast(mychip_t, - pci_get_drvdata(pci), return); - if (chip) - snd_card_free(chip->card); + snd_card_free(pci_get_drvdata(pci)); pci_set_drvdata(pci, NULL); } ]]> @@ -691,21 +688,16 @@ - In the above, the chip record is stored. This pointer is + In the above, the card record is stored. This pointer is referred in the remove callback and power-management callbacks, too. - If the card doesn't support the suspend/resume, you can store - the card pointer instead of the chip pointer, so that - snd_card_free can be called directly - without cast in the remove callback. But anyway, be sure - which pointer is used. @@ -726,21 +718,15 @@ card); + snd_card_free(pci_get_drvdata(pci)); pci_set_drvdata(pci, NULL); } ]]> - The above code assumes that the chip is allocated - with snd_magic stuff and - has the field to hold the card pointer (see the next - section). + The above code assumes that the card pointer is set to the PCI + driver data. @@ -1355,16 +1341,7 @@ // initialization of the module static int __init alsa_card_mychip_init(void) { - int err; - - if ((err = pci_module_init(&driver)) < 0) { - #ifdef MODULE - printk(KERN_ERR "My chip soundcard not found " - "or device busy\n"); - #endif - return err; - } - return 0; + return pci_module_init(&driver); } // clean up the module @@ -1781,16 +1758,7 @@ - Basic jobs of suspend/resume are done in - suspend and - resume callbacks of - pci_driver struct. Unfortunately, the - API of these callbacks was changed at the middle time of Linux - 2.4.x, if you want to keep the support for older kernels, you - have to write two different callbacks. The example below is the - skeleton callbacks which just call the real suspend and resume - functions. + ALSA provides the common power-management layer. Each card driver + needs to have only low-level suspend and resume callbacks. @@ -5302,17 +5246,10 @@ - For keeping the readability of 2.6 source code, it's recommended to - separate the above ifdef condition as the patch file in alsa-driver - directory. - See alsa-driver/pci/ali5451.c for example. - - - The scheme of the real suspend job is as following. - Check whether the power-state is already D3hot. If yes, skip the job. + Retrieve the chip data from pm_private_data field. Call snd_pcm_suspend_all() to suspend the running PCM streams. Save the register values if necessary. Stop the hardware if necessary. @@ -5326,12 +5263,11 @@ card; // (1) - if (card->power_state == SNDRV_CTL_POWER_D3hot) - return; + mychip_t *chip = snd_magic_cast(mychip_t, card->pm_private_data, + return -ENXIO); // (2) snd_pcm_suspend_all(chip->pcm); // (3) @@ -5340,6 +5276,7 @@ snd_mychip_stop_hardware(chip); // (5) snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); + return 0; } ]]> @@ -5350,8 +5287,7 @@ The scheme of the real resume job is as following. - Check whether the power-state is already D0. - If yes, skip the job. + Retrieve the chip data from pm_private_data field. Enable the pci device again by calling pci_enable_device(). Re-initialize the chip. @@ -5372,10 +5308,9 @@ card; // (1) - if (card->power_state == SNDRV_CTL_POWER_D0) - return; + mychip_t *chip = snd_magic_cast(mychip_t, card->pm_private_data, + return -ENXIO); // (2) pci_enable_device(chip->pci); // (3) @@ -5388,38 +5323,6 @@ snd_mychip_restart_chip(chip); // (7) snd_power_change_state(card, SNDRV_CTL_POWER_D0); - } -]]> - - - - - - In addition to the callbacks above, you should define a callback - for the changes via the ALSA control interface. It's defined - like below: - - - -power_state_private_data, return -ENXIO); - switch (power_state) { - case SNDRV_CTL_POWER_D0: - case SNDRV_CTL_POWER_D1: - case SNDRV_CTL_POWER_D2: - mychip_resume(chip); - break; - case SNDRV_CTL_POWER_D3hot: - case SNDRV_CTL_POWER_D3cold: - mychip_suspend(chip); - break; - default: - return -EINVAL; - } return 0; } ]]> @@ -5439,41 +5342,42 @@ { .... snd_card_t *card; + mychip_t *chip; .... - #ifdef CONFIG_PM - card->set_power_state = snd_mychip_set_power_state; - card->power_state_private_data = chip; - #endif + snd_card_set_pm_callback(card, snd_my_suspend, snd_my_resume, chip); .... } ]]> + + Here you don't have to put ifdef CONFIG_PM around, since it's already + checked in the header and expanded to empty if not needed. If you need a space for saving the registers, you'll need to - allocate the buffer for it here, too, since you cannot call - kmalloc() with - GFP_KERNEL flag or - vmalloc() in the suspend callback. + allocate the buffer for it here, too, since it would be fatal + if you cannot allocate a memory in the suspend phase. The allocated buffer should be released in the corresponding destructor. And next, set suspend/resume callbacks to the pci_driver, + This can be done by passing a macro SND_PCI_PM_CALLBACKS + in the pci_driver struct. This macro is expanded to the correct + (global) callbacks if CONFIG_PM is set. @@ -5521,7 +5425,8 @@ The module parameters must be declared with the standard - MODULE_PARM() and + module_param()(), + module_param_array()() and MODULE_PARM_DESC() macros. The ALSA provides an additional macro, MODULE_PARM_SYNTAX(), for describing its syntax. The strings will be written to @@ -5545,18 +5450,22 @@ + + Here boot_devs is passed but simply ignored since we don't care + the number of parsed parameters. @@ -5577,39 +5486,6 @@ - - For building the driver into kernel, you should define the - setup() function in addition, too. - ALSA provides get_id() function to retrieve - a string argument from the kernel boot parameters. - - - -= SNDRV_CARDS) - return 0; - (void)(get_option(&str,&enable[nr_dev]) == 2 && - get_option(&str,&index[nr_dev]) == 2 && - get_id(&str,&id[nr_dev]) == 2); - nr_dev++; - return 1; - } - - __setup("snd-mychip=", alsa_card_mychip_setup); - - #endif /* ifndef MODULE */ -]]> - - - @@ -5631,10 +5507,14 @@ Suppose that you'll create a new PCI driver for the card xyz. The card module name would be snd-xyz. The new driver is usually put into alsa-driver - tree. Then the driver is evaluated, audited and tested + tree, alsa-driver/pci directory in + the case of PCI cards. + Then the driver is evaluated, audited and tested by developers and users. After a certain time, the driver - will go to alsa-kernel tree and eventually integrated into - Linux 2.6 tree. + will go to alsa-kernel tree (to the corresponding directory, + such as alsa-kernel/pci) and eventually + integrated into Linux 2.6 tree (the directory would be + linux/sound/pci). @@ -5661,7 +5541,7 @@ @@ -5678,8 +5558,8 @@ - Add a new directory (xyz) to extra-subdir-y list in alsa-driver/pci/Makefile + Add a new directory (xyz) in + alsa-driver/pci/Makefile like below @@ -5744,7 +5625,7 @@ - Under the directory xyz, create a Makefile + Under the directory xyz, create a Makefile Sample Makefile for a driver xyz diff -Nru a/Documentation/sound/alsa/Procfile.txt b/Documentation/sound/alsa/Procfile.txt --- a/Documentation/sound/alsa/Procfile.txt 2004-05-26 15:01:36 -07:00 +++ b/Documentation/sound/alsa/Procfile.txt 2004-05-26 15:01:36 -07:00 @@ -131,6 +131,12 @@ card*/codec97#0/ac97#?-?+regs Shows the AC97 register dump. Useful for debugging. + When CONFIG_SND_DEBUG is enabled, you can write to this file for + changing an AC97 register directly. Pass two hex numbers. + For example, + + # echo 02 9f1f > /proc/asound/card0/codec97#0/ac97#0-0+regs + Sequencer Information --------------------- diff -Nru a/MAINTAINERS b/MAINTAINERS --- a/MAINTAINERS 2004-05-26 15:01:36 -07:00 +++ b/MAINTAINERS 2004-05-26 15:01:36 -07:00 @@ -538,11 +538,6 @@ W: http://sourceforge.net/projects/cramfs/ S: Orphan -CREDITS FILE -P: John A. Martin -M: jam@acm.org -S: Maintained - CRIS PORT P: Bjorn Wesen M: bjornw@axis.com diff -Nru a/Makefile b/Makefile --- a/Makefile 2004-05-26 15:01:36 -07:00 +++ b/Makefile 2004-05-26 15:01:36 -07:00 @@ -680,7 +680,7 @@ uts_len := 64 define filechk_version.h - if ((`echo -n "$(KERNELRELEASE)" | wc -c ` > $(uts_len))); then \ + if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \ echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \ exit 1; \ fi; \ diff -Nru a/arch/arm/Kconfig b/arch/arm/Kconfig --- a/arch/arm/Kconfig 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/Kconfig 2004-05-26 15:01:36 -07:00 @@ -84,9 +84,6 @@ config ARCH_CO285 bool "Co-EBSA285" -config ARCH_PXA - bool "PXA2xx-based" - config ARCH_EBSA110 bool "EBSA-110" help @@ -126,6 +123,9 @@ If you have any questions or comments about the Linux kernel port to this board, send e-mail to sjhill@cotw.com. +config ARCH_PXA + bool "PXA2xx-based" + config ARCH_RPC bool "RiscPC" help @@ -135,9 +135,6 @@ config ARCH_SA1100 bool "SA1100-based" -config ARCH_SHARK - bool "Shark" - config ARCH_S3C2410 bool "Samsung S3C2410" help @@ -145,8 +142,8 @@ BAST (http://www.simtec.co.uk/products/EB110ITX/), the IPAQ 1940 or the Samsung SMDK2410 development board (and derviatives). -config ARCH_OMAP - bool "TI OMAP" +config ARCH_SHARK + bool "Shark" config ARCH_LH7A40X bool "Sharp LH7A40X" @@ -155,6 +152,9 @@ System on a Chip processors. These CPUs include an ARM922T core with a wide array of integrated devices for hand-held and low-power applications. + +config ARCH_OMAP + bool "TI OMAP" config ARCH_VERSATILE_PB bool "Versatile PB" diff -Nru a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c --- a/arch/arm/common/dmabounce.c 2004-05-26 15:01:35 -07:00 +++ b/arch/arm/common/dmabounce.c 2004-05-26 15:01:35 -07:00 @@ -100,6 +100,7 @@ if (d->dev == dev) return d; } + return NULL; } diff -Nru a/arch/arm/kernel/arch.c b/arch/arm/kernel/arch.c --- a/arch/arm/kernel/arch.c 2004-05-26 15:01:35 -07:00 +++ b/arch/arm/kernel/arch.c 2004-05-26 15:01:35 -07:00 @@ -10,7 +10,6 @@ #include #include #include -#include #include unsigned int vram_size; diff -Nru a/arch/arm/mach-adifcc/irq.c b/arch/arm/mach-adifcc/irq.c --- a/arch/arm/mach-adifcc/irq.c 2004-05-26 15:01:35 -07:00 +++ b/arch/arm/mach-adifcc/irq.c 2004-05-26 15:01:35 -07:00 @@ -19,8 +19,6 @@ #include #include -#include - static void xs80200_irq_mask (unsigned int irq) { long INTCTL; diff -Nru a/arch/arm/mach-iop3xx/iop310-irq.c b/arch/arm/mach-iop3xx/iop310-irq.c --- a/arch/arm/mach-iop3xx/iop310-irq.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-iop3xx/iop310-irq.c 2004-05-26 15:01:36 -07:00 @@ -21,8 +21,6 @@ #include #include -#include - extern void xs80200_irq_mask(unsigned int); extern void xs80200_irq_unmask(unsigned int); extern void xs80200_init_irq(void); diff -Nru a/arch/arm/mach-iop3xx/iop321-time.c b/arch/arm/mach-iop3xx/iop321-time.c --- a/arch/arm/mach-iop3xx/iop321-time.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-iop3xx/iop321-time.c 2004-05-26 15:01:36 -07:00 @@ -23,7 +23,6 @@ #include #include #include -#include #include static unsigned long iop321_gettimeoffset(void) diff -Nru a/arch/arm/mach-iop3xx/iq80310-irq.c b/arch/arm/mach-iop3xx/iq80310-irq.c --- a/arch/arm/mach-iop3xx/iq80310-irq.c 2004-05-26 15:01:35 -07:00 +++ b/arch/arm/mach-iop3xx/iq80310-irq.c 2004-05-26 15:01:35 -07:00 @@ -22,8 +22,6 @@ #include #include -#include - extern void iop310_init_irq(void); extern void iop310_irq_demux(unsigned int, struct irqdesc *, struct pt_regs *); diff -Nru a/arch/arm/mach-iop3xx/iq80310-time.c b/arch/arm/mach-iop3xx/iq80310-time.c --- a/arch/arm/mach-iop3xx/iq80310-time.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-iop3xx/iq80310-time.c 2004-05-26 15:01:36 -07:00 @@ -21,7 +21,6 @@ #include #include #include -#include #include static void iq80310_write_timer (u_long val) diff -Nru a/arch/arm/mach-iop3xx/mm-321.c b/arch/arm/mach-iop3xx/mm-321.c --- a/arch/arm/mach-iop3xx/mm-321.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-iop3xx/mm-321.c 2004-05-26 15:01:36 -07:00 @@ -21,7 +21,6 @@ #include #include -#include /* diff -Nru a/arch/arm/mach-iop3xx/mm.c b/arch/arm/mach-iop3xx/mm.c --- a/arch/arm/mach-iop3xx/mm.c 2004-05-26 15:01:35 -07:00 +++ b/arch/arm/mach-iop3xx/mm.c 2004-05-26 15:01:35 -07:00 @@ -23,7 +23,6 @@ #include #include -#include #ifdef CONFIG_IOP310_MU #include "message.h" diff -Nru a/arch/arm/mach-iop3xx/xs80200-irq.c b/arch/arm/mach-iop3xx/xs80200-irq.c --- a/arch/arm/mach-iop3xx/xs80200-irq.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-iop3xx/xs80200-irq.c 2004-05-26 15:01:36 -07:00 @@ -17,8 +17,6 @@ #include #include -#include - static void xs80200_irq_mask (unsigned int irq) { unsigned long intctl; diff -Nru a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c --- a/arch/arm/mach-ixp4xx/common.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-ixp4xx/common.c 2004-05-26 15:01:36 -07:00 @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include diff -Nru a/arch/arm/mach-omap/bus.c b/arch/arm/mach-omap/bus.c --- a/arch/arm/mach-omap/bus.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-omap/bus.c 2004-05-26 15:01:36 -07:00 @@ -39,7 +39,6 @@ #include #include -#include #include #include #include diff -Nru a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c --- a/arch/arm/mach-pxa/generic.c 2004-05-26 15:01:35 -07:00 +++ b/arch/arm/mach-pxa/generic.c 2004-05-26 15:01:35 -07:00 @@ -104,6 +104,7 @@ .id = 0, .dev = { .dma_mask = &pxamci_dmamask, + .coherent_dma_mask = 0xffffffff, }, .num_resources = ARRAY_SIZE(pxamci_resources), .resource = pxamci_resources, diff -Nru a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c --- a/arch/arm/mach-pxa/lubbock.c 2004-05-26 15:01:35 -07:00 +++ b/arch/arm/mach-pxa/lubbock.c 2004-05-26 15:01:35 -07:00 @@ -11,11 +11,12 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ +#include #include #include #include #include -#include +#include #include #include @@ -29,11 +30,22 @@ #include #include +#include #include #include "generic.h" +void lubbock_set_misc_wr(unsigned int mask, unsigned int set) +{ + unsigned long flags; + + local_irq_save(flags); + LUB_MISC_WR = (LUB_MISC_WR & ~mask) | (set & mask); + local_irq_restore(flags); +} +EXPORT_SYMBOL(lubbock_set_misc_wr); + static unsigned long lubbock_irq_enabled; static void lubbock_mask_irq(unsigned int irq) @@ -148,9 +160,29 @@ &smc91x_device, }; +static struct pxafb_mach_info sharp_lm8v31 __initdata = { + .pixclock = 270000, + .xres = 640, + .yres = 480, + .bpp = 16, + .hsync_len = 1, + .left_margin = 3, + .right_margin = 3, + .vsync_len = 1, + .upper_margin = 0, + .lower_margin = 0, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .cmap_greyscale = 0, + .cmap_inverse = 0, + .cmap_static = 0, + .lccr0 = LCCR0_SDS, + .lccr3 = LCCR3_PCP | LCCR3_Acb(255), +}; + static void __init lubbock_init(void) { pxa_set_udc_info(&udc_info); + set_pxa_fb_info(&sharp_lm8v31); (void) platform_add_devices(devices, ARRAY_SIZE(devices)); } diff -Nru a/arch/arm/mach-s3c2410/s3c2410.c b/arch/arm/mach-s3c2410/s3c2410.c --- a/arch/arm/mach-s3c2410/s3c2410.c 2004-05-26 15:01:36 -07:00 +++ b/arch/arm/mach-s3c2410/s3c2410.c 2004-05-26 15:01:36 -07:00 @@ -31,7 +31,6 @@ #include #include #include -#include #include #include diff -Nru a/arch/h8300/kernel/h8300_ksyms.c b/arch/h8300/kernel/h8300_ksyms.c --- a/arch/h8300/kernel/h8300_ksyms.c 2004-05-26 15:01:36 -07:00 +++ b/arch/h8300/kernel/h8300_ksyms.c 2004-05-26 15:01:36 -07:00 @@ -40,6 +40,8 @@ EXPORT_SYMBOL(ip_fast_csum); EXPORT_SYMBOL(kernel_thread); +EXPORT_SYMBOL(enable_irq); +EXPORT_SYMBOL(disable_irq); /* Networking helper routines. */ EXPORT_SYMBOL(csum_partial_copy); diff -Nru a/arch/h8300/kernel/module.c b/arch/h8300/kernel/module.c --- a/arch/h8300/kernel/module.c 2004-05-26 15:01:36 -07:00 +++ b/arch/h8300/kernel/module.c 2004-05-26 15:01:36 -07:00 @@ -67,7 +67,6 @@ Elf32_Sym *sym = (Elf32_Sym *)sechdrs[symindex].sh_addr + ELF32_R_SYM(rela[i].r_info); uint32_t v = sym->st_value + rela[i].r_addend; - uint32_t dot = sechdrs[symindex].sh_addr + rela[i].r_offset; switch (ELF32_R_TYPE(rela[i].r_info)) { case R_H8_DIR24R8: @@ -75,14 +74,15 @@ *loc = (*loc & 0xff000000) | ((*loc & 0xffffff) + v); break; case R_H8_DIR24A8: - *loc += v; + if (ELF32_R_SYM(rela[i].r_info)) + *loc += v; break; case R_H8_DIR32: case R_H8_DIR32A16: *loc += v; break; case R_H8_PCREL16: - v -= dot + 2; + v -= (unsigned long)loc + 2; if ((Elf32_Sword)v > 0x7fff || (Elf32_Sword)v < -(Elf32_Sword)0x8000) goto overflow; @@ -90,7 +90,7 @@ *(unsigned short *)loc = v; break; case R_H8_PCREL8: - v -= dot + 1; + v -= (unsigned long)loc + 1; if ((Elf32_Sword)v > 0x7f || (Elf32_Sword)v < -(Elf32_Sword)0x80) goto overflow; @@ -105,7 +105,7 @@ } return 0; overflow: - printk(KERN_ERR "module %s: relocation offset overflow: %p\n", + printk(KERN_ERR "module %s: relocation offset overflow: %08x\n", me->name, rela[i].r_offset); return -ENOEXEC; } diff -Nru a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c --- a/arch/i386/kernel/cpu/common.c 2004-05-26 15:01:35 -07:00 +++ b/arch/i386/kernel/cpu/common.c 2004-05-26 15:01:35 -07:00 @@ -201,6 +201,8 @@ { struct cpuinfo_x86 *c = &boot_cpu_data; + c->x86_cache_alignment = 32; + if (!have_cpuid_p()) return; @@ -213,8 +215,6 @@ get_cpu_vendor(c, 1); c->x86 = 4; - c->x86_cache_alignment = 32; - if (c->cpuid_level >= 0x00000001) { u32 junk, tfms, cap0, misc; cpuid(0x00000001, &tfms, &misc, &junk, &cap0); diff -Nru a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c --- a/arch/i386/kernel/io_apic.c 2004-05-26 15:01:35 -07:00 +++ b/arch/i386/kernel/io_apic.c 2004-05-26 15:01:35 -07:00 @@ -853,7 +853,7 @@ * we need to reprogram the ioredtbls to cater for the cpus which have come online * so mask in all cases should simply be TARGET_CPUS */ -void __init setup_ioapic_dest(cpumask_t mask) +void __init setup_ioapic_dest(void) { int pin, ioapic, irq, irq_entry; @@ -866,7 +866,7 @@ if (irq_entry == -1) continue; irq = pin_2_irq(irq_entry, ioapic, pin); - set_ioapic_affinity_irq(irq, mask); + set_ioapic_affinity_irq(irq, TARGET_CPUS); } } diff -Nru a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c 2004-05-26 15:01:35 -07:00 +++ b/arch/i386/kernel/process.c 2004-05-26 15:01:35 -07:00 @@ -202,6 +202,10 @@ if (!strncmp(str, "poll", 4)) { printk("using polling idle threads.\n"); pm_idle = poll_idle; +#ifdef CONFIG_SMP + if (smp_num_siblings > 1) + printk("WARNING: polling idle and HT enabled, performance may degrade.\n"); +#endif } else if (!strncmp(str, "halt", 4)) { printk("using halt in idle threads.\n"); pm_idle = default_idle; diff -Nru a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c 2004-05-26 15:01:36 -07:00 +++ b/arch/i386/kernel/smpboot.c 2004-05-26 15:01:36 -07:00 @@ -1369,8 +1369,7 @@ void __init smp_cpus_done(unsigned int max_cpus) { #ifdef CONFIG_X86_IO_APIC - cpumask_t targets = CPU_MASK_ALL; - setup_ioapic_dest(targets); + setup_ioapic_dest(); #endif zap_low_mappings(); } diff -Nru a/arch/i386/mm/init.c b/arch/i386/mm/init.c --- a/arch/i386/mm/init.c 2004-05-26 15:01:36 -07:00 +++ b/arch/i386/mm/init.c 2004-05-26 15:01:36 -07:00 @@ -328,9 +328,30 @@ #endif } +#if defined(CONFIG_PM_DISK) || defined(CONFIG_SOFTWARE_SUSPEND) +/* + * Swap suspend & friends need this for resume because things like the intel-agp + * driver might have split up a kernel 4MB mapping. + */ +char __nosavedata swsusp_pg_dir[PAGE_SIZE] + __attribute__ ((aligned (PAGE_SIZE))); + +static inline void save_pg_dir(void) +{ + memcpy(swsusp_pg_dir, swapper_pg_dir, PAGE_SIZE); +} +#else +static inline void save_pg_dir(void) +{ +} +#endif + void zap_low_mappings (void) { int i; + + save_pg_dir(); + /* * Zap initial low-memory mappings. * diff -Nru a/arch/i386/power/pmdisk.S b/arch/i386/power/pmdisk.S --- a/arch/i386/power/pmdisk.S 2004-05-26 15:01:36 -07:00 +++ b/arch/i386/power/pmdisk.S 2004-05-26 15:01:36 -07:00 @@ -21,7 +21,7 @@ jmp .L1449 .p2align 4,,7 .L1450: - movl $swapper_pg_dir-__PAGE_OFFSET,%ecx + movl $swsusp_pg_dir-__PAGE_OFFSET,%ecx movl %ecx,%cr3 movl pm_pagedir_nosave,%ebx diff -Nru a/arch/i386/power/swsusp.S b/arch/i386/power/swsusp.S --- a/arch/i386/power/swsusp.S 2004-05-26 15:01:35 -07:00 +++ b/arch/i386/power/swsusp.S 2004-05-26 15:01:35 -07:00 @@ -36,7 +36,7 @@ jmp .L1449 .p2align 4,,7 .L1450: - movl $swapper_pg_dir-__PAGE_OFFSET,%ecx + movl $swsusp_pg_dir-__PAGE_OFFSET,%ecx movl %ecx,%cr3 call do_magic_resume_1 diff -Nru a/arch/ppc64/Kconfig b/arch/ppc64/Kconfig --- a/arch/ppc64/Kconfig 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/Kconfig 2004-05-26 15:01:36 -07:00 @@ -417,6 +417,13 @@ debugging info resulting in a larger kernel image. Say Y here only if you plan to use gdb to debug the kernel. If you don't debug the kernel, you can say N. + +config IRQSTACKS + bool "Use separate kernel stacks when processing interrupts" + help + If you say Y here the kernel will use separate kernel stacks + for handling hard and soft interrupts. This can help avoid + overflowing the process kernel stacks. endmenu diff -Nru a/arch/ppc64/kernel/head.S b/arch/ppc64/kernel/head.S --- a/arch/ppc64/kernel/head.S 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/kernel/head.S 2004-05-26 15:01:36 -07:00 @@ -1281,6 +1281,10 @@ SAVE_4GPRS(16, r1) SAVE_8GPRS(24, r1) + /* Set the marker value "regshere" just before the reg values */ + SET_REG_TO_CONST(r22, 0x7265677368657265) + std r22,STACK_FRAME_OVERHEAD-16(r1) + /* * Clear the RESULT field */ diff -Nru a/arch/ppc64/kernel/ioctl32.c b/arch/ppc64/kernel/ioctl32.c --- a/arch/ppc64/kernel/ioctl32.c 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/kernel/ioctl32.c 2004-05-26 15:01:36 -07:00 @@ -29,307 +29,6 @@ #define CODE #include "compat_ioctl.c" -struct ncp_ioctl_request_32 { - unsigned int function; - unsigned int size; - compat_caddr_t data; -}; - -struct ncp_fs_info_v2_32 { - int version; - unsigned int mounted_uid; - unsigned int connection; - unsigned int buffer_size; - - unsigned int volume_number; - __u32 directory_id; - - __u32 dummy1; - __u32 dummy2; - __u32 dummy3; -}; - -struct ncp_objectname_ioctl_32 -{ - int auth_type; - unsigned int object_name_len; - compat_caddr_t object_name; /* an userspace data, in most cases user name */ -}; - -struct ncp_privatedata_ioctl_32 -{ - unsigned int len; - compat_caddr_t data; /* ~1000 for NDS */ -}; - -#define NCP_IOC_NCPREQUEST_32 _IOR('n', 1, struct ncp_ioctl_request_32) - -#define NCP_IOC_GETMOUNTUID2_32 _IOW('n', 2, unsigned int) - -#define NCP_IOC_GET_FS_INFO_V2_32 _IOWR('n', 4, struct ncp_fs_info_v2_32) - -#define NCP_IOC_GETOBJECTNAME_32 _IOWR('n', 9, struct ncp_objectname_ioctl_32) -#define NCP_IOC_SETOBJECTNAME_32 _IOR('n', 9, struct ncp_objectname_ioctl_32) -#define NCP_IOC_GETPRIVATEDATA_32 _IOWR('n', 10, struct ncp_privatedata_ioctl_32) -#define NCP_IOC_SETPRIVATEDATA_32 _IOR('n', 10, struct ncp_privatedata_ioctl_32) - -static int do_ncp_ncprequest(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_ioctl_request_32 n32; - struct ncp_ioctl_request n; - mm_segment_t old_fs; - int err; - - if (copy_from_user(&n32, (struct ncp_ioctl_request_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.function = n32.function; - n.size = n32.size; - if (n.size > 65536) - return -EINVAL; - n.data = vmalloc(65536); /* 65536 must be same as NCP_PACKET_SIZE_INTERNAL in ncpfs */ - if (!n.data) - return -ENOMEM; - err = -EFAULT; - if (copy_from_user(n.data, (void *)A(n32.data), n.size)) - goto out; - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_NCPREQUEST, (unsigned long)&n); - set_fs (old_fs); - if(err <= 0) - goto out; - if (err > 65536) { - err = -EINVAL; - goto out; - } - if (copy_to_user((void *)A(n32.data), n.data, err)) { - err = -EFAULT; - goto out; - } - out: - vfree(n.data); - return err; -} - -static int do_ncp_getmountuid2(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - mm_segment_t old_fs = get_fs(); - __kernel_uid_t kuid; - int err; - - cmd = NCP_IOC_GETMOUNTUID2; - - set_fs(KERNEL_DS); - err = sys_ioctl(fd, cmd, (unsigned long)&kuid); - set_fs(old_fs); - - if (!err) - err = put_user(kuid, (unsigned int*)arg); - - return err; -} - -static int do_ncp_getfsinfo2(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - mm_segment_t old_fs = get_fs(); - struct ncp_fs_info_v2_32 n32; - struct ncp_fs_info_v2 n; - int err; - - if (copy_from_user(&n32, (struct ncp_fs_info_v2_32*)arg, sizeof(n32))) - return -EFAULT; - if (n32.version != NCP_GET_FS_INFO_VERSION_V2) - return -EINVAL; - n.version = NCP_GET_FS_INFO_VERSION_V2; - - set_fs(KERNEL_DS); - err = sys_ioctl(fd, NCP_IOC_GET_FS_INFO_V2, (unsigned long)&n); - set_fs(old_fs); - - if (!err) { - n32.version = n.version; - n32.mounted_uid = n.mounted_uid; - n32.connection = n.connection; - n32.buffer_size = n.buffer_size; - n32.volume_number = n.volume_number; - n32.directory_id = n.directory_id; - n32.dummy1 = n.dummy1; - n32.dummy2 = n.dummy2; - n32.dummy3 = n.dummy3; - err = copy_to_user((struct ncp_fs_info_v2_32*)arg, &n32, sizeof(n32)) ? -EFAULT : 0; - } - return err; -} - -static int do_ncp_getobjectname(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_objectname_ioctl_32 n32; - struct ncp_objectname_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_objectname_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.object_name_len = tl = n32.object_name_len; - if (tl) { - n.object_name = kmalloc(tl, GFP_KERNEL); - if (!n.object_name) - return -ENOMEM; - } else { - n.object_name = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_GETOBJECTNAME, (unsigned long)&n); - set_fs (old_fs); - if(err) - goto out; - - if (tl > n.object_name_len) - tl = n.object_name_len; - - err = -EFAULT; - if (tl && copy_to_user((void *)A(n32.object_name), n.object_name, tl)) - goto out; - - n32.auth_type = n.auth_type; - n32.object_name_len = n.object_name_len; - - if (copy_to_user((struct ncp_objectname_ioctl_32*)arg, &n32, sizeof(n32))) - goto out; - - err = 0; - out: - if (n.object_name) - kfree(n.object_name); - - return err; -} - -static int do_ncp_setobjectname(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_objectname_ioctl_32 n32; - struct ncp_objectname_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_objectname_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.auth_type = n32.auth_type; - n.object_name_len = tl = n32.object_name_len; - if (tl) { - n.object_name = kmalloc(tl, GFP_KERNEL); - if (!n.object_name) - return -ENOMEM; - err = -EFAULT; - if (copy_from_user(n.object_name, (void *)A(n32.object_name), tl)) - goto out; - } else { - n.object_name = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_SETOBJECTNAME, (unsigned long)&n); - set_fs (old_fs); - - out: - if (n.object_name) - kfree(n.object_name); - - return err; -} - -static int do_ncp_getprivatedata(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_privatedata_ioctl_32 n32; - struct ncp_privatedata_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_privatedata_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.len = tl = n32.len; - if (tl) { - n.data = kmalloc(tl, GFP_KERNEL); - if (!n.data) - return -ENOMEM; - } else { - n.data = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_GETPRIVATEDATA, (unsigned long)&n); - set_fs (old_fs); - if(err) - goto out; - - if (tl > n.len) - tl = n.len; - - err = -EFAULT; - if (tl && copy_to_user((void *)A(n32.data), n.data, tl)) - goto out; - - n32.len = n.len; - - if (copy_to_user((struct ncp_privatedata_ioctl_32*)arg, &n32, sizeof(n32))) - goto out; - - err = 0; - out: - if (n.data) - kfree(n.data); - - return err; -} - -static int do_ncp_setprivatedata(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_privatedata_ioctl_32 n32; - struct ncp_privatedata_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_privatedata_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.len = tl = n32.len; - if (tl) { - n.data = kmalloc(tl, GFP_KERNEL); - if (!n.data) - return -ENOMEM; - err = -EFAULT; - if (copy_from_user(n.data, (void *)A(n32.data), tl)) - goto out; - } else { - n.data = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_SETPRIVATEDATA, (unsigned long)&n); - set_fs (old_fs); - - out: - if (n.data) - kfree(n.data); - - return err; -} - - #define HANDLE_IOCTL(cmd,handler) { cmd, (ioctl_trans_handler_t)handler, 0 }, #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL(cmd,sys_ioctl) @@ -349,17 +48,6 @@ /* Little p (/dev/rtc, /dev/envctrl, etc.) */ COMPATIBLE_IOCTL(_IOR('p', 20, int[7])) /* RTCGET */ COMPATIBLE_IOCTL(_IOW('p', 21, int[7])) /* RTCSET */ - -/* And these ioctls need translation */ - -/* NCPFS */ -HANDLE_IOCTL(NCP_IOC_NCPREQUEST_32, do_ncp_ncprequest) -HANDLE_IOCTL(NCP_IOC_GETMOUNTUID2_32, do_ncp_getmountuid2) -HANDLE_IOCTL(NCP_IOC_GET_FS_INFO_V2_32, do_ncp_getfsinfo2) -HANDLE_IOCTL(NCP_IOC_GETOBJECTNAME_32, do_ncp_getobjectname) -HANDLE_IOCTL(NCP_IOC_SETOBJECTNAME_32, do_ncp_setobjectname) -HANDLE_IOCTL(NCP_IOC_GETPRIVATEDATA_32, do_ncp_getprivatedata) -HANDLE_IOCTL(NCP_IOC_SETPRIVATEDATA_32, do_ncp_setprivatedata) IOCTL_TABLE_END diff -Nru a/arch/ppc64/kernel/irq.c b/arch/ppc64/kernel/irq.c --- a/arch/ppc64/kernel/irq.c 2004-05-26 15:01:35 -07:00 +++ b/arch/ppc64/kernel/irq.c 2004-05-26 15:01:35 -07:00 @@ -370,8 +370,7 @@ return 0; } -static inline int handle_irq_event(int irq, struct pt_regs *regs, - struct irqaction *action) +int handle_irq_event(int irq, struct pt_regs *regs, struct irqaction *action) { int status = 0; int retval = 0; @@ -482,6 +481,9 @@ int cpu = smp_processor_id(); irq_desc_t *desc = get_irq_desc(irq); irqreturn_t action_ret; +#ifdef CONFIG_IRQSTACKS + struct thread_info *curtp, *irqtp; +#endif kstat_cpu(cpu).irqs[irq]++; @@ -548,7 +550,22 @@ */ for (;;) { spin_unlock(&desc->lock); - action_ret = handle_irq_event(irq, regs, action); + +#ifdef CONFIG_IRQSTACKS + /* Switch to the irq stack to handle this */ + curtp = current_thread_info(); + irqtp = hardirq_ctx[smp_processor_id()]; + if (curtp != irqtp) { + irqtp->task = curtp->task; + irqtp->flags = 0; + action_ret = call_handle_irq_event(irq, regs, action, irqtp); + irqtp->task = NULL; + if (irqtp->flags) + set_bits(irqtp->flags, &curtp->flags); + } else +#endif + action_ret = handle_irq_event(irq, regs, action); + spin_lock(&desc->lock); if (!noirqdebug) note_interrupt(irq, desc, action_ret); @@ -690,6 +707,7 @@ once++; ppc_md.init_IRQ(); + irq_ctx_init(); } static struct proc_dir_entry * root_irq_dir; @@ -973,4 +991,51 @@ } -#endif +#endif /* CONFIG_PPC_ISERIES */ + +#ifdef CONFIG_IRQSTACKS +struct thread_info *softirq_ctx[NR_CPUS]; +struct thread_info *hardirq_ctx[NR_CPUS]; + +void irq_ctx_init(void) +{ + struct thread_info *tp; + int i; + + for (i = 0; i < NR_CPUS; i++) { + memset((void *)softirq_ctx[i], 0, THREAD_SIZE); + tp = softirq_ctx[i]; + tp->cpu = i; + tp->preempt_count = SOFTIRQ_OFFSET; + + memset((void *)hardirq_ctx[i], 0, THREAD_SIZE); + tp = hardirq_ctx[i]; + tp->cpu = i; + tp->preempt_count = HARDIRQ_OFFSET; + } +} + +void do_softirq(void) +{ + unsigned long flags; + struct thread_info *curtp, *irqtp; + + if (in_interrupt()) + return; + + local_irq_save(flags); + + if (local_softirq_pending()) { + curtp = current_thread_info(); + irqtp = softirq_ctx[smp_processor_id()]; + irqtp->task = curtp->task; + call_do_softirq(irqtp); + irqtp->task = NULL; + } + + local_irq_restore(flags); +} +EXPORT_SYMBOL(do_softirq); + +#endif /* CONFIG_IRQSTACKS */ + diff -Nru a/arch/ppc64/kernel/misc.S b/arch/ppc64/kernel/misc.S --- a/arch/ppc64/kernel/misc.S 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/kernel/misc.S 2004-05-26 15:01:36 -07:00 @@ -102,6 +102,30 @@ blr #endif /* CONFIG_PPC_ISERIES */ +#ifdef CONFIG_IRQSTACKS +_GLOBAL(call_do_softirq) + mflr r0 + std r0,16(r1) + stdu r1,THREAD_SIZE-112(r3) + mr r1,r3 + bl .__do_softirq + ld r1,0(r1) + ld r0,16(r1) + mtlr r0 + blr + +_GLOBAL(call_handle_irq_event) + mflr r0 + std r0,16(r1) + stdu r1,THREAD_SIZE-112(r6) + mr r1,r6 + bl .handle_irq_event + ld r1,0(r1) + ld r0,16(r1) + mtlr r0 + blr +#endif /* CONFIG_IRQSTACKS */ + /* * Flush instruction cache. */ diff -Nru a/arch/ppc64/kernel/process.c b/arch/ppc64/kernel/process.c --- a/arch/ppc64/kernel/process.c 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/kernel/process.c 2004-05-26 15:01:36 -07:00 @@ -457,16 +457,28 @@ static int kstack_depth_to_print = 64; -static inline int validate_sp(unsigned long sp, struct task_struct *p) +static int validate_sp(unsigned long sp, struct task_struct *p, + unsigned long nbytes) { unsigned long stack_page = (unsigned long)p->thread_info; - if (sp < stack_page + sizeof(struct thread_struct)) - return 0; - if (sp >= stack_page + THREAD_SIZE) - return 0; + if (sp >= stack_page + sizeof(struct thread_struct) + && sp <= stack_page + THREAD_SIZE - nbytes) + return 1; + +#ifdef CONFIG_IRQSTACKS + stack_page = (unsigned long) hardirq_ctx[task_cpu(p)]; + if (sp >= stack_page + sizeof(struct thread_struct) + && sp <= stack_page + THREAD_SIZE - nbytes) + return 1; + + stack_page = (unsigned long) softirq_ctx[task_cpu(p)]; + if (sp >= stack_page + sizeof(struct thread_struct) + && sp <= stack_page + THREAD_SIZE - nbytes) + return 1; +#endif - return 1; + return 0; } unsigned long get_wchan(struct task_struct *p) @@ -478,12 +490,12 @@ return 0; sp = p->thread.ksp; - if (!validate_sp(sp, p)) + if (!validate_sp(sp, p, 112)) return 0; do { sp = *(unsigned long *)sp; - if (!validate_sp(sp, p)) + if (!validate_sp(sp, p, 112)) return 0; if (count > 0) { ip = *(unsigned long *)(sp + 16); @@ -496,9 +508,10 @@ void show_stack(struct task_struct *p, unsigned long *_sp) { - unsigned long ip; + unsigned long ip, newsp, lr; int count = 0; unsigned long sp = (unsigned long)_sp; + int firstframe = 1; if (sp == 0) { if (p) { @@ -509,17 +522,40 @@ } } - if (!validate_sp(sp, p)) - return; - + lr = 0; printk("Call Trace:\n"); do { - sp = *(unsigned long *)sp; - if (!validate_sp(sp, p)) + if (!validate_sp(sp, p, 112)) return; - ip = *(unsigned long *)(sp + 16); - printk("[%016lx] ", ip); - print_symbol("%s\n", ip); + + _sp = (unsigned long *) sp; + newsp = _sp[0]; + ip = _sp[2]; + if (!firstframe || ip != lr) { + printk("[%016lx] [%016lx] ", sp, ip); + print_symbol("%s", ip); + if (firstframe) + printk(" (unreliable)"); + printk("\n"); + } + firstframe = 0; + + /* + * See if this is an exception frame. + * We look for the "regshere" marker in the current frame. + */ + if (validate_sp(sp, p, sizeof(struct pt_regs) + 400) + && _sp[12] == 0x7265677368657265) { + struct pt_regs *regs = (struct pt_regs *) + (sp + STACK_FRAME_OVERHEAD); + printk("--- Exception: %lx", regs->trap); + print_symbol(" at %s\n", regs->nip); + lr = regs->link; + print_symbol(" LR = %s\n", lr); + firstframe = 1; + } + + sp = newsp; } while (count++ < kstack_depth_to_print); } diff -Nru a/arch/ppc64/kernel/prom.c b/arch/ppc64/kernel/prom.c --- a/arch/ppc64/kernel/prom.c 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/kernel/prom.c 2004-05-26 15:01:36 -07:00 @@ -2189,11 +2189,13 @@ ints = imap - nintrc; reg = ints - naddrc; } + if (p == NULL) { #ifdef DEBUG_IRQ - if (p == NULL) printk("hmmm, int tree for %s doesn't have ctrler\n", np->full_name); #endif + return 0; + } *irq = ints; *ictrler = p; return nintrc; @@ -2204,7 +2206,7 @@ int measure_only) { unsigned int *ints; - int intlen, intrcells; + int intlen, intrcells, intrcount; int i, j, n; unsigned int *irq, virq; struct device_node *ic; @@ -2214,34 +2216,40 @@ return mem_start; intrcells = prom_n_intr_cells(np); intlen /= intrcells * sizeof(unsigned int); - np->n_intrs = intlen; np->intrs = (struct interrupt_info *) mem_start; mem_start += intlen * sizeof(struct interrupt_info); if (measure_only) return mem_start; - for (i = 0; i < intlen; ++i) { - np->intrs[i].line = 0; - np->intrs[i].sense = 1; + intrcount = 0; + for (i = 0; i < intlen; ++i, ints += intrcells) { n = map_interrupt(&irq, &ic, np, ints, intrcells); if (n <= 0) continue; - virq = virt_irq_create_mapping(irq[0]); - if (virq == NO_IRQ) { - printk(KERN_CRIT "Could not allocate interrupt " - "number for %s\n", np->full_name); - } else - np->intrs[i].line = irq_offset_up(virq); + + /* don't map IRQ numbers under a cascaded 8259 controller */ + if (ic && device_is_compatible(ic, "chrp,iic")) { + np->intrs[intrcount].line = irq[0]; + } else { + virq = virt_irq_create_mapping(irq[0]); + if (virq == NO_IRQ) { + printk(KERN_CRIT "Could not allocate interrupt" + " number for %s\n", np->full_name); + continue; + } + np->intrs[intrcount].line = irq_offset_up(virq); + } /* We offset irq numbers for the u3 MPIC by 128 in PowerMac */ if (systemcfg->platform == PLATFORM_POWERMAC && ic && ic->parent) { char *name = get_property(ic->parent, "name", NULL); if (name && !strcmp(name, "u3")) - np->intrs[i].line += 128; + np->intrs[intrcount].line += 128; } + np->intrs[intrcount].sense = 1; if (n > 1) - np->intrs[i].sense = irq[1]; + np->intrs[intrcount].sense = irq[1]; if (n > 2) { printk("hmmm, got %d intr cells for %s:", n, np->full_name); @@ -2249,8 +2257,9 @@ printk(" %d", irq[j]); printk("\n"); } - ints += intrcells; + ++intrcount; } + np->n_intrs = intrcount; return mem_start; } diff -Nru a/arch/ppc64/kernel/setup.c b/arch/ppc64/kernel/setup.c --- a/arch/ppc64/kernel/setup.c 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/kernel/setup.c 2004-05-26 15:01:36 -07:00 @@ -572,6 +572,23 @@ extern void (*calibrate_delay)(void); +#ifdef CONFIG_IRQSTACKS +static void __init irqstack_early_init(void) +{ + int i; + + /* interrupt stacks must be under 256MB, we cannot afford to take SLB misses on them */ + for (i = 0; i < NR_CPUS; i++) { + softirq_ctx[i] = (struct thread_info *)__va(lmb_alloc_base(THREAD_SIZE, + THREAD_SIZE, 0x10000000)); + hardirq_ctx[i] = (struct thread_info *)__va(lmb_alloc_base(THREAD_SIZE, + THREAD_SIZE, 0x10000000)); + } +} +#else +#define irqstack_early_init() +#endif + /* * Called into from start_kernel, after lock_kernel has been called. * Initializes bootmem, which is unsed to manage page allocation until @@ -616,6 +633,8 @@ /* Save unparsed command line copy for /proc/cmdline */ strlcpy(saved_command_line, cmd_line, sizeof(saved_command_line)); *cmdline_p = cmd_line; + + irqstack_early_init(); /* set up the bootmem stuff with available memory */ do_init_bootmem(); diff -Nru a/arch/ppc64/kernel/viopath.c b/arch/ppc64/kernel/viopath.c --- a/arch/ppc64/kernel/viopath.c 2004-05-26 15:01:35 -07:00 +++ b/arch/ppc64/kernel/viopath.c 2004-05-26 15:01:35 -07:00 @@ -190,6 +190,8 @@ static int proc_viopath_show(struct seq_file *m, void *v) { char *buf; + u16 vlanMap; + int vlanIndex; dma_addr_t handle; HvLpEvent_Rc hvrc; DECLARE_MUTEX_LOCKED(Semaphore); @@ -216,12 +218,18 @@ down(&Semaphore); - dma_unmap_single(iSeries_vio_dev, handle, PAGE_SIZE, DMA_FROM_DEVICE); - kfree(buf); + vlanMap = HvLpConfig_getVirtualLanIndexMap(); + vlanIndex = 0; + while (vlanMap != 0){ + if (vlanMap & 0x8000) + vlanIndex++;; + vlanMap = vlanMap << 1; + } - buf[PAGE_SIZE] = '\0'; + buf[PAGE_SIZE-1] = '\0'; seq_printf(m, "%s", buf); + seq_printf(m, "AVAILABLE_VETH=%d\n", vlanIndex ); seq_printf(m, "SRLNBR=%c%c%c%c%c%c%c\n", e2a(xItExtVpdPanel.mfgID[2]), e2a(xItExtVpdPanel.mfgID[3]), @@ -230,6 +238,9 @@ e2a(xItExtVpdPanel.systemSerial[3]), e2a(xItExtVpdPanel.systemSerial[4]), e2a(xItExtVpdPanel.systemSerial[5])); + + dma_unmap_single(iSeries_vio_dev, handle, PAGE_SIZE, DMA_FROM_DEVICE); + kfree(buf); return 0; } diff -Nru a/arch/ppc64/mm/numa.c b/arch/ppc64/mm/numa.c --- a/arch/ppc64/mm/numa.c 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/mm/numa.c 2004-05-26 15:01:36 -07:00 @@ -19,7 +19,7 @@ #include #if 1 -#define dbg(args...) udbg_printf(args) +#define dbg(args...) printk(KERN_INFO args) #else #define dbg(args...) #endif @@ -56,16 +56,136 @@ } } +static struct device_node * __init find_cpu_node(unsigned int cpu) +{ + unsigned int hw_cpuid = get_hard_smp_processor_id(cpu); + struct device_node *cpu_node = NULL; + unsigned int *interrupt_server, *reg; + int len; + + while ((cpu_node = of_find_node_by_type(cpu_node, "cpu")) != NULL) { + /* Try interrupt server first */ + interrupt_server = (unsigned int *)get_property(cpu_node, + "ibm,ppc-interrupt-server#s", &len); + + if (interrupt_server && (len > 0)) { + while (len--) { + if (interrupt_server[len-1] == hw_cpuid) + return cpu_node; + } + } else { + reg = (unsigned int *)get_property(cpu_node, + "reg", &len); + if (reg && (len > 0) && (reg[0] == hw_cpuid)) + return cpu_node; + } + } + + return NULL; +} + +/* must hold reference to node during call */ +static int *of_get_associativity(struct device_node *dev) + { + unsigned int *result; + int len; + + result = (unsigned int *)get_property(dev, "ibm,associativity", &len); + + if (len <= 0) + return NULL; + + return result; +} + +static int of_node_numa_domain(struct device_node *device, int depth) +{ + int numa_domain; + unsigned int *tmp; + + tmp = of_get_associativity(device); + if (tmp && (tmp[0] >= depth)) { + numa_domain = tmp[depth]; + } else { + printk(KERN_ERR "WARNING: no NUMA information for " + "%s\n", device->full_name); + numa_domain = 0; + } + return numa_domain; +} + +/* + * In theory, the "ibm,associativity" property may contain multiple + * associativity lists because a resource may be multiply connected + * into the machine. This resource then has different associativity + * characteristics relative to its multiple connections. We ignore + * this for now. We also assume that all cpu and memory sets have + * their distances represented at a common level. This won't be + * true for heirarchical NUMA. + * + * In any case the ibm,associativity-reference-points should give + * the correct depth for a normal NUMA system. + * + * - Dave Hansen + */ +static int find_min_common_depth(void) +{ + int depth; + unsigned int *ref_points; + struct device_node *rtas_root; + unsigned int len; + + rtas_root = of_find_node_by_path("/rtas"); + + if (!rtas_root) { + printk(KERN_ERR "WARNING: %s() could not find rtas root\n", + __FUNCTION__); + return -1; + } + + /* + * this property is 2 32-bit integers, each representing a level of + * depth in the associativity nodes. The first is for an SMP + * configuration (should be all 0's) and the second is for a normal + * NUMA configuration. + */ + ref_points = (unsigned int *)get_property(rtas_root, + "ibm,associativity-reference-points", &len); + + if ((len >= 1) && ref_points) { + depth = ref_points[1]; + } else { + printk(KERN_ERR "WARNING: could not find NUMA " + "associativity reference point\n"); + depth = -1; + } + of_node_put(rtas_root); + + return depth; +} + +static unsigned long read_cell_ul(struct device_node *device, unsigned int **buf) +{ + int i; + unsigned long result = 0; + + i = prom_n_size_cells(device); + /* bug on i>2 ?? */ + while (i--) { + result = (result << 32) | **buf; + (*buf)++; + } + return result; +} + static int __init parse_numa_properties(void) { struct device_node *cpu = NULL; struct device_node *memory = NULL; - int *cpu_associativity; - int *memory_associativity; int depth; int max_domain = 0; long entries = lmb_end_of_DRAM() >> MEMORY_INCREMENT_SHIFT; - long i; + unsigned long i; if (strstr(saved_command_line, "numa=off")) { printk(KERN_WARNING "NUMA disabled by user\n"); @@ -78,112 +198,78 @@ for (i = 0; i < entries ; i++) numa_memory_lookup_table[i] = ARRAY_INITIALISER; - cpu = of_find_node_by_type(NULL, "cpu"); - if (!cpu) - goto err; - - memory = of_find_node_by_type(NULL, "memory"); - if (!memory) - goto err; - - cpu_associativity = (int *)get_property(cpu, "ibm,associativity", NULL); - if (!cpu_associativity) - goto err; - - memory_associativity = (int *)get_property(memory, "ibm,associativity", - NULL); - if (!memory_associativity) - goto err; - - /* find common depth */ - if (cpu_associativity[0] < memory_associativity[0]) - depth = cpu_associativity[0]; - else - depth = memory_associativity[0]; - - for (; cpu; cpu = of_find_node_by_type(cpu, "cpu")) { - int *tmp; - int cpu_nr, numa_domain; + depth = find_min_common_depth(); - tmp = (int *)get_property(cpu, "reg", NULL); - if (!tmp) - continue; - cpu_nr = *tmp; + printk(KERN_INFO "NUMA associativity depth for CPU/Memory: %d\n", depth); + if (depth < 0) + return depth; - tmp = (int *)get_property(cpu, "ibm,associativity", - NULL); - if (!tmp) - continue; - numa_domain = tmp[depth]; + for_each_cpu(i) { + int numa_domain; + + cpu = find_cpu_node(i); - /* FIXME */ - if (numa_domain == 0xffff) { - dbg("cpu %d has no numa doman\n", cpu_nr); + if (cpu) { + numa_domain = of_node_numa_domain(cpu, depth); + of_node_put(cpu); + + if (numa_domain >= MAX_NUMNODES) { + /* + * POWER4 LPAR uses 0xffff as invalid node, + * dont warn in this case. + */ + if (numa_domain != 0xffff) + printk(KERN_ERR "WARNING: cpu %ld " + "maps to invalid NUMA node %d\n", + i, numa_domain); + numa_domain = 0; + } + } else { + printk(KERN_ERR "WARNING: no NUMA information for " + "cpu %ld\n", i); numa_domain = 0; } - if (numa_domain >= MAX_NUMNODES) - BUG(); - node_set_online(numa_domain); if (max_domain < numa_domain) max_domain = numa_domain; - map_cpu_to_node(cpu_nr, numa_domain); - /* register the second thread on an SMT machine */ - if (cur_cpu_spec->cpu_features & CPU_FTR_SMT) - map_cpu_to_node(cpu_nr ^ 0x1, numa_domain); + map_cpu_to_node(i, numa_domain); } - for (; memory; memory = of_find_node_by_type(memory, "memory")) { - unsigned int *tmp1, *tmp2; - unsigned long i; - unsigned long start = 0; - unsigned long size = 0; + memory = NULL; + while ((memory = of_find_node_by_type(memory, "memory")) != NULL) { + unsigned long start; + unsigned long size; int numa_domain; int ranges; + unsigned int *memcell_buf; + unsigned int len; - tmp1 = (int *)get_property(memory, "reg", NULL); - if (!tmp1) + memcell_buf = (unsigned int *)get_property(memory, "reg", &len); + if (!memcell_buf || len <= 0) continue; ranges = memory->n_addrs; new_range: - - i = prom_n_size_cells(memory); - while (i--) { - start = (start << 32) | *tmp1; - tmp1++; - } - - i = prom_n_size_cells(memory); - while (i--) { - size = (size << 32) | *tmp1; - tmp1++; - } + /* these are order-sensitive, and modify the buffer pointer */ + start = read_cell_ul(memory, &memcell_buf); + size = read_cell_ul(memory, &memcell_buf); start = _ALIGN_DOWN(start, MEMORY_INCREMENT); size = _ALIGN_UP(size, MEMORY_INCREMENT); - if ((start + size) > MAX_MEMORY) - BUG(); + numa_domain = of_node_numa_domain(memory, depth); - tmp2 = (int *)get_property(memory, "ibm,associativity", - NULL); - if (!tmp2) - continue; - numa_domain = tmp2[depth]; - - /* FIXME */ - if (numa_domain == 0xffff) { - dbg("memory has no numa doman\n"); + if (numa_domain >= MAX_NUMNODES) { + if (numa_domain != 0xffff) + printk(KERN_ERR "WARNING: memory at %lx maps " + "to invalid NUMA node %d\n", start, + numa_domain); numa_domain = 0; } - if (numa_domain >= MAX_NUMNODES) - BUG(); - node_set_online(numa_domain); if (max_domain < numa_domain) @@ -205,11 +291,13 @@ start, size); continue; } - node_data[numa_domain].node_spanned_pages += size / PAGE_SIZE; + node_data[numa_domain].node_spanned_pages += + size / PAGE_SIZE; } else { node_data[numa_domain].node_start_pfn = start / PAGE_SIZE; - node_data[numa_domain].node_spanned_pages = size / PAGE_SIZE; + node_data[numa_domain].node_spanned_pages = + size / PAGE_SIZE; } for (i = start ; i < (start+size); i += MEMORY_INCREMENT) @@ -227,10 +315,6 @@ numnodes = max_domain + 1; return 0; -err: - of_node_put(cpu); - of_node_put(memory); - return -1; } static void __init setup_nonnuma(void) diff -Nru a/arch/ppc64/xmon/xmon.c b/arch/ppc64/xmon/xmon.c --- a/arch/ppc64/xmon/xmon.c 2004-05-26 15:01:36 -07:00 +++ b/arch/ppc64/xmon/xmon.c 2004-05-26 15:01:36 -07:00 @@ -273,7 +273,7 @@ args.args[0] = SURVEILLANCE_TOKEN; args.args[1] = 0; args.args[2] = 0; - enter_rtas((void *) __pa(&args)); + enter_rtas(__pa(&args)); } #endif } @@ -1399,8 +1399,7 @@ /* Look for "regshere" marker to see if this is an exception frame. */ - if (newsp - sp == sizeof(struct pt_regs) + 400 - && mread(sp + 0x60, &marker, sizeof(unsigned long)) + if (mread(sp + 0x60, &marker, sizeof(unsigned long)) && marker == 0x7265677368657265) { if (mread(sp + 0x70, ®s, sizeof(regs)) != sizeof(regs)) { @@ -1417,12 +1416,6 @@ if (newsp == 0) break; - if (newsp < sp) { - printf("Stack chain goes %s: %.16lx\n", - (newsp < KERNELBASE? "into userspace": - "backwards"), newsp); - break; - } sp = newsp; } while (count++ < xmon_depth_to_print); diff -Nru a/arch/sparc64/kernel/ioctl32.c b/arch/sparc64/kernel/ioctl32.c --- a/arch/sparc64/kernel/ioctl32.c 2004-05-26 15:01:36 -07:00 +++ b/arch/sparc64/kernel/ioctl32.c 2004-05-26 15:01:36 -07:00 @@ -148,306 +148,6 @@ return ret; } -struct ncp_ioctl_request_32 { - unsigned int function; - unsigned int size; - compat_caddr_t data; -}; - -struct ncp_fs_info_v2_32 { - int version; - unsigned int mounted_uid; - unsigned int connection; - unsigned int buffer_size; - - unsigned int volume_number; - __u32 directory_id; - - __u32 dummy1; - __u32 dummy2; - __u32 dummy3; -}; - -struct ncp_objectname_ioctl_32 -{ - int auth_type; - unsigned int object_name_len; - compat_caddr_t object_name; /* an userspace data, in most cases user name */ -}; - -struct ncp_privatedata_ioctl_32 -{ - unsigned int len; - compat_caddr_t data; /* ~1000 for NDS */ -}; - -#define NCP_IOC_NCPREQUEST_32 _IOR('n', 1, struct ncp_ioctl_request_32) - -#define NCP_IOC_GETMOUNTUID2_32 _IOW('n', 2, unsigned int) - -#define NCP_IOC_GET_FS_INFO_V2_32 _IOWR('n', 4, struct ncp_fs_info_v2_32) - -#define NCP_IOC_GETOBJECTNAME_32 _IOWR('n', 9, struct ncp_objectname_ioctl_32) -#define NCP_IOC_SETOBJECTNAME_32 _IOR('n', 9, struct ncp_objectname_ioctl_32) -#define NCP_IOC_GETPRIVATEDATA_32 _IOWR('n', 10, struct ncp_privatedata_ioctl_32) -#define NCP_IOC_SETPRIVATEDATA_32 _IOR('n', 10, struct ncp_privatedata_ioctl_32) - -static int do_ncp_ncprequest(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_ioctl_request_32 n32; - struct ncp_ioctl_request n; - mm_segment_t old_fs; - int err; - - if (copy_from_user(&n32, (struct ncp_ioctl_request_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.function = n32.function; - n.size = n32.size; - if (n.size > 65536) - return -EINVAL; - n.data = vmalloc(65536); /* 65536 must be same as NCP_PACKET_SIZE_INTERNAL in ncpfs */ - if (!n.data) - return -ENOMEM; - err = -EFAULT; - if (copy_from_user(n.data, A(n32.data), n.size)) - goto out; - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_NCPREQUEST, (unsigned long)&n); - set_fs (old_fs); - if(err <= 0) - goto out; - if (err > 65536) { - err = -EINVAL; - goto out; - } - if (copy_to_user(A(n32.data), n.data, err)) { - err = -EFAULT; - goto out; - } - out: - vfree(n.data); - return err; -} - -static int do_ncp_getmountuid2(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - mm_segment_t old_fs = get_fs(); - __kernel_uid_t kuid; - int err; - - cmd = NCP_IOC_GETMOUNTUID2; - - set_fs(KERNEL_DS); - err = sys_ioctl(fd, cmd, (unsigned long)&kuid); - set_fs(old_fs); - - if (!err) - err = put_user(kuid, (unsigned int*)arg); - - return err; -} - -static int do_ncp_getfsinfo2(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - mm_segment_t old_fs = get_fs(); - struct ncp_fs_info_v2_32 n32; - struct ncp_fs_info_v2 n; - int err; - - if (copy_from_user(&n32, (struct ncp_fs_info_v2_32*)arg, sizeof(n32))) - return -EFAULT; - if (n32.version != NCP_GET_FS_INFO_VERSION_V2) - return -EINVAL; - n.version = NCP_GET_FS_INFO_VERSION_V2; - - set_fs(KERNEL_DS); - err = sys_ioctl(fd, NCP_IOC_GET_FS_INFO_V2, (unsigned long)&n); - set_fs(old_fs); - - if (!err) { - n32.version = n.version; - n32.mounted_uid = n.mounted_uid; - n32.connection = n.connection; - n32.buffer_size = n.buffer_size; - n32.volume_number = n.volume_number; - n32.directory_id = n.directory_id; - n32.dummy1 = n.dummy1; - n32.dummy2 = n.dummy2; - n32.dummy3 = n.dummy3; - err = copy_to_user((struct ncp_fs_info_v2_32*)arg, &n32, sizeof(n32)) ? -EFAULT : 0; - } - return err; -} - -static int do_ncp_getobjectname(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_objectname_ioctl_32 n32; - struct ncp_objectname_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_objectname_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.object_name_len = tl = n32.object_name_len; - if (tl) { - n.object_name = kmalloc(tl, GFP_KERNEL); - if (!n.object_name) - return -ENOMEM; - } else { - n.object_name = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_GETOBJECTNAME, (unsigned long)&n); - set_fs (old_fs); - if(err) - goto out; - - if (tl > n.object_name_len) - tl = n.object_name_len; - - err = -EFAULT; - if (tl && copy_to_user(A(n32.object_name), n.object_name, tl)) - goto out; - - n32.auth_type = n.auth_type; - n32.object_name_len = n.object_name_len; - - if (copy_to_user((struct ncp_objectname_ioctl_32*)arg, &n32, sizeof(n32))) - goto out; - - err = 0; - out: - if (n.object_name) - kfree(n.object_name); - - return err; -} - -static int do_ncp_setobjectname(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_objectname_ioctl_32 n32; - struct ncp_objectname_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_objectname_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.auth_type = n32.auth_type; - n.object_name_len = tl = n32.object_name_len; - if (tl) { - n.object_name = kmalloc(tl, GFP_KERNEL); - if (!n.object_name) - return -ENOMEM; - err = -EFAULT; - if (copy_from_user(n.object_name, A(n32.object_name), tl)) - goto out; - } else { - n.object_name = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_SETOBJECTNAME, (unsigned long)&n); - set_fs (old_fs); - - out: - if (n.object_name) - kfree(n.object_name); - - return err; -} - -static int do_ncp_getprivatedata(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_privatedata_ioctl_32 n32; - struct ncp_privatedata_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_privatedata_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.len = tl = n32.len; - if (tl) { - n.data = kmalloc(tl, GFP_KERNEL); - if (!n.data) - return -ENOMEM; - } else { - n.data = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_GETPRIVATEDATA, (unsigned long)&n); - set_fs (old_fs); - if(err) - goto out; - - if (tl > n.len) - tl = n.len; - - err = -EFAULT; - if (tl && copy_to_user(A(n32.data), n.data, tl)) - goto out; - - n32.len = n.len; - - if (copy_to_user((struct ncp_privatedata_ioctl_32*)arg, &n32, sizeof(n32))) - goto out; - - err = 0; - out: - if (n.data) - kfree(n.data); - - return err; -} - -static int do_ncp_setprivatedata(unsigned int fd, unsigned int cmd, unsigned long arg) -{ - struct ncp_privatedata_ioctl_32 n32; - struct ncp_privatedata_ioctl n; - mm_segment_t old_fs; - int err; - size_t tl; - - if (copy_from_user(&n32, (struct ncp_privatedata_ioctl_32*)arg, - sizeof(n32))) - return -EFAULT; - - n.len = tl = n32.len; - if (tl) { - n.data = kmalloc(tl, GFP_KERNEL); - if (!n.data) - return -ENOMEM; - err = -EFAULT; - if (copy_from_user(n.data, A(n32.data), tl)) - goto out; - } else { - n.data = NULL; - } - - old_fs = get_fs(); set_fs (KERNEL_DS); - err = sys_ioctl (fd, NCP_IOC_SETPRIVATEDATA, (unsigned long)&n); - set_fs (old_fs); - - out: - if (n.data) - kfree(n.data); - - return err; -} - #if defined(CONFIG_DRM) || defined(CONFIG_DRM_MODULE) /* This really belongs in include/linux/drm.h -DaveM */ #include "../../../drivers/char/drm/drm.h" @@ -1070,18 +770,6 @@ COMPATIBLE_IOCTL(AUDIO_GETDEV_SUNOS) COMPATIBLE_IOCTL(AUDIO_FLUSH) COMPATIBLE_IOCTL(AUTOFS_IOC_EXPIRE_MULTI) -/* NCP ioctls which do not need any translations */ -COMPATIBLE_IOCTL(NCP_IOC_CONN_LOGGED_IN) -COMPATIBLE_IOCTL(NCP_IOC_SIGN_INIT) -COMPATIBLE_IOCTL(NCP_IOC_SIGN_WANTED) -COMPATIBLE_IOCTL(NCP_IOC_SET_SIGN_WANTED) -COMPATIBLE_IOCTL(NCP_IOC_LOCKUNLOCK) -COMPATIBLE_IOCTL(NCP_IOC_GETROOT) -COMPATIBLE_IOCTL(NCP_IOC_SETROOT) -COMPATIBLE_IOCTL(NCP_IOC_GETCHARSETS) -COMPATIBLE_IOCTL(NCP_IOC_SETCHARSETS) -COMPATIBLE_IOCTL(NCP_IOC_GETDENTRYTTL) -COMPATIBLE_IOCTL(NCP_IOC_SETDENTRYTTL) #if defined(CONFIG_DRM) || defined(CONFIG_DRM_MODULE) COMPATIBLE_IOCTL(DRM_IOCTL_GET_MAGIC) COMPATIBLE_IOCTL(DRM_IOCTL_IRQ_BUSID) @@ -1107,14 +795,6 @@ COMPATIBLE_IOCTL(WIOCSTOP) COMPATIBLE_IOCTL(WIOCGSTAT) /* And these ioctls need translation */ -/* NCPFS */ -HANDLE_IOCTL(NCP_IOC_NCPREQUEST_32, do_ncp_ncprequest) -HANDLE_IOCTL(NCP_IOC_GETMOUNTUID2_32, do_ncp_getmountuid2) -HANDLE_IOCTL(NCP_IOC_GET_FS_INFO_V2_32, do_ncp_getfsinfo2) -HANDLE_IOCTL(NCP_IOC_GETOBJECTNAME_32, do_ncp_getobjectname) -HANDLE_IOCTL(NCP_IOC_SETOBJECTNAME_32, do_ncp_setobjectname) -HANDLE_IOCTL(NCP_IOC_GETPRIVATEDATA_32, do_ncp_getprivatedata) -HANDLE_IOCTL(NCP_IOC_SETPRIVATEDATA_32, do_ncp_setprivatedata) /* Note SIOCRTMSG is no longer, so this is safe and * the user would have seen just an -EINVAL anyways. */ HANDLE_IOCTL(FBIOPUTCMAP32, fbiogetputcmap) HANDLE_IOCTL(FBIOGETCMAP32, fbiogetputcmap) diff -Nru a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c --- a/drivers/block/ll_rw_blk.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/block/ll_rw_blk.c 2004-05-26 15:01:35 -07:00 @@ -2824,19 +2824,13 @@ panic("Failed to create kblockd\n"); request_cachep = kmem_cache_create("blkdev_requests", - sizeof(struct request), 0, 0, NULL, NULL); - if (!request_cachep) - panic("Can't create request pool slab cache\n"); + sizeof(struct request), 0, SLAB_PANIC, NULL, NULL); requestq_cachep = kmem_cache_create("blkdev_queue", - sizeof(request_queue_t), 0, 0, NULL, NULL); - if (!requestq_cachep) - panic("Can't create request queue slab cache\n"); + sizeof(request_queue_t), 0, SLAB_PANIC, NULL, NULL); iocontext_cachep = kmem_cache_create("blkdev_ioc", - sizeof(struct io_context), 0, 0, NULL, NULL); - if (!iocontext_cachep) - panic("Can't create io context slab cache\n"); + sizeof(struct io_context), 0, SLAB_PANIC, NULL, NULL); blk_max_low_pfn = max_low_pfn; blk_max_pfn = max_pfn; diff -Nru a/drivers/block/viodasd.c b/drivers/block/viodasd.c --- a/drivers/block/viodasd.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/block/viodasd.c 2004-05-26 15:01:35 -07:00 @@ -40,8 +40,11 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -519,13 +522,6 @@ "bad rc sending event to OS/400 %d\n", (int)hvrc); return; } - printk(VIOD_KERN_INFO "disk %d: %lu sectors (%lu MB) " - "CHS=%d/%d/%d sector size %d%s\n", - dev_no, (unsigned long)(d->size >> 9), - (unsigned long)(d->size >> 20), - (int)d->cylinders, (int)d->tracks, - (int)d->sectors, (int)d->bytes_per_sector, - d->read_only ? " (RO)" : ""); /* create the request queue for the disk */ spin_lock_init(&d->q_lock); q = blk_init_queue(do_viodasd_request, &d->q_lock); @@ -563,6 +559,14 @@ g->private_data = d; set_capacity(g, d->size >> 9); + printk(VIOD_KERN_INFO "disk %d: %lu sectors (%lu MB) " + "CHS=%d/%d/%d sector size %d%s\n", + dev_no, (unsigned long)(d->size >> 9), + (unsigned long)(d->size >> 20), + (int)d->cylinders, (int)d->tracks, + (int)d->sectors, (int)d->bytes_per_sector, + d->read_only ? " (RO)" : ""); + /* register us in the global list */ add_disk(g); } @@ -725,6 +729,26 @@ } /* + * Get the driver to reprobe for more disks. + */ +static ssize_t probe_disks(struct device_driver *drv, const char *buf, + size_t count) +{ + struct viodasd_device *d; + + for (d = viodasd_devices; d < &viodasd_devices[MAX_DISKNO]; d++) { + if (d->disk == NULL) + probe_disk(d); + } + return count; +} +static DRIVER_ATTR(probe, S_IWUSR, NULL, probe_disks) + +static struct vio_driver viodasd_driver = { + .name = "viodasd" +}; + +/* * Initialize the whole device driver. Handle module and non-module * versions */ @@ -767,6 +791,9 @@ for (i = 0; i < MAX_DISKNO; i++) probe_disk(&viodasd_devices[i]); + vio_register_driver(&viodasd_driver); /* FIX ME - error checking */ + driver_create_file(&viodasd_driver.driver, &driver_attr_probe); + return 0; } module_init(viodasd_init); @@ -775,6 +802,9 @@ { int i; struct viodasd_device *d; + + driver_remove_file(&viodasd_driver.driver, &driver_attr_probe); + vio_unregister_driver(&viodasd_driver); for (i = 0; i < MAX_DISKNO; i++) { d = &viodasd_devices[i]; diff -Nru a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c --- a/drivers/bluetooth/bt3c_cs.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/bluetooth/bt3c_cs.c 2004-05-26 15:01:36 -07:00 @@ -491,6 +491,9 @@ static struct device bt3c_device = { .bus_id = "pcmcia", + .kobj = { + .k_name = "bt3c" + } }; diff -Nru a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c --- a/drivers/bluetooth/hci_bcsp.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/bluetooth/hci_bcsp.c 2004-05-26 15:01:36 -07:00 @@ -33,7 +33,6 @@ #include #include -#include #include #include #include diff -Nru a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c --- a/drivers/input/serio/sa1111ps2.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/input/serio/sa1111ps2.c 2004-05-26 15:01:36 -07:00 @@ -45,7 +45,6 @@ { struct ps2if *ps2if = dev_id; unsigned int scancode, flag, status; - int handled = IRQ_NONE; status = sa1111_readl(ps2if->base + SA1111_PS2STAT); while (status & PS2STAT_RXF) { @@ -63,11 +62,9 @@ serio_interrupt(&ps2if->io, scancode, flag, regs); status = sa1111_readl(ps2if->base + SA1111_PS2STAT); - - handled = IRQ_HANDLED; } - return handled; + return IRQ_HANDLED; } /* diff -Nru a/drivers/media/video/ir-kbd-gpio.c b/drivers/media/video/ir-kbd-gpio.c --- a/drivers/media/video/ir-kbd-gpio.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/media/video/ir-kbd-gpio.c 2004-05-26 15:01:36 -07:00 @@ -64,7 +64,7 @@ [ 13 ] = KEY_STOP, // freeze [ 29 ] = KEY_RECORD, // capture [ 3 ] = KEY_PLAY, // unmarked - [ 24 ] = KEY_RED, // unmarked + [ 23 ] = KEY_RED, // unmarked [ 7 ] = KEY_GREEN, // unmarked #if 0 diff -Nru a/drivers/media/video/mxb.c b/drivers/media/video/mxb.c --- a/drivers/media/video/mxb.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/media/video/mxb.c 2004-05-26 15:01:35 -07:00 @@ -24,42 +24,15 @@ #define DEBUG_VARIABLE debug #include -#include /* for saa7111a */ +#include +#include #include "mxb.h" #include "tea6415c.h" #include "tea6420.h" #include "tda9840.h" -#include -#define I2C_SAA7111A 0x24 - -/* All unused bytes are reserverd. */ -#define SAA711X_CHIP_VERSION 0x00 -#define SAA711X_ANALOG_INPUT_CONTROL_1 0x02 -#define SAA711X_ANALOG_INPUT_CONTROL_2 0x03 -#define SAA711X_ANALOG_INPUT_CONTROL_3 0x04 -#define SAA711X_ANALOG_INPUT_CONTROL_4 0x05 -#define SAA711X_HORIZONTAL_SYNC_START 0x06 -#define SAA711X_HORIZONTAL_SYNC_STOP 0x07 -#define SAA711X_SYNC_CONTROL 0x08 -#define SAA711X_LUMINANCE_CONTROL 0x09 -#define SAA711X_LUMINANCE_BRIGHTNESS 0x0A -#define SAA711X_LUMINANCE_CONTRAST 0x0B -#define SAA711X_CHROMA_SATURATION 0x0C -#define SAA711X_CHROMA_HUE_CONTROL 0x0D -#define SAA711X_CHROMA_CONTROL 0x0E -#define SAA711X_FORMAT_DELAY_CONTROL 0x10 -#define SAA711X_OUTPUT_CONTROL_1 0x11 -#define SAA711X_OUTPUT_CONTROL_2 0x12 -#define SAA711X_OUTPUT_CONTROL_3 0x13 -#define SAA711X_V_GATE_1_START 0x15 -#define SAA711X_V_GATE_1_STOP 0x16 -#define SAA711X_V_GATE_1_MSB 0x17 -#define SAA711X_TEXT_SLICER_STATUS 0x1A -#define SAA711X_DECODED_BYTES_OF_TS_1 0x1B -#define SAA711X_DECODED_BYTES_OF_TS_2 0x1C -#define SAA711X_STATUS_BYTE 0x1F +#define I2C_SAA7111 0x24 #define MXB_BOARD_CAN_DO_VBI(dev) (dev->revision != 0) @@ -175,42 +148,33 @@ static struct saa7146_extension extension; -static int mxb_vbi_bypass(struct saa7146_dev* dev) -{ - struct mxb* mxb = (struct mxb*)dev->ext_priv; - s32 byte = 0x0; - int result = 0; - - DEB_EE(("dev:%p\n",dev)); - - /* switch bypass in saa7111a, this should be done in the - saa7111a driver of course... */ - if ( -1 == (result = i2c_smbus_read_byte_data(mxb->saa7111a, SAA711X_OUTPUT_CONTROL_3))) { - DEB_D(("could not read from saa7111a.\n")); - return -EFAULT; - } - byte = result; - byte &= 0xf0; - byte |= 0x0a; - - if ( 0 != (result = i2c_smbus_write_byte_data(mxb->saa7111a, SAA711X_OUTPUT_CONTROL_3, byte))) { - DEB_D(("could not write to saa7111a.\n")); - return -EFAULT; - } - return 0; -} - static int mxb_probe(struct saa7146_dev* dev) { struct mxb* mxb = 0; struct i2c_client *client; struct list_head *item; + int result; - request_module("tuner"); - request_module("tea6420"); - request_module("tea6415c"); - request_module("tda9840"); - request_module("saa7111"); + if ((result = request_module("saa7111")) < 0) { + printk("mxb: saa7111 i2c module not available.\n"); + return -ENODEV; + } + if ((result = request_module("tuner")) < 0) { + printk("mxb: tuner i2c module not available.\n"); + return -ENODEV; + } + if ((result = request_module("tea6420")) < 0) { + printk("mxb: tea6420 i2c module not available.\n"); + return -ENODEV; + } + if ((result = request_module("tea6415c")) < 0) { + printk("mxb: tea6415c i2c module not available.\n"); + return -ENODEV; + } + if ((result = request_module("tda9840")) < 0) { + printk("mxb: tda9840 i2c module not available.\n"); + return -ENODEV; + } mxb = (struct mxb*)kmalloc(sizeof(struct mxb), GFP_KERNEL); if( NULL == mxb ) { @@ -219,10 +183,6 @@ } memset(mxb, 0x0, sizeof(struct mxb)); - /* FIXME: enable i2c-port pins, video-port-pins - video port pins should be enabled here ?! */ - saa7146_write(dev, MC1, (MASK_08 | MASK_24 | MASK_10 | MASK_26)); - saa7146_i2c_adapter_prepare(dev, &mxb->i2c_adapter, I2C_CLASS_TV_ANALOG, SAA7146_I2C_BUS_BIT_RATE_480); if(i2c_add_adapter(&mxb->i2c_adapter) < 0) { DEB_S(("cannot register i2c-device. skipping.\n")); @@ -241,7 +201,7 @@ mxb->tea6415c = client; if( I2C_TDA9840 == client->addr ) mxb->tda9840 = client; - if( I2C_SAA7111A == client->addr ) + if( I2C_SAA7111 == client->addr ) mxb->saa7111a = client; if( 0x60 == client->addr ) mxb->tuner = client; @@ -251,8 +211,7 @@ if( 0 == mxb->tea6420_1 || 0 == mxb->tea6420_2 || 0 == mxb->tea6415c || 0 == mxb->tda9840 || 0 == mxb->saa7111a || 0 == mxb->tuner ) { - printk("mxb: did not find all i2c devices. are you sure you\n"); - printk("mxb: insmod'ed tea6420, tea6415c, saa7111, tea6415c and tuner?\n"); + printk("mxb: did not find all i2c devices. aborting\n"); i2c_del_adapter(&mxb->i2c_adapter); kfree(mxb); return -ENODEV; @@ -322,37 +281,35 @@ {-1, { 0} } }; -static unsigned char mxb_saa7111_init[25] = { - 0x00, - - 0x00, /* 00 - ID byte */ - 0x00, /* 01 - reserved */ +static const unsigned char mxb_saa7111_init[] = { + 0x00, 0x00, /* 00 - ID byte */ + 0x01, 0x00, /* 01 - reserved */ /*front end */ - 0xd8, /* 02 - FUSE=x, GUDL=x, MODE=x */ - 0x23, /* 03 - HLNRS=0, VBSL=1, WPOFF=0, HOLDG=0, GAFIX=0, GAI1=256, GAI2=256 */ - 0x00, /* 04 - GAI1=256 */ - 0x00, /* 05 - GAI2=256 */ + 0x02, 0xd8, /* 02 - FUSE=x, GUDL=x, MODE=x */ + 0x03, 0x23, /* 03 - HLNRS=0, VBSL=1, WPOFF=0, HOLDG=0, GAFIX=0, GAI1=256, GAI2=256 */ + 0x04, 0x00, /* 04 - GAI1=256 */ + 0x05, 0x00, /* 05 - GAI2=256 */ /* decoder */ - 0xf0, /* 06 - HSB at xx(50Hz) / xx(60Hz) pixels after end of last line */ - 0x30, /* 07 - HSS at xx(50Hz) / xx(60Hz) pixels after end of last line */ - 0xa8, /* 08 - AUFD=x, FSEL=x, EXFIL=x, VTRC=x, HPLL=x, VNOI=x */ - 0x02, /* 09 - BYPS=x, PREF=x, BPSS=x, VBLB=x, UPTCV=x, APER=x */ - 0x80, /* 0a - BRIG=128 */ - 0x47, /* 0b - CONT=1.109 */ - 0x40, /* 0c - SATN=1.0 */ - 0x00, /* 0d - HUE=0 */ - 0x01, /* 0e - CDTO=0, CSTD=0, DCCF=0, FCTC=0, CHBW=1 */ - 0x00, /* 0f - reserved */ - 0xd0, /* 10 - OFTS=x, HDEL=x, VRLN=x, YDEL=x */ - 0x8c, /* 11 - GPSW=x, CM99=x, FECO=x, COMPO=x, OEYC=1, OEHV=1, VIPB=0, COLO=0 */ - 0x80, /* 12 - xx output control 2 */ - 0x30, /* 13 - xx output control 3 */ - 0x00, /* 14 - reserved */ - 0x15, /* 15 - VBI */ - 0x04, /* 16 - VBI */ - 0x00, /* 17 - VBI */ + 0x06, 0xf0, /* 06 - HSB at xx(50Hz) / xx(60Hz) pixels after end of last line */ + 0x07, 0x30, /* 07 - HSS at xx(50Hz) / xx(60Hz) pixels after end of last line */ + 0x08, 0xa8, /* 08 - AUFD=x, FSEL=x, EXFIL=x, VTRC=x, HPLL=x, VNOI=x */ + 0x09, 0x02, /* 09 - BYPS=x, PREF=x, BPSS=x, VBLB=x, UPTCV=x, APER=x */ + 0x0a, 0x80, /* 0a - BRIG=128 */ + 0x0b, 0x47, /* 0b - CONT=1.109 */ + 0x0c, 0x40, /* 0c - SATN=1.0 */ + 0x0d, 0x00, /* 0d - HUE=0 */ + 0x0e, 0x01, /* 0e - CDTO=0, CSTD=0, DCCF=0, FCTC=0, CHBW=1 */ + 0x0f, 0x00, /* 0f - reserved */ + 0x10, 0xd0, /* 10 - OFTS=x, HDEL=x, VRLN=x, YDEL=x */ + 0x11, 0x8c, /* 11 - GPSW=x, CM99=x, FECO=x, COMPO=x, OEYC=1, OEHV=1, VIPB=0, COLO=0 */ + 0x12, 0x80, /* 12 - xx output control 2 */ + 0x13, 0x30, /* 13 - xx output control 3 */ + 0x14, 0x00, /* 14 - reserved */ + 0x15, 0x15, /* 15 - VBI */ + 0x16, 0x04, /* 16 - VBI */ + 0x17, 0x00, /* 17 - VBI */ }; /* bring hardware to a sane state. this has to be done, just in case someone @@ -362,25 +319,29 @@ static int mxb_init_done(struct saa7146_dev* dev) { struct mxb* mxb = (struct mxb*)dev->ext_priv; - + struct video_decoder_init init; struct i2c_msg msg; int i = 0, err = 0; struct tea6415c_multiplex vm; + /* select video mode in saa7111a */ + i = VIDEO_MODE_PAL; + /* fixme: currently pointless: gets overwritten by configuration below */ + mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_NORM, &i); + /* write configuration to saa7111a */ - i = i2c_master_send(mxb->saa7111a, mxb_saa7111_init, sizeof(mxb_saa7111_init)); - if (i < 0) { - printk("failed to initialize saa7111a. this should never happen.\n"); - } + init.data = mxb_saa7111_init; + init.len = sizeof(mxb_saa7111_init); + mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_INIT, &init); /* select tuner-output on saa7111a */ i = 0; mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_INPUT, &i); -// i = VIDEO_MODE_PAL; -// mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_NORM, &i); - mxb_vbi_bypass(dev); + /* enable vbi bypass */ + i = 1; + mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_VBI_BYPASS, &i); /* select a tuner type */ i = 5; @@ -538,36 +499,6 @@ return 0; } -/* hack: this should go into saa711x */ -static int saa7111_set_gpio(struct saa7146_dev *dev, int bl) -{ - struct mxb* mxb = (struct mxb*)dev->ext_priv; - s32 byte = 0x0; - int result = 0; - - DEB_EE(("dev:%p\n",dev)); - - /* get the old register contents */ - if ( -1 == (byte = i2c_smbus_read_byte_data(mxb->saa7111a, SAA711X_OUTPUT_CONTROL_1))) { - DEB_D(("could not read from saa711x\n")); - return -EFAULT; - } - - if( 0 == bl ) { - byte &= 0x7f; - } else { - byte |= 0x80; - } - - /* write register contents back */ - if ( 0 != (result = i2c_smbus_write_byte_data(mxb->saa7111a, SAA711X_OUTPUT_CONTROL_1, byte))) { - DEB_D(("could not write to saa711x\n")); - return -EFAULT; - } - - return 0; -} - static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg) { struct saa7146_dev *dev = fh->dev; @@ -988,18 +919,22 @@ static int std_callback(struct saa7146_dev* dev, struct saa7146_standard *std) { + struct mxb* mxb = (struct mxb*)dev->ext_priv; + int zero = 0; + int one = 1; + if(V4L2_STD_PAL_I == std->id ) { DEB_D(("VIDIOC_S_STD: setting mxb for PAL_I.\n")); /* set the 7146 gpio register -- I don't know what this does exactly */ saa7146_write(dev, GPIO_CTRL, 0x00404050); /* unset the 7111 gpio register -- I don't know what this does exactly */ - saa7111_set_gpio(dev,0); + mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &zero); } else { DEB_D(("VIDIOC_S_STD: setting mxb for PAL/NTSC/SECAM.\n")); /* set the 7146 gpio register -- I don't know what this does exactly */ saa7146_write(dev, GPIO_CTRL, 0x00404050); /* set the 7111 gpio register -- I don't know what this does exactly */ - saa7111_set_gpio(dev,1); + mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &one); } return 0; } diff -Nru a/drivers/mtd/chips/sharp.c b/drivers/mtd/chips/sharp.c --- a/drivers/mtd/chips/sharp.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/mtd/chips/sharp.c 2004-05-26 15:01:36 -07:00 @@ -30,6 +30,7 @@ #include #include #include +#include #define CMD_RESET 0xffffffff #define CMD_READ_ID 0x90909090 diff -Nru a/drivers/mtd/maps/uclinux.c b/drivers/mtd/maps/uclinux.c --- a/drivers/mtd/maps/uclinux.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/mtd/maps/uclinux.c 2004-05-26 15:01:36 -07:00 @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff -Nru a/drivers/net/8390.h b/drivers/net/8390.h --- a/drivers/net/8390.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/net/8390.h 2004-05-26 15:01:36 -07:00 @@ -143,7 +143,7 @@ #define inb_p(_p) inb(_p) #define outb_p(_v,_p) outb(_v,_p) -#elif defined(CONFIG_NET_CBUS) || defined(CONFIG_NE_H8300) +#elif defined(CONFIG_NET_CBUS) || defined(CONFIG_NE_H8300) || defined(CONFIG_NE_H8300_MODULE) #define EI_SHIFT(x) (ei_local->reg_offset[x]) #else #define EI_SHIFT(x) (x) diff -Nru a/drivers/net/Kconfig b/drivers/net/Kconfig --- a/drivers/net/Kconfig 2004-05-26 15:01:36 -07:00 +++ b/drivers/net/Kconfig 2004-05-26 15:01:36 -07:00 @@ -1829,7 +1829,7 @@ controller on the Motorola ColdFire 5272 processor. config NE_H8300 - bool "NE2000 compatible support for H8/300" + tristate "NE2000 compatible support for H8/300" depends on H8300 && NET_ETHERNET help Say Y here if you want to use the NE2000 compatible diff -Nru a/drivers/net/ne-h8300.c b/drivers/net/ne-h8300.c --- a/drivers/net/ne-h8300.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/net/ne-h8300.c 2004-05-26 15:01:35 -07:00 @@ -260,8 +260,8 @@ bus_width &= 1 << ((ioaddr >> 21) & 7); ei_status.word16 = (bus_width == 0); /* temporary setting */ for(i = 0; i < 16 /*sizeof(SA_prom)*/; i++) { - SA_prom[i] = inb(ioaddr + NE_DATAPORT); - inb(ioaddr + NE_DATAPORT); /* dummy read */ + SA_prom[i] = inb_p(ioaddr + NE_DATAPORT); + inb_p(ioaddr + NE_DATAPORT); /* dummy read */ } start_page = NESM_START_PG; @@ -590,7 +590,7 @@ #ifdef MODULE -#define MAX_NE_CARDS 4 /* Max number of NE cards per module */ +#define MAX_NE_CARDS 1 /* Max number of NE cards per module */ static struct net_device *dev_ne[MAX_NE_CARDS]; static int io[MAX_NE_CARDS]; static int irq[MAX_NE_CARDS]; @@ -599,7 +599,7 @@ MODULE_PARM(io, "1-" __MODULE_STRING(MAX_NE_CARDS) "i"); MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_NE_CARDS) "i"); MODULE_PARM(bad, "1-" __MODULE_STRING(MAX_NE_CARDS) "i"); -MODULE_PARM_DESC(io, "I/O base address(es),required"); +MODULE_PARM_DESC(io, "I/O base address(es)"); MODULE_PARM_DESC(irq, "IRQ number(s)"); MODULE_DESCRIPTION("H8/300 NE2000 Ethernet driver"); MODULE_LICENSE("GPL"); @@ -612,26 +612,35 @@ int init_module(void) { int this_dev, found = 0; + int err; for (this_dev = 0; this_dev < MAX_NE_CARDS; this_dev++) { struct net_device *dev = alloc_ei_netdev(); if (!dev) break; - dev->irq = irq[this_dev]; - dev->mem_end = bad[this_dev]; - dev->base_addr = io[this_dev]; - if (do_ne_probe(dev) == 0) { - if (register_netdev(dev) == 0) { - dev_ne[found++] = dev; - continue; + if (io[this_dev]) { + dev->irq = irq[this_dev]; + dev->mem_end = bad[this_dev]; + dev->base_addr = io[this_dev]; + } else { + dev->base_addr = h8300_ne_base[this_dev]; + dev->irq = h8300_ne_irq[this_dev]; + } + err = init_reg_offset(dev, dev->base_addr); + if (!err) { + if (do_ne_probe(dev) == 0) { + if (register_netdev(dev) == 0) { + dev_ne[found++] = dev; + continue; + } + cleanup_card(dev); } - cleanup_card(dev); } free_netdev(dev); if (found) break; if (io[this_dev] != 0) - printk(KERN_WARNING "ne.c: No NE*000 card found at i/o = %#x\n", io[this_dev]); + printk(KERN_WARNING "ne.c: No NE*000 card found at i/o = %#x\n", dev->base_addr); else printk(KERN_NOTICE "ne.c: You must supply \"io=0xNNN\" value(s) for ISA cards.\n"); return -ENXIO; diff -Nru a/drivers/net/tg3.c b/drivers/net/tg3.c --- a/drivers/net/tg3.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/net/tg3.c 2004-05-26 15:01:36 -07:00 @@ -56,8 +56,8 @@ #define DRV_MODULE_NAME "tg3" #define PFX DRV_MODULE_NAME ": " -#define DRV_MODULE_VERSION "3.4" -#define DRV_MODULE_RELDATE "May 14, 2004" +#define DRV_MODULE_VERSION "3.5" +#define DRV_MODULE_RELDATE "May 25, 2004" #define TG3_DEF_MAC_MODE 0 #define TG3_DEF_RX_MODE 0 @@ -128,7 +128,8 @@ /* minimum number of free TX descriptors required to wake up TX process */ #define TG3_TX_WAKEUP_THRESH (TG3_TX_RING_SIZE / 4) -#define TG3_NUM_STATS 25 /* number of ETHTOOL_GSTATS u64's */ +/* number of ETHTOOL_GSTATS u64's */ +#define TG3_NUM_STATS (sizeof(struct tg3_ethtool_stats)/sizeof(u64)) static char version[] __devinitdata = DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n"; @@ -216,10 +217,13 @@ struct { char string[ETH_GSTRING_LEN]; } ethtool_stats_keys[TG3_NUM_STATS] = { + { "rx_octets" }, { "rx_fragments" }, { "rx_ucast_packets" }, + { "rx_mcast_packets" }, { "rx_bcast_packets" }, { "rx_fcs_errors" }, + { "rx_align_errors" }, { "rx_xon_pause_rcvd" }, { "rx_xoff_pause_rcvd" }, { "rx_mac_ctrl_rcvd" }, @@ -229,6 +233,19 @@ { "rx_undersize_packets" }, { "rx_in_length_errors" }, { "rx_out_length_errors" }, + { "rx_64_or_less_octet_packets" }, + { "rx_65_to_127_octet_packets" }, + { "rx_128_to_255_octet_packets" }, + { "rx_256_to_511_octet_packets" }, + { "rx_512_to_1023_octet_packets" }, + { "rx_1024_to_1522_octet_packets" }, + { "rx_1523_to_2047_octet_packets" }, + { "rx_2048_to_4095_octet_packets" }, + { "rx_4096_to_8191_octet_packets" }, + { "rx_8192_to_9022_octet_packets" }, + + { "tx_octets" }, + { "tx_collisions" }, { "tx_xon_sent" }, { "tx_xoff_sent" }, @@ -239,9 +256,43 @@ { "tx_deferred" }, { "tx_excessive_collisions" }, { "tx_late_collisions" }, + { "tx_collide_2times" }, + { "tx_collide_3times" }, + { "tx_collide_4times" }, + { "tx_collide_5times" }, + { "tx_collide_6times" }, + { "tx_collide_7times" }, + { "tx_collide_8times" }, + { "tx_collide_9times" }, + { "tx_collide_10times" }, + { "tx_collide_11times" }, + { "tx_collide_12times" }, + { "tx_collide_13times" }, + { "tx_collide_14times" }, + { "tx_collide_15times" }, { "tx_ucast_packets" }, { "tx_mcast_packets" }, - { "tx_bcast_packets" } + { "tx_bcast_packets" }, + { "tx_carrier_sense_errors" }, + { "tx_discards" }, + { "tx_errors" }, + + { "dma_writeq_full" }, + { "dma_write_prioq_full" }, + { "rxbds_empty" }, + { "rx_discards" }, + { "rx_errors" }, + { "rx_threshold_hit" }, + + { "dma_readq_full" }, + { "dma_read_prioq_full" }, + { "tx_comp_queue_full" }, + + { "ring_set_send_prod_index" }, + { "ring_status_update" }, + { "nic_irqs" }, + { "nic_avoided_irqs" }, + { "nic_tx_threshold_hit" } }; static void tg3_write_indirect_reg32(struct tg3 *tp, u32 off, u32 val) @@ -1053,6 +1104,8 @@ static void tg3_setup_flow_control(struct tg3 *tp, u32 local_adv, u32 remote_adv) { u32 new_tg3_flags = 0; + u32 old_rx_mode = tp->rx_mode; + u32 old_tx_mode = tp->tx_mode; if (local_adv & ADVERTISE_PAUSE_CAP) { if (local_adv & ADVERTISE_PAUSE_ASYM) { @@ -1083,10 +1136,18 @@ else tp->rx_mode &= ~RX_MODE_FLOW_CTRL_ENABLE; + if (old_rx_mode != tp->rx_mode) { + tw32_f(MAC_RX_MODE, tp->rx_mode); + } + if (new_tg3_flags & TG3_FLAG_TX_PAUSE) tp->tx_mode |= TX_MODE_FLOW_CTRL_ENABLE; else tp->tx_mode &= ~TX_MODE_FLOW_CTRL_ENABLE; + + if (old_tx_mode != tp->tx_mode) { + tw32_f(MAC_TX_MODE, tp->tx_mode); + } } static void tg3_aux_stat_to_speed_duplex(struct tg3 *tp, u32 val, u16 *speed, u8 *duplex) @@ -2472,7 +2533,7 @@ static int tg3_poll(struct net_device *netdev, int *budget) { - struct tg3 *tp = netdev->priv; + struct tg3 *tp = netdev_priv(netdev); struct tg3_hw_status *sblk = tp->hw_status; unsigned long flags; int done; @@ -2554,7 +2615,7 @@ static irqreturn_t tg3_interrupt(int irq, void *dev_id, struct pt_regs *regs) { struct net_device *dev = dev_id; - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); struct tg3_hw_status *sblk = tp->hw_status; unsigned long flags; unsigned int handled = 1; @@ -2634,7 +2695,7 @@ static void tg3_tx_timeout(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); printk(KERN_ERR PFX "%s: transmit timed out, resetting\n", dev->name); @@ -2750,7 +2811,7 @@ static int tg3_start_xmit_4gbug(struct sk_buff *skb, struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); dma_addr_t mapping; unsigned int i; u32 len, entry, base_flags, mss; @@ -2954,7 +3015,7 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); dma_addr_t mapping; u32 len, entry, base_flags, mss; unsigned long flags; @@ -3124,7 +3185,7 @@ static int tg3_change_mtu(struct net_device *dev, int new_mtu) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if (new_mtu < TG3_MIN_MTU || new_mtu > TG3_MAX_MTU(tp)) return -EINVAL; @@ -4741,7 +4802,7 @@ static int tg3_set_mac_addr(struct net_device *dev, void *p) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); struct sockaddr *addr = p; memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); @@ -5533,7 +5594,7 @@ static int tg3_open(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); int err; spin_lock_irq(&tp->lock); @@ -5836,7 +5897,7 @@ static int tg3_close(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); netif_stop_queue(dev); @@ -5921,10 +5982,13 @@ if (!hw_stats) return old_estats; + ESTAT_ADD(rx_octets); ESTAT_ADD(rx_fragments); ESTAT_ADD(rx_ucast_packets); + ESTAT_ADD(rx_mcast_packets); ESTAT_ADD(rx_bcast_packets); ESTAT_ADD(rx_fcs_errors); + ESTAT_ADD(rx_align_errors); ESTAT_ADD(rx_xon_pause_rcvd); ESTAT_ADD(rx_xoff_pause_rcvd); ESTAT_ADD(rx_mac_ctrl_rcvd); @@ -5934,7 +5998,19 @@ ESTAT_ADD(rx_undersize_packets); ESTAT_ADD(rx_in_length_errors); ESTAT_ADD(rx_out_length_errors); + ESTAT_ADD(rx_64_or_less_octet_packets); + ESTAT_ADD(rx_65_to_127_octet_packets); + ESTAT_ADD(rx_128_to_255_octet_packets); + ESTAT_ADD(rx_256_to_511_octet_packets); + ESTAT_ADD(rx_512_to_1023_octet_packets); + ESTAT_ADD(rx_1024_to_1522_octet_packets); + ESTAT_ADD(rx_1523_to_2047_octet_packets); + ESTAT_ADD(rx_2048_to_4095_octet_packets); + ESTAT_ADD(rx_4096_to_8191_octet_packets); + ESTAT_ADD(rx_8192_to_9022_octet_packets); + ESTAT_ADD(tx_octets); + ESTAT_ADD(tx_collisions); ESTAT_ADD(tx_xon_sent); ESTAT_ADD(tx_xoff_sent); ESTAT_ADD(tx_flow_control); @@ -5944,16 +6020,50 @@ ESTAT_ADD(tx_deferred); ESTAT_ADD(tx_excessive_collisions); ESTAT_ADD(tx_late_collisions); + ESTAT_ADD(tx_collide_2times); + ESTAT_ADD(tx_collide_3times); + ESTAT_ADD(tx_collide_4times); + ESTAT_ADD(tx_collide_5times); + ESTAT_ADD(tx_collide_6times); + ESTAT_ADD(tx_collide_7times); + ESTAT_ADD(tx_collide_8times); + ESTAT_ADD(tx_collide_9times); + ESTAT_ADD(tx_collide_10times); + ESTAT_ADD(tx_collide_11times); + ESTAT_ADD(tx_collide_12times); + ESTAT_ADD(tx_collide_13times); + ESTAT_ADD(tx_collide_14times); + ESTAT_ADD(tx_collide_15times); ESTAT_ADD(tx_ucast_packets); ESTAT_ADD(tx_mcast_packets); ESTAT_ADD(tx_bcast_packets); + ESTAT_ADD(tx_carrier_sense_errors); + ESTAT_ADD(tx_discards); + ESTAT_ADD(tx_errors); + + ESTAT_ADD(dma_writeq_full); + ESTAT_ADD(dma_write_prioq_full); + ESTAT_ADD(rxbds_empty); + ESTAT_ADD(rx_discards); + ESTAT_ADD(rx_errors); + ESTAT_ADD(rx_threshold_hit); + + ESTAT_ADD(dma_readq_full); + ESTAT_ADD(dma_read_prioq_full); + ESTAT_ADD(tx_comp_queue_full); + + ESTAT_ADD(ring_set_send_prod_index); + ESTAT_ADD(ring_status_update); + ESTAT_ADD(nic_irqs); + ESTAT_ADD(nic_avoided_irqs); + ESTAT_ADD(nic_tx_threshold_hit); return estats; } static struct net_device_stats *tg3_get_stats(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); struct net_device_stats *stats = &tp->net_stats; struct net_device_stats *old_stats = &tp->net_stats_prev; struct tg3_hw_stats *hw_stats = tp->hw_stats; @@ -5977,7 +6087,8 @@ get_stat64(&hw_stats->tx_octets); stats->rx_errors = old_stats->rx_errors + - get_stat64(&hw_stats->rx_errors); + get_stat64(&hw_stats->rx_errors) + + get_stat64(&hw_stats->rx_discards); stats->tx_errors = old_stats->tx_errors + get_stat64(&hw_stats->tx_errors) + get_stat64(&hw_stats->tx_mac_errors) + @@ -6044,7 +6155,7 @@ static void __tg3_set_rx_mode(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); u32 rx_mode; rx_mode = tp->rx_mode & ~(RX_MODE_PROMISC | @@ -6108,7 +6219,7 @@ static void tg3_set_rx_mode(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); spin_lock_irq(&tp->lock); __tg3_set_rx_mode(dev); @@ -6126,7 +6237,7 @@ struct ethtool_regs *regs, void *_p) { u32 *p = _p; - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); u8 *orig_p = _p; int i; @@ -6257,7 +6368,7 @@ static int tg3_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if (!(tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) || tp->link_config.phy_is_low_power) @@ -6292,7 +6403,7 @@ static int tg3_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if (!(tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) || tp->link_config.phy_is_low_power) @@ -6331,7 +6442,7 @@ static void tg3_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); strcpy(info->driver, DRV_MODULE_NAME); strcpy(info->version, DRV_MODULE_VERSION); @@ -6340,7 +6451,7 @@ static void tg3_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); wol->supported = WAKE_MAGIC; wol->wolopts = 0; @@ -6351,7 +6462,7 @@ static int tg3_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if (wol->wolopts & ~WAKE_MAGIC) return -EINVAL; @@ -6372,20 +6483,20 @@ static u32 tg3_get_msglevel(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); return tp->msg_enable; } static void tg3_set_msglevel(struct net_device *dev, u32 value) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); tp->msg_enable = value; } #if TG3_TSO_SUPPORT != 0 static int tg3_set_tso(struct net_device *dev, u32 value) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if (!(tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE)) { if (value) @@ -6398,7 +6509,7 @@ static int tg3_nway_reset(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); u32 bmcr; int r; @@ -6417,7 +6528,7 @@ static void tg3_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); ering->rx_max_pending = TG3_RX_RING_SIZE - 1; ering->rx_mini_max_pending = 0; @@ -6431,7 +6542,7 @@ static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if ((ering->rx_pending > TG3_RX_RING_SIZE - 1) || (ering->rx_jumbo_pending > TG3_RX_JUMBO_RING_SIZE - 1) || @@ -6462,7 +6573,7 @@ static void tg3_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); epause->autoneg = (tp->tg3_flags & TG3_FLAG_PAUSE_AUTONEG) != 0; epause->rx_pause = (tp->tg3_flags & TG3_FLAG_PAUSE_RX) != 0; @@ -6471,7 +6582,7 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); tg3_netif_stop(tp); spin_lock_irq(&tp->lock); @@ -6499,13 +6610,13 @@ static u32 tg3_get_rx_csum(struct net_device *dev) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); return (tp->tg3_flags & TG3_FLAG_RX_CHECKSUMS) != 0; } static int tg3_set_rx_csum(struct net_device *dev, u32 data) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if (tp->tg3_flags & TG3_FLAG_BROKEN_CHECKSUMS) { if (data != 0) @@ -6525,7 +6636,7 @@ static int tg3_set_tx_csum(struct net_device *dev, u32 data) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); if (tp->tg3_flags & TG3_FLAG_BROKEN_CHECKSUMS) { if (data != 0) @@ -6562,13 +6673,13 @@ struct ethtool_stats *estats, u64 *tmp_stats) { struct tg3 *tp = dev->priv; - memcpy(tmp_stats, &tp->estats, sizeof(tp->estats)); + memcpy(tmp_stats, tg3_get_estats(tp), sizeof(tp->estats)); } static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { struct mii_ioctl_data *data = (struct mii_ioctl_data *)&ifr->ifr_data; - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); int err; switch(cmd) { @@ -6608,7 +6719,7 @@ #if TG3_VLAN_TAG_USED static void tg3_vlan_rx_register(struct net_device *dev, struct vlan_group *grp) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); spin_lock_irq(&tp->lock); spin_lock(&tp->tx_lock); @@ -6624,7 +6735,7 @@ static void tg3_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) { - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); spin_lock_irq(&tp->lock); spin_lock(&tp->tx_lock); @@ -8047,7 +8158,7 @@ dev->vlan_rx_kill_vid = tg3_vlan_rx_kill_vid; #endif - tp = dev->priv; + tp = netdev_priv(dev); tp->pdev = pdev; tp->dev = dev; tp->pm_cap = pm_cap; @@ -8268,8 +8379,10 @@ struct net_device *dev = pci_get_drvdata(pdev); if (dev) { + struct tg3 *tp = netdev_priv(dev); + unregister_netdev(dev); - iounmap((void *) ((struct tg3 *)(dev->priv))->regs); + iounmap((void *)tp->regs); free_netdev(dev); pci_release_regions(pdev); pci_disable_device(pdev); @@ -8280,7 +8393,7 @@ static int tg3_suspend(struct pci_dev *pdev, u32 state) { struct net_device *dev = pci_get_drvdata(pdev); - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); int err; if (!netif_running(dev)) @@ -8327,7 +8440,7 @@ static int tg3_resume(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - struct tg3 *tp = dev->priv; + struct tg3 *tp = netdev_priv(dev); int err; if (!netif_running(dev)) diff -Nru a/drivers/net/tg3.h b/drivers/net/tg3.h --- a/drivers/net/tg3.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/net/tg3.h 2004-05-26 15:01:35 -07:00 @@ -1845,10 +1845,13 @@ struct tg3_ethtool_stats { /* Statistics maintained by Receive MAC. */ + u64 rx_octets; u64 rx_fragments; u64 rx_ucast_packets; + u64 rx_mcast_packets; u64 rx_bcast_packets; u64 rx_fcs_errors; + u64 rx_align_errors; u64 rx_xon_pause_rcvd; u64 rx_xoff_pause_rcvd; u64 rx_mac_ctrl_rcvd; @@ -1858,8 +1861,20 @@ u64 rx_undersize_packets; u64 rx_in_length_errors; u64 rx_out_length_errors; + u64 rx_64_or_less_octet_packets; + u64 rx_65_to_127_octet_packets; + u64 rx_128_to_255_octet_packets; + u64 rx_256_to_511_octet_packets; + u64 rx_512_to_1023_octet_packets; + u64 rx_1024_to_1522_octet_packets; + u64 rx_1523_to_2047_octet_packets; + u64 rx_2048_to_4095_octet_packets; + u64 rx_4096_to_8191_octet_packets; + u64 rx_8192_to_9022_octet_packets; /* Statistics maintained by Transmit MAC. */ + u64 tx_octets; + u64 tx_collisions; u64 tx_xon_sent; u64 tx_xoff_sent; u64 tx_flow_control; @@ -1869,9 +1884,46 @@ u64 tx_deferred; u64 tx_excessive_collisions; u64 tx_late_collisions; + u64 tx_collide_2times; + u64 tx_collide_3times; + u64 tx_collide_4times; + u64 tx_collide_5times; + u64 tx_collide_6times; + u64 tx_collide_7times; + u64 tx_collide_8times; + u64 tx_collide_9times; + u64 tx_collide_10times; + u64 tx_collide_11times; + u64 tx_collide_12times; + u64 tx_collide_13times; + u64 tx_collide_14times; + u64 tx_collide_15times; u64 tx_ucast_packets; u64 tx_mcast_packets; u64 tx_bcast_packets; + u64 tx_carrier_sense_errors; + u64 tx_discards; + u64 tx_errors; + + /* Statistics maintained by Receive List Placement. */ + u64 dma_writeq_full; + u64 dma_write_prioq_full; + u64 rxbds_empty; + u64 rx_discards; + u64 rx_errors; + u64 rx_threshold_hit; + + /* Statistics maintained by Send Data Initiator. */ + u64 dma_readq_full; + u64 dma_read_prioq_full; + u64 tx_comp_queue_full; + + /* Statistics maintained by Host Coalescing. */ + u64 ring_set_send_prod_index; + u64 ring_status_update; + u64 nic_irqs; + u64 nic_avoided_irqs; + u64 nic_tx_threshold_hit; }; struct tg3 { diff -Nru a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c --- a/drivers/net/tokenring/olympic.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/net/tokenring/olympic.c 2004-05-26 15:01:36 -07:00 @@ -1806,7 +1806,7 @@ static void __exit olympic_pci_cleanup(void) { - return pci_unregister_driver(&olympic_driver) ; + pci_unregister_driver(&olympic_driver) ; } diff -Nru a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c --- a/drivers/pcmcia/cs.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/pcmcia/cs.c 2004-05-26 15:01:35 -07:00 @@ -789,9 +789,10 @@ return 1; for (i = 0; i < MAX_IO_WIN; i++) { if (s->io[i].NumPorts == 0) { - if (find_io_region(base, num, align, name, s) == 0) { + s->io[i].res = find_io_region(*base, num, align, name, s); + if (s->io[i].res) { s->io[i].Attributes = attr; - s->io[i].BasePort = *base; + s->io[i].BasePort = *base = s->io[i].res->start; s->io[i].NumPorts = s->io[i].InUse = num; break; } else @@ -801,7 +802,8 @@ /* Try to extend top of window */ try = s->io[i].BasePort + s->io[i].NumPorts; if ((*base == 0) || (*base == try)) - if (find_io_region(&try, num, 0, name, s) == 0) { + if (adjust_io_region(s->io[i].res, s->io[i].res->start, + s->io[i].res->end + num, s) == 0) { *base = try; s->io[i].NumPorts += num; s->io[i].InUse += num; @@ -810,7 +812,8 @@ /* Try to extend bottom of window */ try = s->io[i].BasePort - num; if ((*base == 0) || (*base == try)) - if (find_io_region(&try, num, 0, name, s) == 0) { + if (adjust_io_region(s->io[i].res, s->io[i].res->start - num, + s->io[i].res->end, s) == 0) { s->io[i].BasePort = *base = try; s->io[i].NumPorts += num; s->io[i].InUse += num; @@ -824,15 +827,18 @@ ioaddr_t num) { int i; - if(!(s->features & SS_CAP_STATIC_MAP)) - release_region(base, num); + for (i = 0; i < MAX_IO_WIN; i++) { if ((s->io[i].BasePort <= base) && (s->io[i].BasePort+s->io[i].NumPorts >= base+num)) { s->io[i].InUse -= num; /* Free the window if no one else is using it */ - if (s->io[i].InUse == 0) + if (s->io[i].InUse == 0) { s->io[i].NumPorts = 0; + release_resource(s->io[i].res); + kfree(s->io[i].res); + s->io[i].res = NULL; + } } } } diff -Nru a/drivers/pcmcia/cs_internal.h b/drivers/pcmcia/cs_internal.h --- a/drivers/pcmcia/cs_internal.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/pcmcia/cs_internal.h 2004-05-26 15:01:36 -07:00 @@ -181,8 +181,10 @@ /* In rsrc_mgr */ void validate_mem(struct pcmcia_socket *s); -int find_io_region(ioaddr_t *base, ioaddr_t num, unsigned long align, +struct resource *find_io_region(unsigned long base, int num, unsigned long align, char *name, struct pcmcia_socket *s); +int adjust_io_region(struct resource *res, unsigned long r_start, + unsigned long r_end, struct pcmcia_socket *s); int find_mem_region(u_long *base, u_long num, u_long align, int low, char *name, struct pcmcia_socket *s); int try_irq(u_int Attributes, int irq, int specific); diff -Nru a/drivers/pcmcia/pxa2xx_lubbock.c b/drivers/pcmcia/pxa2xx_lubbock.c --- a/drivers/pcmcia/pxa2xx_lubbock.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/pcmcia/pxa2xx_lubbock.c 2004-05-26 15:01:36 -07:00 @@ -20,9 +20,11 @@ #include #include #include +#include #include #include +#include #include "sa1111_generic.h" @@ -30,156 +32,170 @@ lubbock_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_state_t *state) { - unsigned long flags, gpio, misc_wr; - int ret = 1; - struct pcmcia_state new_state; - - local_irq_save(flags); - - gpio = PA_DWR; - misc_wr = LUB_MISC_WR; - - /* Lubbock uses the Maxim MAX1602, with the following connections: - * - * Socket 0 (PCMCIA): - * MAX1602 Lubbock Register - * Pin Signal - * ----- ------- ---------------------- - * A0VPP S0_PWR0 SA-1111 GPIO A<0> - * A1VPP S0_PWR1 SA-1111 GPIO A<1> - * A0VCC S0_PWR2 SA-1111 GPIO A<2> - * A1VCC S0_PWR3 SA-1111 GPIO A<3> - * VX VCC - * VY +3.3V - * 12IN +12V - * CODE +3.3V Cirrus Code, CODE = High (VY) - * - * Socket 1 (CF): - * MAX1602 Lubbock Register - * Pin Signal - * ----- ------- ---------------------- - * A0VPP GND VPP is not connected - * A1VPP GND VPP is not connected - * A0VCC S1_PWR0 MISC_WR<14> - * A1VCC S1_PWR0 MISC_WR<15> - * VX VCC - * VY +3.3V - * 12IN GND VPP is not connected - * CODE +3.3V Cirrus Code, CODE = High (VY) - * - */ - -again: - switch(skt->nr){ - case 0: - - switch(state->Vcc){ - case 0: - gpio &= ~(GPIO_bit(2) | GPIO_bit(3)); - break; - - case 33: - gpio = (gpio & ~(GPIO_bit(2) | GPIO_bit(3))) | GPIO_bit(3); - break; - - case 50: - gpio = (gpio & ~(GPIO_bit(2) | GPIO_bit(3))) | GPIO_bit(2); - break; - - default: - printk(KERN_ERR "%s(): unrecognized Vcc %u\n", __FUNCTION__, state->Vcc); - ret = -1; - } - - switch(state->Vpp){ - case 0: - gpio &= ~(GPIO_bit(0) | GPIO_bit(1)); - break; - - case 120: - gpio = (gpio & ~(GPIO_bit(0) | GPIO_bit(1))) | GPIO_bit(1); - break; - - default: - /* REVISIT: I'm not sure about this? Is this correct? - Is it always safe or do we have potential problems - with bogus combinations of Vcc and Vpp settings? */ - if(state->Vpp == state->Vcc) - gpio = (gpio & ~(GPIO_bit(0) | GPIO_bit(1))) | GPIO_bit(0); - else { - printk(KERN_ERR "%s(): unrecognized Vpp %u\n", __FUNCTION__, state->Vpp); - ret = -1; - break; - } - } - - break; - - case 1: - switch(state->Vcc){ - case 0: - misc_wr &= ~((1 << 15) | (1 << 14)); - break; - - case 33: - misc_wr = (misc_wr & ~(1 << 15)) | (1 << 14); - gpio = (gpio & ~(GPIO_bit(2) | GPIO_bit(3))) | GPIO_bit(2); - break; - - case 50: - misc_wr = (misc_wr & ~(1 << 15)) | (1 << 14); - break; - - default: - printk(KERN_ERR "%s(): unrecognized Vcc %u\n", __FUNCTION__, state->Vcc); - ret = -1; - break; - } - - if(state->Vpp!=state->Vcc && state->Vpp!=0){ - printk(KERN_ERR "%s(): CF slot cannot support Vpp %u\n", __FUNCTION__, state->Vpp); - ret = -1; - break; - } - - break; - - default: - ret = -1; - } - - if (ret >= 0) { - sa1111_pcmcia_configure_socket(skt, state); - LUB_MISC_WR = misc_wr; - PA_DWR = gpio; - } + unsigned int pa_dwr_mask, pa_dwr_set, misc_mask, misc_set; + int ret = 0; + + pa_dwr_mask = pa_dwr_set = misc_mask = misc_set = 0; + + /* Lubbock uses the Maxim MAX1602, with the following connections: + * + * Socket 0 (PCMCIA): + * MAX1602 Lubbock Register + * Pin Signal + * ----- ------- ---------------------- + * A0VPP S0_PWR0 SA-1111 GPIO A<0> + * A1VPP S0_PWR1 SA-1111 GPIO A<1> + * A0VCC S0_PWR2 SA-1111 GPIO A<2> + * A1VCC S0_PWR3 SA-1111 GPIO A<3> + * VX VCC + * VY +3.3V + * 12IN +12V + * CODE +3.3V Cirrus Code, CODE = High (VY) + * + * Socket 1 (CF): + * MAX1602 Lubbock Register + * Pin Signal + * ----- ------- ---------------------- + * A0VPP GND VPP is not connected + * A1VPP GND VPP is not connected + * A0VCC S1_PWR0 MISC_WR<14> + * A1VCC S1_PWR1 MISC_WR<15> + * VX VCC + * VY +3.3V + * 12IN GND VPP is not connected + * CODE +3.3V Cirrus Code, CODE = High (VY) + * + */ + + again: + switch (skt->nr) { + case 0: + pa_dwr_mask = GPIO_A0 | GPIO_A1 | GPIO_A2 | GPIO_A3; + + switch (state->Vcc) { + case 0: /* Hi-Z */ + break; + + case 33: /* VY */ + pa_dwr_set |= GPIO_A3; + break; + + case 50: /* VX */ + pa_dwr_set |= GPIO_A2; + break; + + default: + printk(KERN_ERR "%s(): unrecognized Vcc %u\n", + __FUNCTION__, state->Vcc); + ret = -1; + } + + switch (state->Vpp) { + case 0: /* Hi-Z */ + break; + + case 120: /* 12IN */ + pa_dwr_set |= GPIO_A1; + break; + + default: /* VCC */ + if (state->Vpp == state->Vcc) + pa_dwr_set |= GPIO_A0; + else { + printk(KERN_ERR "%s(): unrecognized Vpp %u\n", + __FUNCTION__, state->Vpp); + ret = -1; + break; + } + } + break; + + case 1: + misc_mask = (1 << 15) | (1 << 14); + + switch (state->Vcc) { + case 0: /* Hi-Z */ + break; + + case 33: /* VY */ + misc_set |= 1 << 15; + break; + + case 50: /* VX */ + misc_set |= 1 << 14; + break; + + default: + printk(KERN_ERR "%s(): unrecognized Vcc %u\n", + __FUNCTION__, state->Vcc); + ret = -1; + break; + } + + if (state->Vpp != state->Vcc && state->Vpp != 0) { + printk(KERN_ERR "%s(): CF slot cannot support Vpp %u\n", + __FUNCTION__, state->Vpp); + ret = -1; + break; + } + break; + + default: + ret = -1; + } + + if (ret == 0) + ret = sa1111_pcmcia_configure_socket(skt, state); + + if (ret == 0) { + lubbock_set_misc_wr(misc_mask, misc_set); + sa1111_set_io(SA1111_DEV(skt->dev), pa_dwr_mask, pa_dwr_set); + } - if (ret > 0) { - ret = 0; #if 1 - /* - * HACK ALERT: - * We can't sense the voltage properly on Lubbock before actually - * applying some power to the socket (catch 22). - * Resense the socket Voltage Sense pins after applying socket power. - */ - sa1111_pcmcia_socket_state(skt, &new_state); - if (state->Vcc == 33 && !new_state.vs_3v && !new_state.vs_Xv) { - /* Switch to 5V, Configure socket with 5V voltage */ - PA_DWR &= ~(GPIO_bit(0) | GPIO_bit(1) | GPIO_bit(2) | GPIO_bit(3)); - PA_DDR &= ~(GPIO_bit(0) | GPIO_bit(1) | GPIO_bit(2) | GPIO_bit(3)); - /* We need to hack around the const qualifier as well to keep this - ugly workaround localized and not force it to the rest of the code. - Barf bags avaliable in the seat pocket in front of you! */ - ((socket_state_t *)state)->Vcc = 50; - ((socket_state_t *)state)->Vpp = 50; - goto again; - } + if (ret == 0 && state->Vcc == 33) { + struct pcmcia_state new_state; + + /* + * HACK ALERT: + * We can't sense the voltage properly on Lubbock before + * actually applying some power to the socket (catch 22). + * Resense the socket Voltage Sense pins after applying + * socket power. + * + * Note: It takes about 2.5ms for the MAX1602 VCC output + * to rise. + */ + mdelay(3); + + sa1111_pcmcia_socket_state(skt, &new_state); + + if (!new_state.vs_3v && !new_state.vs_Xv) { + /* + * Switch to 5V, Configure socket with 5V voltage + */ + lubbock_set_misc_wr(misc_mask, 0); + sa1111_set_io(SA1111_DEV(skt->dev), pa_dwr_mask, 0); + + /* + * It takes about 100ms to turn off Vcc. + */ + mdelay(100); + + /* + * We need to hack around the const qualifier as + * well to keep this ugly workaround localized and + * not force it to the rest of the code. Barf bags + * avaliable in the seat pocket in front of you! + */ + ((socket_state_t *)state)->Vcc = 50; + ((socket_state_t *)state)->Vpp = 50; + goto again; + } + } #endif - } - local_irq_restore(flags); - return ret; + return ret; } static struct pcmcia_low_level lubbock_pcmcia_ops = { @@ -196,7 +212,7 @@ #include "pxa2xx_base.h" -int __init pcmcia_lubbock_init(struct device *dev) +int __init pcmcia_lubbock_init(struct sa1111_dev *sadev) { int ret = -ENODEV; @@ -205,16 +221,15 @@ * Set GPIO_A<3:0> to be outputs for the MAX1600, * and switch to standby mode. */ - PA_DWR = 0; - PA_DDR = 0; - PA_SDR = 0; - PA_SSR = 0; + sa1111_set_io_dir(sadev, GPIO_A0|GPIO_A1|GPIO_A2|GPIO_A3, 0, 0); + sa1111_set_io(sadev, GPIO_A0|GPIO_A1|GPIO_A2|GPIO_A3, 0); + sa1111_set_sleep_io(sadev, GPIO_A0|GPIO_A1|GPIO_A2|GPIO_A3, 0); /* Set CF Socket 1 power to standby mode. */ - LUB_MISC_WR &= ~(GPIO_bit(15) | GPIO_bit(14)); + lubbock_set_misc_wr((1 << 15) | (1 << 14), 0); - dev->platform_data = &lubbock_pcmcia_ops; - ret = pxa2xx_drv_pcmcia_probe(dev); + sadev->dev.platform_data = &lubbock_pcmcia_ops; + ret = pxa2xx_drv_pcmcia_probe(&sadev->dev); } return ret; diff -Nru a/drivers/pcmcia/rsrc_mgr.c b/drivers/pcmcia/rsrc_mgr.c --- a/drivers/pcmcia/rsrc_mgr.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/pcmcia/rsrc_mgr.c 2004-05-26 15:01:36 -07:00 @@ -550,7 +550,7 @@ for (m = data->map->next; m != data->map; m = m->next) { unsigned long start = m->base; - unsigned long end = m->base + m->num; + unsigned long end = m->base + m->num - 1; /* * If the lower resources are not available, try aligning @@ -569,7 +569,7 @@ if (res->start >= res->end) break; - if ((res->start + size) <= end) + if ((res->start + size - 1) <= end) break; } @@ -580,6 +580,32 @@ res->start = res->end; } +/* + * Adjust an existing IO region allocation, but making sure that we don't + * encroach outside the resources which the user supplied. + */ +int adjust_io_region(struct resource *res, unsigned long r_start, + unsigned long r_end, struct pcmcia_socket *s) +{ + resource_map_t *m; + int ret = -ENOMEM; + + down(&rsrc_sem); + for (m = io_db.next; m != &io_db; m = m->next) { + unsigned long start = m->base; + unsigned long end = m->base + m->num - 1; + + if (start > r_start || r_end > end) + continue; + + ret = adjust_resource(res, r_start, r_end - r_start + 1); + break; + } + up(&rsrc_sem); + + return ret; +} + /*====================================================================== These find ranges of I/O ports or memory addresses that are not @@ -593,40 +619,37 @@ ======================================================================*/ -int find_io_region(ioaddr_t *base, ioaddr_t num, unsigned long align, - char *name, struct pcmcia_socket *s) +struct resource *find_io_region(unsigned long base, int num, + unsigned long align, char *name, struct pcmcia_socket *s) { struct resource *res = make_resource(0, num, IORESOURCE_IO, name); struct pcmcia_align_data data; - unsigned long min = *base; + unsigned long min = base; int ret; if (align == 0) align = 0x10000; data.mask = align - 1; - data.offset = *base & data.mask; + data.offset = base & data.mask; data.map = &io_db; + down(&rsrc_sem); #ifdef CONFIG_PCI if (s->cb_dev) { ret = pci_bus_alloc_resource(s->cb_dev->bus, res, num, 1, min, 0, pcmcia_align, &data); } else #endif - { - down(&rsrc_sem); ret = allocate_resource(&ioport_resource, res, num, min, ~0UL, 0, pcmcia_align, &data); - up(&rsrc_sem); - } + up(&rsrc_sem); if (ret != 0) { kfree(res); - } else { - *base = res->start; + res = NULL; } - return ret; + return res; } int find_mem_region(u_long *base, u_long num, u_long align, @@ -652,6 +675,7 @@ min = 0x100000UL + *base; } + down(&rsrc_sem); #ifdef CONFIG_PCI if (s->cb_dev) { ret = pci_bus_alloc_resource(s->cb_dev->bus, res, num, @@ -659,12 +683,9 @@ pcmcia_align, &data); } else #endif - { - down(&rsrc_sem); ret = allocate_resource(&iomem_resource, res, num, min, max, 0, pcmcia_align, &data); - up(&rsrc_sem); - } + up(&rsrc_sem); if (ret == 0 || low) break; low = 1; diff -Nru a/drivers/pcmcia/sa1111_generic.c b/drivers/pcmcia/sa1111_generic.c --- a/drivers/pcmcia/sa1111_generic.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/pcmcia/sa1111_generic.c 2004-05-26 15:01:35 -07:00 @@ -149,7 +149,7 @@ pcmcia_jornada720_init(&dev->dev); #endif #ifdef CONFIG_ARCH_LUBBOCK - pcmcia_lubbock_init(&dev->dev); + pcmcia_lubbock_init(dev); #endif #ifdef CONFIG_ASSABET_NEPONSET pcmcia_neponset_init(dev); diff -Nru a/drivers/pcmcia/sa1111_generic.h b/drivers/pcmcia/sa1111_generic.h --- a/drivers/pcmcia/sa1111_generic.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/pcmcia/sa1111_generic.h 2004-05-26 15:01:36 -07:00 @@ -10,6 +10,6 @@ extern int pcmcia_badge4_init(struct device *); extern int pcmcia_jornada720_init(struct device *); -extern int pcmcia_lubbock_init(struct device *); +extern int pcmcia_lubbock_init(struct sa1111_dev *); extern int pcmcia_neponset_init(struct sa1111_dev *); diff -Nru a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig --- a/drivers/scsi/Kconfig 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/Kconfig 2004-05-26 15:01:36 -07:00 @@ -149,19 +149,8 @@ can say Y here to force the SCSI driver to probe for multiple LUNs. A SCSI device with multiple LUNs acts logically like multiple SCSI devices. The vast majority of SCSI devices have only one LUN, and - so most people can say N here and should in fact do so, because it - is safer. - -config SCSI_REPORT_LUNS - bool "Build with SCSI REPORT LUNS support" - depends on SCSI - default y - help - If you want support for SCSI REPORT LUNS, say Y here. - The REPORT LUNS command is useful for devices (such as disk arrays) - with large numbers of LUNs where the LUN values are not contiguous - (sparse LUN). REPORT LUNS scanning is done only for SCSI-3 devices. - Most users can safely answer N here. + so most people can say N here. The max_luns boot/module parameter + allows to override this setting. config SCSI_CONSTANTS bool "Verbose SCSI error reporting (kernel size +=12K)" @@ -363,7 +352,7 @@ # All the I2O code and drivers do not seem to be 64bit safe. config SCSI_DPT_I2O tristate "Adaptec I2O RAID support " - depends on !64BIT && SCSI && BROKEN + depends on !64BIT && SCSI help This driver supports all of Adaptec's I2O based RAID controllers as well as the DPT SmartRaid V cards. This is an Adaptec maintained diff -Nru a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c --- a/drivers/scsi/NCR53c406a.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/NCR53c406a.c 2004-05-26 15:01:36 -07:00 @@ -170,7 +170,6 @@ /* Static function prototypes */ static void NCR53c406a_intr(int, void *, struct pt_regs *); static irqreturn_t do_NCR53c406a_intr(int, void *, struct pt_regs *); -static void wait_intr(void); static void chip_init(void); static void calc_port_addr(void); #ifndef IRQ_LEV @@ -665,6 +664,7 @@ return (info_msg); } +#if 0 static void wait_intr(void) { unsigned long i = jiffies + WATCHDOG; @@ -684,6 +684,7 @@ NCR53c406a_intr(0, NULL, NULL); } +#endif static int NCR53c406a_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) { diff -Nru a/drivers/scsi/aacraid/README b/drivers/scsi/aacraid/README --- a/drivers/scsi/aacraid/README 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/aacraid/README 2004-05-26 15:01:35 -07:00 @@ -38,15 +38,19 @@ (fixed 64bit and 64G memory model, changed confusing naming convention where fibs that go to the hardware are consistently called hw_fibs and not just fibs like the name of the driver tracking structure) +Mark Salyzyn Fixed panic issues and added some new product ids for upcoming hbas. + Original Driver ------------------------- Adaptec Unix OEM Product Group Mailing List ------------------------- -None currently. Also note this is very different to Brian's original driver +linux-aacraid-devel@dell.com (Interested parties troll here) +http://mbserver.adaptec.com/ (Currently more Community Support than Devel Support) +Also note this is very different to Brian's original driver so don't expect him to support it. -Adaptec does support this driver. Contact either tech support or deanna bonds. +Adaptec does support this driver. Contact either tech support or Mark Salyzyn. Original by Brian Boerner February 2001 Rewritten by Alan Cox, November 2001 diff -Nru a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h --- a/drivers/scsi/aacraid/aacraid.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/aacraid/aacraid.h 2004-05-26 15:01:35 -07:00 @@ -1,18 +1,20 @@ -//#define dprintk(x) printk x -#define dprintk(x) +#if (!defined(dprintk)) +# define dprintk(x) +#endif /*------------------------------------------------------------------------------ * D E F I N E S *----------------------------------------------------------------------------*/ + #define MAXIMUM_NUM_CONTAINERS 31 #define MAXIMUM_NUM_ADAPTERS 8 -#define AAC_NUM_FIB 578 +#define AAC_NUM_FIB 578 //#define AAC_NUM_IO_FIB 512 -#define AAC_NUM_IO_FIB 100 +#define AAC_NUM_IO_FIB 100 -#define AAC_MAX_TARGET (MAXIMUM_NUM_CONTAINERS+1) -#define AAC_MAX_LUN (8) +#define AAC_MAX_TARGET (MAXIMUM_NUM_CONTAINERS+1) +#define AAC_MAX_LUN (8) #define AAC_MAX_HOSTPHYSMEMPAGES (0xfffff) @@ -241,92 +243,6 @@ }; /* - * Implement our own version of these so we have 64 bit compatability - * The adapter uses these and can only handle 32 bit addresses - */ - -struct aac_list_head { - u32 next; - u32 prev; -}; - -#define AAC_INIT_LIST_HEAD(ptr) do { \ - (ptr)->next = (u32)(ulong)(ptr); \ - (ptr)->prev = (u32)(ulong)(ptr); \ -} while (0) -/** - * aac_list_empty - tests whether a list is empty - * @head: the list to test. - */ -static __inline__ int aac_list_empty(struct aac_list_head *head) -{ - return head->next == ((u32)(ulong)head); -} - -/* - * Insert a new entry between two known consecutive entries. - * - * This is only for internal list manipulation where we know - * the prev/next entries already! - */ -static __inline__ void aac_list_add(struct aac_list_head * n, - struct aac_list_head * prev, - struct aac_list_head * next) -{ - next->prev = (u32)(ulong)n; - n->next = (u32)(ulong)next; - n->prev = (u32)(ulong)prev; - prev->next = (u32)(ulong)n; -} - -/** - * list_add_tail - add a new entry - * @new: new entry to be added - * @head: list head to add it before - * - * Insert a new entry before the specified head. - * This is useful for implementing queues. - */ -static __inline__ void aac_list_add_tail(struct aac_list_head *n, struct aac_list_head *head) -{ - aac_list_add(n, (struct aac_list_head*)(ulong)(head->prev), head); -} - -/* - * Delete a list entry by making the prev/next entries - * point to each other. - * - * This is only for internal list manipulation where we know - * the prev/next entries already! - */ -static __inline__ void __aac_list_del(struct aac_list_head * p, - struct aac_list_head * n) -{ - n->prev = (u32)(ulong)p; - p->next = (u32)(ulong)n; -} - -/** - * aac_list_del - deletes entry from list. - * @entry: the element to delete from the list. - * Note: list_empty on entry does not return true after this, the entry is in an undefined state. - */ -static __inline__ void aac_list_del(struct aac_list_head *entry) -{ - __aac_list_del((struct aac_list_head*)(ulong)entry->prev,(struct aac_list_head*)(ulong) entry->next); - entry->next = entry->prev = 0; -} - -/** - * aac_list_entry - get the struct for this entry - * @ptr: the &struct list_head pointer. - * @type: the type of the struct this is embedded in. - * @member: the name of the list_struct within the struct. - */ -#define aac_list_entry(ptr, type, member) \ - ((type *)((char *)(ptr)-(ulong)(&((type *)0)->member))) - -/* * Assign type values to the FSA communication data structures */ @@ -339,11 +255,11 @@ #define FsaNormal 1 #define FsaHigh 2 - /* * Define the FIB. The FIB is the where all the requested data and * command information are put to the application on the FSA adapter. */ + struct aac_fibhdr { u32 XferState; // Current transfer state for this CCB u16 Command; // Routing information for the destination @@ -359,13 +275,9 @@ u32 _ReceiverTimeStart; // Timestamp for receipt of fib u32 _ReceiverTimeDone; // Timestamp for completion of fib } _s; - struct aac_list_head _FibLinks; // Used to link Adapter Initiated Fibs on the host -// struct list_head _FibLinks; // Used to link Adapter Initiated Fibs on the host } _u; }; -#define FibLinks _u._FibLinks - #define FIB_DATA_SIZE_IN_BYTES (512 - sizeof(struct aac_fibhdr)) @@ -558,12 +470,11 @@ spinlock_t lockdata; /* Actual lock (used only on one side of the lock) */ unsigned long SavedIrql; /* Previous IRQL when the spin lock is taken */ u32 padding; /* Padding - FIXME - can remove I believe */ - struct aac_list_head cmdq; /* A queue of FIBs which need to be prcessed by the FS thread. This is */ -// struct list_head cmdq; /* A queue of FIBs which need to be prcessed by the FS thread. This is */ - /* only valid for command queues which receive entries from the adapter. */ - struct list_head pendingq; /* A queue of outstanding fib's to the adapter. */ - u32 numpending; /* Number of entries on outstanding queue. */ - struct aac_dev * dev; /* Back pointer to adapter structure */ + struct list_head cmdq; /* A queue of FIBs which need to be prcessed by the FS thread. This is */ + /* only valid for command queues which receive entries from the adapter. */ + struct list_head pendingq; /* A queue of outstanding fib's to the adapter. */ + u32 numpending; /* Number of entries on outstanding queue. */ + struct aac_dev * dev; /* Back pointer to adapter structure */ }; /* @@ -744,7 +655,7 @@ struct semaphore wait_sem; // this is used to wait for the next fib to arrive. int wait; // Set to true when thread is in WaitForSingleObject unsigned long count; // total number of FIBs on FibList - struct aac_list_head hw_fib_list; // this holds hw_fibs which should be 32 bit addresses + struct list_head fib_list; // this holds fibs and their attachd hw_fibs }; struct fsa_scsi_hba { @@ -781,7 +692,11 @@ * Outstanding I/O queue. */ struct list_head queue; - + /* + * And for the internal issue/reply queues (we may be able + * to merge these two) + */ + struct list_head fiblink; void *data; struct hw_fib *hw_fib; /* Actual shared object */ dma_addr_t hw_fib_pa; /* physical address of hw_fib*/ @@ -836,19 +751,19 @@ /* * Supported Options */ -#define AAC_OPT_SNAPSHOT cpu_to_le32(1) -#define AAC_OPT_CLUSTERS cpu_to_le32(1<<1) -#define AAC_OPT_WRITE_CACHE cpu_to_le32(1<<2) -#define AAC_OPT_64BIT_DATA cpu_to_le32(1<<3) -#define AAC_OPT_HOST_TIME_FIB cpu_to_le32(1<<4) -#define AAC_OPT_RAID50 cpu_to_le32(1<<5) -#define AAC_OPT_4GB_WINDOW cpu_to_le32(1<<6) -#define AAC_OPT_SCSI_UPGRADEABLE cpu_to_le32(1<<7) -#define AAC_OPT_SOFT_ERR_REPORT cpu_to_le32(1<<8) -#define AAC_OPT_SUPPORTED_RECONDITION cpu_to_le32(1<<9) -#define AAC_OPT_SGMAP_HOST64 cpu_to_le32(1<<10) -#define AAC_OPT_ALARM cpu_to_le32(1<<11) -#define AAC_OPT_NONDASD cpu_to_le32(1<<12) +#define AAC_OPT_SNAPSHOT cpu_to_le32(1) +#define AAC_OPT_CLUSTERS cpu_to_le32(1<<1) +#define AAC_OPT_WRITE_CACHE cpu_to_le32(1<<2) +#define AAC_OPT_64BIT_DATA cpu_to_le32(1<<3) +#define AAC_OPT_HOST_TIME_FIB cpu_to_le32(1<<4) +#define AAC_OPT_RAID50 cpu_to_le32(1<<5) +#define AAC_OPT_4GB_WINDOW cpu_to_le32(1<<6) +#define AAC_OPT_SCSI_UPGRADEABLE cpu_to_le32(1<<7) +#define AAC_OPT_SOFT_ERR_REPORT cpu_to_le32(1<<8) +#define AAC_OPT_SUPPORTED_RECONDITION cpu_to_le32(1<<9) +#define AAC_OPT_SGMAP_HOST64 cpu_to_le32(1<<10) +#define AAC_OPT_ALARM cpu_to_le32(1<<11) +#define AAC_OPT_NONDASD cpu_to_le32(1<<12) struct aac_dev { @@ -862,11 +777,10 @@ */ dma_addr_t hw_fib_pa; struct hw_fib *hw_fib_va; - ulong fib_base_va; + struct hw_fib *aif_base_va; /* * Fib Headers */ -// dmb struct fib fibs[AAC_NUM_FIB]; /* Doing it here takes up too much from the scsi pool*/ struct fib *fibs; struct fib *free_fib; @@ -887,7 +801,6 @@ unsigned long fsrev; /* Main driver's revision number */ struct aac_init *init; /* Holds initialization info to communicate with adapter */ -// void * init_pa; /* Holds physical address of the init struct */ dma_addr_t init_pa; /* Holds physical address of the init struct */ struct pci_dev *pdev; /* Our PCI interface */ @@ -898,7 +811,7 @@ struct Scsi_Host *scsi_host_ptr; struct fsa_scsi_hba fsa_dev; - int thread_pid; + pid_t thread_pid; int cardtype; /* diff -Nru a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c --- a/drivers/scsi/aacraid/commctrl.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/aacraid/commctrl.c 2004-05-26 15:01:35 -07:00 @@ -148,7 +148,7 @@ * the list to 0. */ fibctx->count = 0; - AAC_INIT_LIST_HEAD(&fibctx->hw_fib_list); + INIT_LIST_HEAD(&fibctx->fib_list); fibctx->jiffies = jiffies/HZ; /* * Now add this context onto the adapter's @@ -179,7 +179,7 @@ { struct fib_ioctl f; struct aac_fib_context *fibctx, *aifcp; - struct hw_fib * hw_fib; + struct fib *fib; int status; struct list_head * entry; int found; @@ -222,25 +222,27 @@ * -EAGAIN */ return_fib: - if (!aac_list_empty(&fibctx->hw_fib_list)) { - struct aac_list_head * entry; + if (!list_empty(&fibctx->fib_list)) { + struct list_head * entry; /* * Pull the next fib from the fibs */ - entry = (struct aac_list_head*)(ulong)fibctx->hw_fib_list.next; - aac_list_del(entry); + entry = fibctx->fib_list.next; + list_del(entry); - hw_fib = aac_list_entry(entry, struct hw_fib, header.FibLinks); + fib = list_entry(entry, struct fib, fiblink); fibctx->count--; spin_unlock_irqrestore(&dev->fib_lock, flags); - if (copy_to_user(f.fib, hw_fib, sizeof(struct hw_fib))) { - kfree(hw_fib); + if (copy_to_user(f.fib, fib->hw_fib, sizeof(struct hw_fib))) { + kfree(fib->hw_fib); + kfree(fib); return -EFAULT; } /* * Free the space occupied by this copy of the fib. */ - kfree(hw_fib); + kfree(fib->hw_fib); + kfree(fib); status = 0; fibctx->jiffies = jiffies/HZ; } else { @@ -262,24 +264,25 @@ int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context * fibctx) { - struct hw_fib *hw_fib; + struct fib *fib; /* * First free any FIBs that have not been consumed. */ - while (!aac_list_empty(&fibctx->hw_fib_list)) { - struct aac_list_head * entry; + while (!list_empty(&fibctx->fib_list)) { + struct list_head * entry; /* * Pull the next fib from the fibs */ - entry = (struct aac_list_head*)(ulong)(fibctx->hw_fib_list.next); - aac_list_del(entry); - hw_fib = aac_list_entry(entry, struct hw_fib, header.FibLinks); + entry = fibctx->fib_list.next; + list_del(entry); + fib = list_entry(entry, struct fib, fiblink); fibctx->count--; /* * Free the space occupied by this copy of the fib. */ - kfree(hw_fib); + kfree(fib->hw_fib); + kfree(fib); } /* * Remove the Context from the AdapterFibContext List diff -Nru a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c --- a/drivers/scsi/aacraid/comminit.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/aacraid/comminit.c 2004-05-26 15:01:35 -07:00 @@ -81,9 +81,9 @@ * Adapter Fibs are the first thing allocated so that they * start page aligned */ - dev->fib_base_va = (ulong)base; + dev->aif_base_va = (struct hw_fib *)base; - init->AdapterFibsVirtualAddress = cpu_to_le32((u32)(ulong)phys); + init->AdapterFibsVirtualAddress = cpu_to_le32(0); init->AdapterFibsPhysicalAddress = cpu_to_le32((u32)phys); init->AdapterFibsSize = cpu_to_le32(fibsize); init->AdapterFibAlign = cpu_to_le32(sizeof(struct hw_fib)); @@ -94,6 +94,9 @@ * mapping system, but older Firmware did, and had *troubles* dealing * with the math overloading past 32 bits, thus we must limit this * field. + * + * FIXME: this assumes the memory is mapped zero->n, which isnt + * always true on real computers. */ if ((num_physpages << (PAGE_SHIFT - 12)) <= AAC_MAX_HOSTPHYSMEMPAGES) { init->HostPhysMemPages = @@ -140,7 +143,7 @@ q->dev = dev; INIT_LIST_HEAD(&q->pendingq); init_waitqueue_head(&q->cmdready); - AAC_INIT_LIST_HEAD(&q->cmdq); + INIT_LIST_HEAD(&q->cmdq); init_waitqueue_head(&q->qfull); spin_lock_init(&q->lockdata); q->lock = &q->lockdata; diff -Nru a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c --- a/drivers/scsi/aacraid/commsup.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/aacraid/commsup.c 2004-05-26 15:01:36 -07:00 @@ -133,13 +133,10 @@ unsigned long flags; spin_lock_irqsave(&dev->fib_lock, flags); fibptr = dev->free_fib; - while(!fibptr){ - spin_unlock_irqrestore(&dev->fib_lock, flags); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(1); - spin_lock_irqsave(&dev->fib_lock, flags); - fibptr = dev->free_fib; - } + /* Cannot sleep here or you get hangs. Instead we did the + maths at compile time. */ + if(!fibptr) + BUG(); dev->free_fib = fibptr->next; spin_unlock_irqrestore(&dev->fib_lock, flags); /* @@ -290,7 +287,7 @@ } } -/*Command thread: * +/** * aac_queue_get - get the next free QE * @dev: Adapter * @index: Returned index @@ -450,8 +447,7 @@ * Map the fib into 32bits by using the fib number */ -// hw_fib->header.SenderFibAddress = ((u32)(fibptr-dev->fibs)) << 1; - hw_fib->header.SenderFibAddress = cpu_to_le32((u32)(ulong)fibptr->hw_fib_pa); + hw_fib->header.SenderFibAddress = cpu_to_le32(((u32)(fibptr-dev->fibs)) << 1); hw_fib->header.SenderData = (u32)(fibptr - dev->fibs); /* * Set FIB state to indicate where it came from and if we want a @@ -492,7 +488,7 @@ dprintk((KERN_DEBUG " Command = %d.\n", hw_fib->header.Command)); dprintk((KERN_DEBUG " XferState = %x.\n", hw_fib->header.XferState)); dprintk((KERN_DEBUG " hw_fib va being sent=%p\n",fibptr->hw_fib)); - dprintk((KERN_DEBUG " hw_fib pa being sent=%xl\n",(ulong)fibptr->hw_fib_pa)); + dprintk((KERN_DEBUG " hw_fib pa being sent=%lx\n",(ulong)fibptr->hw_fib_pa)); dprintk((KERN_DEBUG " fib being sent=%p\n",fibptr)); /* * Fill in the Callback and CallbackContext if we are not @@ -806,8 +802,8 @@ int aac_command_thread(struct aac_dev * dev) { - struct hw_fib *hw_fib, *newfib; - struct fib fibptr; /* for error logging */ + struct hw_fib *hw_fib, *hw_newfib; + struct fib *fib, *newfib; struct aac_queue_block *queues = dev->queues; struct aac_fib_context *fibctx; unsigned long flags; @@ -828,42 +824,44 @@ * Let the DPC know it has a place to send the AIF's to. */ dev->aif_thread = 1; - memset(&fibptr, 0, sizeof(struct fib)); add_wait_queue(&queues->queue[HostNormCmdQueue].cmdready, &wait); set_current_state(TASK_INTERRUPTIBLE); while(1) { spin_lock_irqsave(queues->queue[HostNormCmdQueue].lock, flags); - while(!aac_list_empty(&(queues->queue[HostNormCmdQueue].cmdq))) { - struct aac_list_head *entry; + while(!list_empty(&(queues->queue[HostNormCmdQueue].cmdq))) { + struct list_head *entry; struct aac_aifcmd * aifcmd; set_current_state(TASK_RUNNING); - entry = (struct aac_list_head*)(ulong)(queues->queue[HostNormCmdQueue].cmdq.next); - dprintk(("aacraid: Command thread: removing fib from cmdq (%p)\n",entry)); - aac_list_del(entry); + entry = queues->queue[HostNormCmdQueue].cmdq.next; + list_del(entry); spin_unlock_irqrestore(queues->queue[HostNormCmdQueue].lock, flags); - hw_fib = aac_list_entry(entry, struct hw_fib, header.FibLinks); + fib = list_entry(entry, struct fib, fiblink); /* * We will process the FIB here or pass it to a * worker thread that is TBD. We Really can't * do anything at this point since we don't have * anything defined for this thread to do. */ - memset(&fibptr, 0, sizeof(struct fib)); - fibptr.type = FSAFS_NTC_FIB_CONTEXT; - fibptr.size = sizeof( struct fib ); - fibptr.hw_fib = hw_fib; - fibptr.data = hw_fib->data; - fibptr.dev = dev; + hw_fib = fib->hw_fib; + memset(fib, 0, sizeof(struct fib)); + fib->type = FSAFS_NTC_FIB_CONTEXT; + fib->size = sizeof( struct fib ); + fib->hw_fib = hw_fib; + fib->data = hw_fib->data; + fib->dev = dev; /* * We only handle AifRequest fibs from the adapter. */ aifcmd = (struct aac_aifcmd *) hw_fib->data; - if (aifcmd->command == le16_to_cpu(AifCmdDriverNotify)) { - aac_handle_aif(dev, &fibptr); + if (aifcmd->command == cpu_to_le32(AifCmdDriverNotify)) { + /* Handle Driver Notify Events */ + aac_handle_aif(dev, fib); + *(u32 *)hw_fib->data = cpu_to_le32(ST_OK); + fib_adapter_complete(fib, sizeof(u32)); } else { struct list_head *entry; /* The u32 here is important and intended. We are using @@ -872,6 +870,10 @@ u32 time_now, time_last; unsigned long flagv; + /* Sniff events */ + if (aifcmd->command == cpu_to_le32(AifCmdEventNotify)) + aac_handle_aif(dev, fib); + time_now = jiffies/HZ; spin_lock_irqsave(&dev->fib_lock, flagv); @@ -893,6 +895,11 @@ */ if (fibctx->count > 20) { + /* + * It's *not* jiffies folks, + * but jiffies / HZ so do not + * panic ... + */ time_last = fibctx->jiffies; /* * Has it been > 2 minutes @@ -909,17 +916,20 @@ * Warning: no sleep allowed while * holding spinlock */ - newfib = kmalloc(sizeof(struct hw_fib), GFP_ATOMIC); - if (newfib) { + hw_newfib = kmalloc(sizeof(struct hw_fib), GFP_ATOMIC); + newfib = kmalloc(sizeof(struct fib), GFP_ATOMIC); + if (newfib && hw_newfib) { /* * Make the copy of the FIB */ - memcpy(newfib, hw_fib, sizeof(struct hw_fib)); + memcpy(hw_newfib, hw_fib, sizeof(struct hw_fib)); + memcpy(newfib, fib, sizeof(struct fib)); + newfib->hw_fib = hw_newfib; /* * Put the FIB onto the * fibctx's fibs */ - aac_list_add_tail(&newfib->header.FibLinks, &fibctx->hw_fib_list); + list_add_tail(&newfib->fiblink, &fibctx->fib_list); fibctx->count++; /* * Set the event to wake up the @@ -928,6 +938,10 @@ up(&fibctx->wait_sem); } else { printk(KERN_WARNING "aifd: didn't allocate NewFib.\n"); + if(newfib) + kfree(newfib); + if(hw_newfib) + kfree(hw_newfib); } entry = entry->next; } @@ -935,10 +949,11 @@ * Set the status of this FIB */ *(u32 *)hw_fib->data = cpu_to_le32(ST_OK); - fib_adapter_complete(&fibptr, sizeof(u32)); + fib_adapter_complete(fib, sizeof(u32)); spin_unlock_irqrestore(&dev->fib_lock, flagv); } spin_lock_irqsave(queues->queue[HostNormCmdQueue].lock, flags); + kfree(fib); } /* * There are no more AIF's diff -Nru a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c --- a/drivers/scsi/aacraid/dpcsup.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/aacraid/dpcsup.c 2004-05-26 15:01:36 -07:00 @@ -70,12 +70,12 @@ */ while(aac_consumer_get(dev, q, &entry)) { - u32 fast ; - fast = (entry->addr & cpu_to_le32(0x01)); - hwfib = (struct hw_fib *)((char *)dev->hw_fib_va + - ((entry->addr & ~0x01) - dev->hw_fib_pa)); - fib = &dev->fibs[hwfib->header.SenderData]; - + int fast; + u32 index = le32_to_cpu(entry->addr); + fast = index & 0x01; + fib = &dev->fibs[index >> 1]; + hwfib = fib->hw_fib; + aac_consumer_free(dev, q, HostNormRespQueue); /* * Remove this fib from the Outstanding I/O queue. @@ -169,29 +169,44 @@ */ while(aac_consumer_get(dev, q, &entry)) { + struct fib fibctx; struct hw_fib * hw_fib; - hw_fib = (struct hw_fib *)((char *)dev->hw_fib_va + - ((entry->addr & ~0x01) - dev->hw_fib_pa)); - - if (dev->aif_thread) { - aac_list_add_tail(&hw_fib->header.FibLinks, &q->cmdq); + u32 index; + struct fib *fib = &fibctx; + + index = le32_to_cpu(entry->addr) / sizeof(struct hw_fib); + hw_fib = &dev->aif_base_va[index]; + + /* + * Allocate a FIB at all costs. For non queued stuff + * we can just use the stack so we are happy. We need + * a fib object in order to manage the linked lists + */ + if (dev->aif_thread) + if((fib = kmalloc(sizeof(struct fib), GFP_ATOMIC)) == NULL) + fib = &fibctx; + + memset(fib, 0, sizeof(struct fib)); + INIT_LIST_HEAD(&fib->fiblink); + fib->type = FSAFS_NTC_FIB_CONTEXT; + fib->size = sizeof(struct fib); + fib->hw_fib = hw_fib; + fib->data = hw_fib->data; + fib->dev = dev; + + + if (dev->aif_thread && fib != &fibctx) { + list_add_tail(&fib->fiblink, &q->cmdq); aac_consumer_free(dev, q, HostNormCmdQueue); wake_up_interruptible(&q->cmdready); } else { - struct fib fibctx; aac_consumer_free(dev, q, HostNormCmdQueue); spin_unlock_irqrestore(q->lock, flags); - memset(&fibctx, 0, sizeof(struct fib)); - fibctx.type = FSAFS_NTC_FIB_CONTEXT; - fibctx.size = sizeof(struct fib); - fibctx.hw_fib = hw_fib; - fibctx.data = hw_fib->data; - fibctx.dev = dev; /* * Set the status of this FIB */ *(u32 *)hw_fib->data = cpu_to_le32(ST_OK); - fib_adapter_complete(&fibctx, sizeof(u32)); + fib_adapter_complete(fib, sizeof(u32)); spin_lock_irqsave(q->lock, flags); } } diff -Nru a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c --- a/drivers/scsi/aacraid/sa.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/aacraid/sa.c 2004-05-26 15:01:36 -07:00 @@ -419,6 +419,11 @@ * Start any kernel threads needed */ dev->thread_pid = kernel_thread((int (*)(void *))aac_command_thread, dev, 0); + if (dev->thread_pid < 0) { + printk(KERN_ERR "aacraid: Unable to create command thread.\n"); + return -1; + } + /* * Tell the adapter that all is configure, and it can start * accepting requests diff -Nru a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c --- a/drivers/scsi/atp870u.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/atp870u.c 2004-05-26 15:01:35 -07:00 @@ -4,6 +4,7 @@ * Copyright (C) 1997 Wu Ching Chen * 2.1.x update (C) 1998 Krzysztof G. Baranowski * 2.5.x update (C) 2002 Red Hat + * 2.6.x update (C) 2004 Red Hat * * Marcelo Tosatti : SMP fixes * @@ -126,9 +127,11 @@ /* * Issue more commands */ + spin_lock_irqsave(dev->host->host_lock, flags); if (((dev->quhdu != dev->quendu) || (dev->last_cmd != 0xff)) && (dev->in_snd == 0)) { send_s870(host); } + spin_unlock_irqrestore(dev->host->host_lock, flags); /* * Done */ @@ -371,9 +374,11 @@ /* * If there is stuff to send and nothing going then send it */ + spin_lock_irqsave(dev->host->host_lock, flags); if (((dev->last_cmd != 0xff) || (dev->quhdu != dev->quendu)) && (dev->in_snd == 0)) { send_s870(host); } + spin_unlock_irqrestore(dev->host->host_lock, flags); dev->in_int = 0; goto out; } @@ -443,9 +448,16 @@ return IRQ_HANDLED; } +/** + * atp870u_queuecommand - Queue SCSI command + * @req_p: request block + * @done: completion function + * + * Queue a command to the ATP queue. Called with the host lock held. + */ + static int atp870u_queuecommand(Scsi_Cmnd * req_p, void (*done) (Scsi_Cmnd *)) { - unsigned long flags; unsigned short int m; unsigned int tmport; struct Scsi_Host *host; @@ -484,7 +496,6 @@ * Count new command */ - spin_lock_irqsave(host->host_lock, flags); dev->quendu++; if (dev->quendu >= qcnt) { dev->quendu = 0; @@ -498,24 +509,31 @@ } dev->quendu--; req_p->result = 0x00020000; - spin_unlock_irqrestore(host->host_lock, flags); done(req_p); return 0; } dev->querequ[dev->quendu] = req_p; tmport = dev->ioport + 0x1c; - spin_unlock_irqrestore(host->host_lock, flags); if ((inb(tmport) == 0) && (dev->in_int == 0) && (dev->in_snd == 0)) { send_s870(host); } return 0; } +/** + * send_s870 - send a command to the controller + * @host: host + * + * On entry there is work queued to be done. We move some of that work to the + * controller itself. + * + * Caller holds the host lock. + */ + static void send_s870(struct Scsi_Host *host) { unsigned int tmport; Scsi_Cmnd *workrequ; - unsigned long flags; unsigned int i; unsigned char j, target_id; unsigned char *prd; @@ -527,10 +545,7 @@ struct atp_unit *dev = (struct atp_unit *)&host->hostdata; int sg_count; - spin_lock_irqsave(host->host_lock, flags); - if (dev->in_snd != 0) { - spin_unlock_irqrestore(host->host_lock, flags); return; } dev->in_snd = 1; @@ -543,13 +558,11 @@ dev->last_cmd = 0xff; if (dev->quhdu == dev->quendu) { dev->in_snd = 0; - spin_unlock_irqrestore(dev->host->host_lock, flags); return; } } if ((dev->last_cmd != 0xff) && (dev->working != 0)) { dev->in_snd = 0; - spin_unlock_irqrestore(dev->host->host_lock, flags); return; } dev->working++; @@ -567,7 +580,6 @@ dev->quhdu = j; dev->working--; dev->in_snd = 0; - spin_unlock_irqrestore(host->host_lock, flags); return; cmd_subp: workportu = dev->ioport; @@ -582,7 +594,6 @@ abortsnd: dev->last_cmd |= 0x40; dev->in_snd = 0; - spin_unlock_irqrestore(dev->host->host_lock, flags); return; oktosend: memcpy(&dev->ata_cdbu[0], &workrequ->cmnd[0], workrequ->cmd_len); @@ -684,7 +695,6 @@ dev->last_cmd |= 0x40; } dev->in_snd = 0; - spin_unlock_irqrestore(host->host_lock, flags); return; } tmpcip = dev->pciport; @@ -770,7 +780,6 @@ dev->last_cmd |= 0x40; } dev->in_snd = 0; - spin_unlock_irqrestore(host->host_lock, flags); return; } if (inb(tmport) == 0) { @@ -781,9 +790,6 @@ dev->last_cmd |= 0x40; } dev->in_snd = 0; - spin_unlock_irqrestore(host->host_lock, flags); - return; - } static unsigned char fun_scam(struct atp_unit *dev, unsigned short int *val) diff -Nru a/drivers/scsi/dc390.h b/drivers/scsi/dc390.h --- a/drivers/scsi/dc390.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/dc390.h 2004-05-26 15:01:35 -07:00 @@ -19,7 +19,7 @@ #endif #define DC390_BANNER "Tekram DC390/AM53C974" -#define DC390_VERSION "2.0f 2000-12-20" +#define DC390_VERSION "2.1b 2004-04-13" /* We don't have eh_abort_handler, eh_device_reset_handler, * eh_bus_reset_handler, eh_host_reset_handler yet! @@ -33,11 +33,11 @@ # define USE_NEW_EH #endif -extern int DC390_detect(Scsi_Host_Template *psht); -extern int DC390_queue_command(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *)); -extern int DC390_abort(Scsi_Cmnd *cmd); -extern int DC390_reset(Scsi_Cmnd *cmd); -extern int DC390_bios_param(struct scsi_device *sdev, struct block_device *dev, +static int DC390_detect(Scsi_Host_Template *psht); +static int DC390_queue_command(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *)); +static int DC390_abort(Scsi_Cmnd *cmd); +static int DC390_reset(Scsi_Cmnd *cmd); +static int DC390_bios_param(struct scsi_device *sdev, struct block_device *dev, sector_t capacity, int geom[]); static int DC390_release(struct Scsi_Host *); diff -Nru a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c --- a/drivers/scsi/dpt_i2o.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/dpt_i2o.c 2004-05-26 15:01:36 -07:00 @@ -20,17 +20,21 @@ * (at your option) any later version. * * * ***************************************************************************/ +/*************************************************************************** + * Sat Dec 20 2003 Go Taniguchi + - Support 2.6 kernel and DMA-mapping + - ioctl fix for raid tools + - use schedule_timeout in long long loop + **************************************************************************/ -//#define DEBUG 1 -//#define UARTDELAY 1 +/*#define DEBUG 1 */ +/*#define UARTDELAY 1 */ -// On the real kernel ADDR32 should always be zero for 2.4. GFP_HIGH allocates -// high pages. Keep the macro around because of the broken unmerged ia64 tree +/* On the real kernel ADDR32 should always be zero for 2.4. GFP_HIGH allocates + high pages. Keep the macro around because of the broken unmerged ia64 tree */ #define ADDR32 (0) -#error Please convert me to Documentation/DMA-mapping.txt - #include #include @@ -53,6 +57,7 @@ #include /* for printk */ #include #include +#include #include #include @@ -85,7 +90,7 @@ #elif defined(__alpha__) PROC_ALPHA , #else - (-1),(-1) + (-1),(-1), #endif FT_HBADRVR, 0, OEM_DPT, OS_LINUX, CAP_OVERLAP, DEV_ALL, ADF_ALL_SC5, 0, 0, DPT_VERSION, DPT_REVISION, DPT_SUBREVISION, @@ -226,7 +231,7 @@ /* Active IOPs now in OPERATIONAL state */ PDEBUG("HBA's in OPERATIONAL state\n"); - printk(KERN_INFO"dpti: If you have a lot of devices this could take a few minutes.\n"); + printk("dpti: If you have a lot of devices this could take a few minutes.\n"); for (pHba = hba_chain; pHba; pHba = pHba->next) { printk(KERN_INFO"%s: Reading the hardware resource table.\n", pHba->name); if (adpt_i2o_lct_get(pHba) < 0){ @@ -269,6 +274,7 @@ adpt_hba* pHba = (adpt_hba*) host->hostdata[0]; // adpt_i2o_quiesce_hba(pHba); adpt_i2o_delete_hba(pHba); + scsi_unregister(host); return 0; } @@ -339,6 +345,8 @@ if (rcode != 0) { sprintf(pHba->detail, "Adaptec I2O RAID"); printk(KERN_INFO "%s: Inquiry Error (%d)\n",pHba->name,rcode); + if (rcode != -ETIME && rcode != -EINTR) + kfree(buf); } else { memset(pHba->detail, 0, sizeof(pHba->detail)); memcpy(&(pHba->detail), "Vendor: Adaptec ", 16); @@ -347,8 +355,8 @@ memcpy(&(pHba->detail[40]), " FW: ", 4); memcpy(&(pHba->detail[44]), (u8*) &buf[32], 4); pHba->detail[48] = '\0'; /* precautionary */ + kfree(buf); } - kfree(buf); adpt_i2o_status_get(pHba); return ; } @@ -478,7 +486,7 @@ heads = 255; sectors = 63; } - cylinders = capacity / (heads * sectors); + cylinders = sector_div(capacity, heads * sectors); // Special case if CDROM if(sdev->type == 5) { // CDROM @@ -871,6 +879,9 @@ return -EINVAL; } pci_set_master(pDev); + if (pci_set_dma_mask(pDev, 0xffffffffffffffffULL) && + pci_set_dma_mask(pDev, 0xffffffffULL)) + return -EINVAL; base_addr0_phys = pci_resource_start(pDev,0); hba_map0_area_size = pci_resource_len(pDev,0); @@ -963,6 +974,7 @@ // Initializing the spinlocks spin_lock_init(&pHba->state_lock); + spin_lock_init(&adpt_post_wait_lock); if(raptorFlag == 0){ printk(KERN_INFO"Adaptec I2O RAID controller %d at %lx size=%x irq=%d\n", @@ -1064,7 +1076,7 @@ { int i; - printk(KERN_INFO"Loading Adaptec I2O RAID: Version " DPT_I2O_VERSION "\n"); + printk("Loading Adaptec I2O RAID: Version " DPT_I2O_VERSION "\n"); for (i = 0; i < DPTI_MAX_HBA; i++) { hbas[i] = NULL; } @@ -1152,12 +1164,22 @@ timeout *= HZ; if((status = adpt_i2o_post_this(pHba, msg, len)) == 0){ set_current_state(TASK_INTERRUPTIBLE); - spin_unlock_irq(pHba->host->host_lock); + if(pHba->host) + spin_unlock_irq(pHba->host->host_lock); if (!timeout) schedule(); - else + else{ + timeout = schedule_timeout(timeout); + if (timeout == 0) { + // I/O issued, but cannot get result in + // specified time. Freeing resorces is + // dangerous. + status = -ETIME; + } schedule_timeout(timeout*HZ); - spin_lock_irq(pHba->host->host_lock); + } + if(pHba->host) + spin_lock_irq(pHba->host->host_lock); } spin_lock_irq(&adpt_wq_i2o_post.lock); __remove_wait_queue(&adpt_wq_i2o_post, &wait); @@ -1209,6 +1231,8 @@ printk(KERN_WARNING"dpti%d: Timeout waiting for message frame!\n", pHba->unit); return -ETIMEDOUT; } + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } while(m == EMPTY_QUEUE); msg = (u32*) (pHba->msg_addr_virt + m); @@ -1283,6 +1307,8 @@ printk(KERN_WARNING"Timeout waiting for message!\n"); return -ETIMEDOUT; } + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } while (m == EMPTY_QUEUE); status = (u8*)kmalloc(4, GFP_KERNEL|ADDR32); @@ -1314,6 +1340,8 @@ return -ETIMEDOUT; } rmb(); + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } if(*status == 0x01 /*I2O_EXEC_IOP_RESET_IN_PROGRESS*/) { @@ -1330,6 +1358,8 @@ printk(KERN_ERR "%s:Timeout waiting for IOP Reset.\n",pHba->name); return -ETIMEDOUT; } + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } while (m == EMPTY_QUEUE); // Flush the offset adpt_send_nop(pHba, m); @@ -1695,15 +1725,20 @@ } do { - spin_lock_irqsave(pHba->host->host_lock, flags); + if(pHba->host) + spin_lock_irqsave(pHba->host->host_lock, flags); // This state stops any new commands from enterring the // controller while processing the ioctl // pHba->state |= DPTI_STATE_IOCTL; // We can't set this now - The scsi subsystem sets host_blocked and // the queue empties and stops. We need a way to restart the queue rcode = adpt_i2o_post_wait(pHba, msg, size, FOREVER); + if (rcode != 0) + printk("adpt_i2o_passthru: post wait failed %d %p\n", + rcode, reply); // pHba->state &= ~DPTI_STATE_IOCTL; - spin_unlock_irqrestore(pHba->host->host_lock, flags); + if(pHba->host) + spin_unlock_irqrestore(pHba->host->host_lock, flags); } while(rcode == -ETIMEDOUT); if(rcode){ @@ -1764,10 +1799,12 @@ cleanup: - kfree (reply); + if (rcode != -ETIME && rcode != -EINTR) + kfree (reply); while(sg_index) { if(sg_list[--sg_index]) { - kfree((void*)(sg_list[sg_index])); + if (rcode != -ETIME && rcode != -EINTR) + kfree((void*)(sg_list[sg_index])); } } return rcode; @@ -1875,7 +1912,7 @@ int minor; int error = 0; adpt_hba* pHba; - ulong flags; + ulong flags = 0; minor = iminor(inode); if (minor >= DPTI_MAX_HBA){ @@ -1941,9 +1978,11 @@ break; } case I2ORESETCMD: - spin_lock_irqsave(pHba->host->host_lock, flags); + if(pHba->host) + spin_lock_irqsave(pHba->host->host_lock, flags); adpt_hba_reset(pHba); - spin_unlock_irqrestore(pHba->host->host_lock, flags); + if(pHba->host) + spin_unlock_irqrestore(pHba->host->host_lock, flags); break; case I2ORESCANCMD: adpt_rescan(pHba); @@ -1956,7 +1995,7 @@ } -static void adpt_isr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t adpt_isr(int irq, void *dev_id, struct pt_regs *regs) { Scsi_Cmnd* cmd; adpt_hba* pHba = dev_id; @@ -1965,12 +2004,15 @@ u32 status=0; u32 context; ulong flags = 0; + int handled = 0; - if (pHba == NULL ){ + if (pHba == NULL){ printk(KERN_WARNING"adpt_isr: NULL dev_id\n"); - return; + return IRQ_NONE; } - spin_lock_irqsave(pHba->host->host_lock, flags); + if(pHba->host) + spin_lock_irqsave(pHba->host->host_lock, flags); + while( readl(pHba->irq_mask) & I2O_INTERRUPT_PENDING_B) { m = readl(pHba->reply_port); if(m == EMPTY_QUEUE){ @@ -2035,7 +2077,10 @@ wmb(); rmb(); } -out: spin_unlock_irqrestore(pHba->host->host_lock, flags); + handled = 1; +out: if(pHba->host) + spin_unlock_irqrestore(pHba->host->host_lock, flags); + return IRQ_RETVAL(handled); } static s32 adpt_scsi_to_i2o(adpt_hba* pHba, Scsi_Cmnd* cmd, struct adpt_device* d) @@ -2110,15 +2155,19 @@ /* Now fill in the SGList and command */ if(cmd->use_sg) { struct scatterlist *sg = (struct scatterlist *)cmd->request_buffer; + int sg_count = pci_map_sg(pHba->pDev, sg, cmd->use_sg, + scsi_to_pci_dma_dir(cmd->sc_data_direction)); + + len = 0; - for(i = 0 ; i < cmd->use_sg; i++) { - *mptr++ = direction|0x10000000|sg->length; - len+=sg->length; - *mptr++ = virt_to_bus(sg->address); + for(i = 0 ; i < sg_count; i++) { + *mptr++ = direction|0x10000000|sg_dma_len(sg); + len+=sg_dma_len(sg); + *mptr++ = sg_dma_address(sg); sg++; } /* Make this an end of list */ - mptr[-2] = direction|0xD0000000|(sg-1)->length; + mptr[-2] = direction|0xD0000000|sg_dma_len(sg-1); reqlen = mptr - msg; *lenptr = len; @@ -2132,7 +2181,10 @@ reqlen = 12; } else { *mptr++ = 0xD0000000|direction|cmd->request_bufflen; - *mptr++ = virt_to_bus(cmd->request_buffer); + *mptr++ = pci_map_single(pHba->pDev, + cmd->request_buffer, + cmd->request_bufflen, + scsi_to_pci_dma_dir(cmd->sc_data_direction)); } } @@ -2305,15 +2357,17 @@ static s32 adpt_rescan(adpt_hba* pHba) { s32 rcode; - ulong flags; + ulong flags = 0; - spin_lock_irqsave(pHba->host->host_lock, flags); + if(pHba->host) + spin_lock_irqsave(pHba->host->host_lock, flags); if ((rcode=adpt_i2o_lct_get(pHba)) < 0) goto out; if ((rcode=adpt_i2o_reparse_lct(pHba)) < 0) goto out; rcode = 0; -out: spin_unlock_irqrestore(pHba->host->host_lock, flags); +out: if(pHba->host) + spin_unlock_irqrestore(pHba->host->host_lock, flags); return rcode; } @@ -2595,6 +2649,8 @@ printk(KERN_ERR "%s: Timeout waiting for message frame!\n",pHba->name); return 2; } + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } msg = (u32*)(pHba->msg_addr_virt + m); writel( THREE_WORD_MSG_SIZE | SGL_OFFSET_0,&msg[0]); @@ -2628,6 +2684,8 @@ printk(KERN_WARNING"%s: Timeout waiting for message frame\n",pHba->name); return -ETIMEDOUT; } + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } while(m == EMPTY_QUEUE); msg=(u32 *)(pHba->msg_addr_virt+m); @@ -2663,9 +2721,10 @@ rmb(); if(time_after(jiffies,timeout)){ printk(KERN_WARNING"%s: Timeout Initializing\n",pHba->name); - kfree((void*)status); return -ETIMEDOUT; } + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } while (1); // If the command was successful, fill the fifo with our reply @@ -2743,6 +2802,8 @@ pHba->name); return -ETIMEDOUT; } + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } while(m==EMPTY_QUEUE); @@ -2769,6 +2830,8 @@ return -ETIMEDOUT; } rmb(); + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); } // Set up our number of outbound and inbound messages @@ -3094,17 +3157,33 @@ int group, int field, void *buf, int buflen) { u16 opblk[] = { 1, 0, I2O_PARAMS_FIELD_GET, group, 1, field }; - u8 resblk[8+buflen]; /* 8 bytes for header */ + u8 *resblk; + int size; + /* 8 bytes for header */ + resblk = kmalloc(sizeof(u8) * (8+buflen), GFP_KERNEL|ADDR32); + if (resblk == NULL) { + printk(KERN_CRIT "%s: query scalar failed; Out of memory.\n", pHba->name); + return -ENOMEM; + } + if (field == -1) /* whole group */ opblk[4] = -1; size = adpt_i2o_issue_params(I2O_CMD_UTIL_PARAMS_GET, pHba, tid, - opblk, sizeof(opblk), resblk, sizeof(resblk)); + opblk, sizeof(opblk), resblk, sizeof(u8)*(8+buflen)); + if (size == -ETIME) { + printk(KERN_WARNING "%s: issue params failed; Timed out.\n", pHba->name); + return -ETIME; + } else if (size == -EINTR) { + printk(KERN_WARNING "%s: issue params failed; Interrupted.\n", pHba->name); + return -EINTR; + } memcpy(buf, resblk+8, buflen); /* cut off header */ + kfree(resblk); if (size < 0) return size; @@ -3138,6 +3217,7 @@ msg[8] = virt_to_bus(resblk); if ((wait_status = adpt_i2o_post_wait(pHba, msg, sizeof(msg), 20))) { + printk("adpt_i2o_issue_params: post_wait failed (%p)\n", resblk); return wait_status; /* -DetailedStatus */ } diff -Nru a/drivers/scsi/dpti.h b/drivers/scsi/dpti.h --- a/drivers/scsi/dpti.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/dpti.h 2004-05-26 15:01:35 -07:00 @@ -65,7 +65,7 @@ #include "dpt/dpti_i2o.h" #include "dpt/dpti_ioctl.h" -#define DPT_I2O_VERSION "2.4 Build 5" +#define DPT_I2O_VERSION "2.4 Build 5go" #define DPT_VERSION 2 #define DPT_REVISION '4' #define DPT_SUBREVISION '5' @@ -272,7 +272,7 @@ static void adpt_i2o_sys_shutdown(void); static int adpt_init(void); static int adpt_i2o_build_sys_table(void); -static void adpt_isr(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t adpt_isr(int irq, void *dev_id, struct pt_regs *regs); #ifdef REBOOT_NOTIFIER static int adpt_reboot_event(struct notifier_block *n, ulong code, void *p); #endif diff -Nru a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c --- a/drivers/scsi/gdth.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/gdth.c 2004-05-26 15:01:36 -07:00 @@ -4,9 +4,9 @@ * Intel Corporation: Storage RAID Controllers * * * * gdth.c * - * Copyright (C) 1995-03 ICP vortex GmbH, Achim Leubner * - * Copyright (C) 2002-03 Intel Corporation * - * Copyright (C) 2003 Adaptec Inc. * + * Copyright (C) 1995-04 ICP vortex GmbH, Achim Leubner * + * Copyright (C) 2002-04 Intel Corporation * + * Copyright (C) 2003-04 Adaptec Inc. * * * * * * Additions/Fixes: * @@ -27,9 +27,42 @@ * along with this kernel; if not, write to the Free Software * * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * - * Tested with Linux 1.2.13, ..., 2.2.20, ..., 2.4.22 * + * Linux kernel 2.2.x, 2.4.x, 2.6.x supported * * * * $Log: gdth.c,v $ + * Revision 1.73 2004/03/31 13:33:03 achim + * Special command 0xfd implemented to detect 64-bit DMA support + * + * Revision 1.72 2004/03/17 08:56:04 achim + * 64-bit DMA only enabled if FW >= x.43 + * + * Revision 1.71 2004/03/05 15:51:29 achim + * Screen service: separate message buffer, bugfixes + * + * Revision 1.70 2004/02/27 12:19:07 achim + * Bugfix: Reset bit in config (0xfe) call removed + * + * Revision 1.69 2004/02/20 09:50:24 achim + * Compatibility changes for kernels < 2.4.20 + * Bugfix screen service command size + * pci_set_dma_mask() error handling added + * + * Revision 1.68 2004/02/19 15:46:54 achim + * 64-bit DMA bugfixes + * Drive size bugfix for drives > 1TB + * + * Revision 1.67 2004/01/14 13:11:57 achim + * Tool access over /proc no longer supported + * Bugfixes IOCTLs + * + * Revision 1.66 2003/12/19 15:04:06 achim + * Bugfixes support for drives > 2TB + * + * Revision 1.65 2003/12/15 11:21:56 achim + * 64-bit DMA support added + * Support for drives > 2 TB implemented + * Kernels 2.2.x, 2.4.x, 2.6.x supported + * * Revision 1.64 2003/09/17 08:30:26 achim * EISA/ISA controller scan disabled * Command line switch probe_eisa_isa added @@ -299,10 +332,12 @@ * shared_access:N enable driver reserve/release protocol * probe_eisa_isa:Y scan for EISA/ISA controllers * probe_eisa_isa:N do not scan for EISA/ISA controllers + * force_dma32:Y use only 32 bit DMA mode + * force_dma32:N use 64 bit DMA mode, if supported * * The default values are: "gdth=disable:N,reserve_mode:1,reverse_scan:N, * max_ids:127,rescan:N,virt_ctr:N,hdr_channel:0, - * shared_access:Y,probe_eisa_isa:N". + * shared_access:Y,probe_eisa_isa:N,force_dma32:N". * Here is another example: "gdth=reserve_list:0,1,2,0,0,1,3,0,rescan:Y". * * When loading the gdth driver as a module, the same options are available. @@ -313,7 +348,7 @@ * * Default: "modprobe gdth disable=0 reserve_mode=1 reverse_scan=0 * max_ids=127 rescan=0 virt_ctr=0 hdr_channel=0 shared_access=0 - * probe_eisa_isa=0" + * probe_eisa_isa=0 force_dma32=0" * The other example: "modprobe gdth reserve_list=0,1,2,0,0,1,3,0 rescan=1". */ @@ -330,9 +365,12 @@ * phase: Service/parameter/return code special command */ -/* default: activate /proc and character device IOCTL interface */ -#define GDTH_IOCTL_PROC -#define GDTH_IOCTL_CHRDEV + +/* interrupt coalescing */ +/* #define INT_COAL */ + +/* statistics */ +#define GDTH_STATISTICS #include @@ -353,35 +391,35 @@ #ifdef GDTH_RTC #include #endif -#if LINUX_VERSION_CODE >= 0x020100 #include -#else -#include -#endif #include #include #include #include -#if LINUX_VERSION_CODE >= 0x020322 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) #include -#elif LINUX_VERSION_CODE >= 0x02015F +#else #include #endif - +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) #include - -#include "scsi.h" -#include "hosts.h" -#if LINUX_VERSION_CODE < 0x020503 +#else +#include #include "sd.h" #endif +#include "scsi.h" +#include "hosts.h" #include "gdth.h" static void gdth_delay(int milliseconds); -static void gdth_eval_mapping(ulong32 size, int *cyls, int *heads, int *secs); +static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) static irqreturn_t gdth_interrupt(int irq, void *dev_id, struct pt_regs *regs); +#else +static void gdth_interrupt(int irq, void *dev_id, struct pt_regs *regs); +#endif static int gdth_sync_event(int hanum,int service,unchar index,Scsi_Cmnd *scp); static int gdth_async_event(int hanum); static void gdth_log_event(gdth_evt_data *dvr, char *buffer); @@ -419,31 +457,19 @@ static void gdth_release_event(int hanum); static int gdth_wait(int hanum,int index,ulong32 time); static int gdth_internal_cmd(int hanum,unchar service,ushort opcode,ulong32 p1, - ulong32 p2,ulong32 p3); + ulong64 p2,ulong64 p3); static int gdth_search_drives(int hanum); static int gdth_analyse_hdrive(int hanum, ushort hdrive); -static void *gdth_mmap(ulong paddr, ulong size); -static void gdth_munmap(void *addr); - static const char *gdth_ctr_name(int hanum); -#ifdef GDTH_IOCTL_CHRDEV static int gdth_open(struct inode *inode, struct file *filep); static int gdth_close(struct inode *inode, struct file *filep); static int gdth_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, unsigned long arg); -#endif -#if LINUX_VERSION_CODE >= 0x010300 static void gdth_flush(int hanum); -#if LINUX_VERSION_CODE >= 0x020100 static int gdth_halt(struct notifier_block *nb, ulong event, void *buf); -#else -static int halt_called = FALSE; -void gdth_halt(void); -#endif -#endif #ifdef DEBUG_GDTH static unchar DebugState = DEBUG_GDTH; @@ -528,6 +554,9 @@ #ifdef GDTH_STATISTICS static ulong32 max_rq=0, max_index=0, max_sg=0; +#ifdef INT_COAL +static ulong32 max_int_coal=0; +#endif static ulong32 act_ints=0, act_ios=0, act_stats=0, act_rq=0; static struct timer_list gdth_timer; #endif @@ -542,80 +571,12 @@ #define BUS_L2P(a,b) ((b)>(a)->virt_bus ? (b-1):(b)) -#if LINUX_VERSION_CODE < 0x010300 -static void *gdth_mmap(ulong paddr, ulong size) -{ - if (paddr >= high_memory) - return NULL; - else - return (void *)paddr; -} -static void gdth_munmap(void *addr) -{ -} -inline ulong32 virt_to_phys(volatile void *addr) -{ - return (ulong32)addr; -} -inline void *phys_to_virt(ulong32 addr) -{ - return (void *)addr; -} -#define virt_to_bus virt_to_phys -#define bus_to_virt phys_to_virt -#define gdth_readb(addr) (*(volatile unchar *)(addr)) -#define gdth_readw(addr) (*(volatile ushort *)(addr)) -#define gdth_readl(addr) (*(volatile ulong32 *)(addr)) -#define gdth_writeb(b,addr) (*(volatile unchar *)(addr) = (b)) -#define gdth_writew(b,addr) (*(volatile ushort *)(addr) = (b)) -#define gdth_writel(b,addr) (*(volatile ulong32 *)(addr) = (b)) -#define memset_io(a,b,c) memset((void *)(a),(b),(c)) -#define memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c)) -#define memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c)) - -#define PCI_SLOT(devfn) ((devfn >> 3) & 0x1f) - -#elif LINUX_VERSION_CODE < 0x020100 -static int remapped = FALSE; -static void *gdth_mmap(ulong paddr, ulong size) -{ - if ( paddr >= high_memory) { - remapped = TRUE; - return vremap(paddr, size); - } else { - return (void *)paddr; - } -} -static void gdth_munmap(void *addr) -{ - if (remapped) - vfree(addr); - remapped = FALSE; -} -#define gdth_readb(addr) readb((ulong)(addr)) -#define gdth_readw(addr) readw((ulong)(addr)) -#define gdth_readl(addr) (ulong32)readl((ulong)(addr)) -#define gdth_writeb(b,addr) writeb((b),(ulong)(addr)) -#define gdth_writew(b,addr) writew((b),(ulong)(addr)) -#define gdth_writel(b,addr) writel((ulong32)(b),(ulong)(addr)) - -#else -static void *gdth_mmap(ulong paddr, ulong size) -{ - return ioremap(paddr, size); -} -static void gdth_munmap(void *addr) -{ - return iounmap(addr); -} #define gdth_readb(addr) readb((ulong)(addr)) #define gdth_readw(addr) readw((ulong)(addr)) #define gdth_readl(addr) (ulong32)readl((ulong)(addr)) #define gdth_writeb(b,addr) writeb((b),(ulong)(addr)) #define gdth_writew(b,addr) writew((b),(ulong)(addr)) #define gdth_writel(b,addr) writel((ulong32)(b),(ulong)(addr)) -#endif - static unchar gdth_drq_tab[4] = {5,6,7,7}; /* DRQ table */ static unchar gdth_irq_tab[6] = {0,10,11,12,14,0}; /* IRQ table */ @@ -631,9 +592,7 @@ static gdth_evt_str ebuffer[MAX_EVENTS]; /* event buffer */ static int elastidx; static int eoldidx; -#ifdef GDTH_IOCTL_CHRDEV static int major; -#endif #define DIN 1 /* IN data direction */ #define DOU 2 /* OUT data direction */ @@ -648,8 +607,8 @@ DUN,DUN,DUN,DUN,DUN,DOU,DUN,DUN,DUN,DUN,DIN,DUN,DUN,DUN,DUN,DUN, DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN, DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN, - DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN, - DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN, + DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DIN,DUN,DOU,DUN,DUN,DUN,DUN,DUN, + DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DIN,DUN, DUN,DUN,DUN,DUN,DUN,DNO,DNO,DUN,DIN,DNO,DOU,DUN,DNO,DUN,DOU,DOU, DOU,DOU,DOU,DNO,DUN,DIN,DOU,DIN,DIN,DUN,DUN,DUN,DUN,DUN,DUN,DUN, DUN,DUN,DOU,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN,DUN, @@ -659,47 +618,32 @@ }; /* __initfunc, __initdata macros */ -#if LINUX_VERSION_CODE >= 0x020322 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) +#define __devinitdata +#endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) #define GDTH_INITFUNC(type, func) type __init func #include -#elif LINUX_VERSION_CODE >= 0x020126 +#else #define GDTH_INITFUNC(type, func) __initfunc(type func) #include -#else -#define GDTH_INITFUNC(type, func) type func -#define __initdata -#define __init #endif -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) #define GDTH_INIT_LOCK_HA(ha) spin_lock_init(&(ha)->smp_lock) #define GDTH_LOCK_HA(ha,flags) spin_lock_irqsave(&(ha)->smp_lock,flags) #define GDTH_UNLOCK_HA(ha,flags) spin_unlock_irqrestore(&(ha)->smp_lock,flags) #define GDTH_LOCK_SCSI_DONE(dev, flags) spin_lock_irqsave(dev->host_lock,flags) #define GDTH_UNLOCK_SCSI_DONE(dev, flags) spin_unlock_irqrestore(dev->host_lock,flags) -#define GDTH_LOCK_SCSI_DOCMD(dev) spin_lock_irq(dev->host_lock) -#define GDTH_UNLOCK_SCSI_DOCMD(dev) spin_unlock_irq(dev->host_lock) -#elif LINUX_VERSION_CODE >= 0x02015F +#else #define GDTH_INIT_LOCK_HA(ha) spin_lock_init(&(ha)->smp_lock) #define GDTH_LOCK_HA(ha,flags) spin_lock_irqsave(&(ha)->smp_lock,flags) #define GDTH_UNLOCK_HA(ha,flags) spin_unlock_irqrestore(&(ha)->smp_lock,flags) #define GDTH_LOCK_SCSI_DONE(flags) spin_lock_irqsave(&io_request_lock,flags) #define GDTH_UNLOCK_SCSI_DONE(flags) spin_unlock_irqrestore(&io_request_lock,flags) -#define GDTH_LOCK_SCSI_DOCMD() spin_lock_irq(&io_request_lock) -#define GDTH_UNLOCK_SCSI_DOCMD() spin_unlock_irq(&io_request_lock) - -#else -#define GDTH_INIT_LOCK_HA(ha) do {} while (0) -#define GDTH_LOCK_HA(ha,flags) do {save_flags(flags); cli();} while (0) -#define GDTH_UNLOCK_HA(ha,flags) do {restore_flags(flags);} while (0) - -#define GDTH_LOCK_SCSI_DONE(flags) do {} while (0) -#define GDTH_UNLOCK_SCSI_DONE(flags) do {} while (0) -#define GDTH_LOCK_SCSI_DOCMD() do {} while (0) -#define GDTH_UNLOCK_SCSI_DOCMD() do {} while (0) #endif /* LILO and modprobe/insmod parameters */ @@ -730,9 +674,10 @@ static int shared_access = 1; /* enable support for EISA and ISA controllers */ static int probe_eisa_isa = 0; +/* 64 bit DMA mode, support for drives > 2 TB, if force_dma32 = 0 */ +static int force_dma32 = 0; #ifdef MODULE -#if LINUX_VERSION_CODE >= 0x02011A /* parameters for modprobe/insmod */ MODULE_PARM(irq, "i"); MODULE_PARM(disable, "i"); @@ -745,41 +690,42 @@ MODULE_PARM(virt_ctr, "i"); MODULE_PARM(shared_access, "i"); MODULE_PARM(probe_eisa_isa, "i"); +MODULE_PARM(force_dma32, "i"); MODULE_AUTHOR("Achim Leubner"); -#endif -#if LINUX_VERSION_CODE >= 0x02040B +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,11) MODULE_LICENSE("GPL"); #endif #endif -#ifdef GDTH_IOCTL_CHRDEV /* ioctl interface */ static struct file_operations gdth_fops = { - .ioctl = gdth_ioctl, - .open = gdth_open, - .release = gdth_close, -}; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + .ioctl = gdth_ioctl, + .open = gdth_open, + .release = gdth_close, +#else + ioctl:gdth_ioctl, + open:gdth_open, + release:gdth_close, #endif +}; /* /proc support */ -#if LINUX_VERSION_CODE >= 0x010300 #include -#if LINUX_VERSION_CODE < 0x020322 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) struct proc_dir_entry proc_scsi_gdth = { PROC_SCSI_GDTH, 4, "gdth", S_IFDIR | S_IRUGO | S_IXUGO, 2 }; #endif + #include "gdth_proc.h" #include "gdth_proc.c" -#endif -#if LINUX_VERSION_CODE >= 0x020100 /* notifier block to get a notify on system shutdown/halt/reboot */ static struct notifier_block gdth_notifier = { gdth_halt, NULL, 0 }; -#endif static void gdth_delay(int milliseconds) @@ -787,17 +733,11 @@ if (milliseconds == 0) { udelay(1); } else { -#if LINUX_VERSION_CODE >= 0x020168 mdelay(milliseconds); -#else - int i; - for (i = 0; i < milliseconds; ++i) - udelay(1000); -#endif } } -static void gdth_eval_mapping(ulong32 size, int *cyls, int *heads, int *secs) +static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs) { *cyls = size /HEADS/SECS; if (*cyls <= MAXCYLS) { @@ -842,9 +782,9 @@ ulong32 id; TRACE(("gdth_search_isa() bios adr. %x\n",bios_adr)); - if ((addr = gdth_mmap(bios_adr+BIOS_ID_OFFS, sizeof(ulong32))) != NULL) { + if ((addr = ioremap(bios_adr+BIOS_ID_OFFS, sizeof(ulong32))) != NULL) { id = gdth_readl(addr); - gdth_munmap(addr); + iounmap(addr); if (id == GDT2_ID) /* GDT2000 */ return 1; } @@ -866,6 +806,8 @@ gdth_search_dev(pcistr, &cnt, PCI_VENDOR_ID_VORTEX, device); gdth_search_dev(pcistr, &cnt, PCI_VENDOR_ID_VORTEX, PCI_DEVICE_ID_VORTEX_GDTNEWRX); + gdth_search_dev(pcistr, &cnt, PCI_VENDOR_ID_VORTEX, + PCI_DEVICE_ID_VORTEX_GDTNEWRX2); gdth_search_dev(pcistr, &cnt, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SRC); gdth_search_dev(pcistr, &cnt, PCI_VENDOR_ID_INTEL, @@ -873,11 +815,11 @@ return cnt; } -#if LINUX_VERSION_CODE >= 0x20363 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) /* Vortex only makes RAID controllers. * We do not really want to specify all 550 ids here, so wildcard match. */ -static struct pci_device_id gdthtable[] = { +static struct pci_device_id gdthtable[] __devinitdata = { {PCI_VENDOR_ID_VORTEX,PCI_ANY_ID,PCI_ANY_ID, PCI_ANY_ID}, {PCI_VENDOR_ID_INTEL,PCI_DEVICE_ID_INTEL_SRC,PCI_ANY_ID,PCI_ANY_ID}, {PCI_VENDOR_ID_INTEL,PCI_DEVICE_ID_INTEL_SRC_XSCALE,PCI_ANY_ID,PCI_ANY_ID}, @@ -890,17 +832,12 @@ ushort vendor, ushort device)) { ulong base0, base1, base2; -#if LINUX_VERSION_CODE >= 0x2015C struct pci_dev *pdev; -#else - int error; - ushort idx; -#endif TRACE(("gdth_search_dev() cnt %d vendor %x device %x\n", *cnt, vendor, device)); -#if LINUX_VERSION_CODE >= 0x20363 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) pdev = NULL; while ((pdev = pci_find_device(vendor, device, pdev)) != NULL) { @@ -938,7 +875,7 @@ pcistr[*cnt].irq, pcistr[*cnt].dpmem)); (*cnt)++; } -#elif LINUX_VERSION_CODE >= 0x2015C +#else pdev = NULL; while ((pdev = pci_find_device(vendor, device, pdev)) != NULL) { @@ -979,66 +916,6 @@ pcistr[*cnt].irq, pcistr[*cnt].dpmem)); (*cnt)++; } -#else - idx = 0; - while (!pcibios_find_device(vendor, device, idx++, - &pcistr[*cnt].bus,&pcistr[*cnt].device_fn)) { - if (*cnt >= MAXHA) - return; - /* GDT PCI ctr. found, now read resources from config space */ -#if LINUX_VERSION_CODE >= 0x010300 -#define GDTH_BASEP (int *) -#else -#define GDTH_BASEP -#endif - if ((error = pcibios_read_config_dword(pcistr[*cnt].bus, - pcistr[*cnt].device_fn, - PCI_BASE_ADDRESS_0, - GDTH_BASEP&base0)) || - (error = pcibios_read_config_dword(pcistr[*cnt].bus, - pcistr[*cnt].device_fn, - PCI_BASE_ADDRESS_1, - GDTH_BASEP&base1)) || - (error = pcibios_read_config_dword(pcistr[*cnt].bus, - pcistr[*cnt].device_fn, - PCI_BASE_ADDRESS_2, - GDTH_BASEP&base2)) || - (error = pcibios_read_config_word(pcistr[*cnt].bus, - pcistr[*cnt].device_fn, - PCI_SUBSYSTEM_ID, - &pcistr[*cnt].subdevice_id)) || - (error = pcibios_read_config_byte(pcistr[*cnt].bus, - pcistr[*cnt].device_fn, - PCI_INTERRUPT_LINE, - &pcistr[*cnt].irq))) { - printk("GDT-PCI: error %d reading configuration space", error); - continue; - } - pcistr[*cnt].vendor_id = vendor; - pcistr[*cnt].device_id = device; - if (device <= PCI_DEVICE_ID_VORTEX_GDT6000B || /* GDT6000/B */ - device >= PCI_DEVICE_ID_VORTEX_GDT6x17RP) { /* MPR */ - if ((base0 & PCI_BASE_ADDRESS_SPACE) != - PCI_BASE_ADDRESS_SPACE_MEMORY) - continue; - pcistr[*cnt].dpmem = base0 & PCI_BASE_ADDRESS_MEM_MASK; - } else { /* GDT6110, GDT6120, .. */ - if ((base0 & PCI_BASE_ADDRESS_SPACE) != - PCI_BASE_ADDRESS_SPACE_MEMORY || - (base2 & PCI_BASE_ADDRESS_SPACE) != - PCI_BASE_ADDRESS_SPACE_MEMORY || - (base1 & PCI_BASE_ADDRESS_SPACE) != - PCI_BASE_ADDRESS_SPACE_IO) - continue; - pcistr[*cnt].dpmem = base2 & PCI_BASE_ADDRESS_MEM_MASK; - pcistr[*cnt].io_mm = base0 & PCI_BASE_ADDRESS_MEM_MASK; - pcistr[*cnt].io = base1 & PCI_BASE_ADDRESS_IO_MASK; - } - TRACE2(("Controller found at %d/%d, irq %d, dpmem 0x%lx\n", - pcistr[*cnt].bus, PCI_SLOT(pcistr[*cnt].device_fn), - pcistr[*cnt].irq, pcistr[*cnt].dpmem)); - (*cnt)++; - } #endif } @@ -1168,6 +1045,8 @@ ha->type = GDT_EISA; ha->stype = id; } + + ha->dma64_support = 0; return 1; } @@ -1181,7 +1060,7 @@ TRACE(("gdth_init_isa() bios adr. %x\n",bios_adr)); - ha->brd = gdth_mmap(bios_adr, sizeof(gdt2_dpram_str)); + ha->brd = ioremap(bios_adr, sizeof(gdt2_dpram_str)); if (ha->brd == NULL) { printk("GDT-ISA: Initialization error (DPMEM remap error)\n"); return 0; @@ -1191,8 +1070,8 @@ /* reset interface area */ memset_io((char *)&dp2_ptr->u,0,sizeof(dp2_ptr->u)); if (gdth_readl(&dp2_ptr->u) != 0) { - printk("GDT-PCI: Initialization error (DPMEM write error)\n"); - gdth_munmap(ha->brd); + printk("GDT-ISA: Initialization error (DPMEM write error)\n"); + iounmap(ha->brd); return 0; } @@ -1227,7 +1106,7 @@ while (gdth_readb(&dp2_ptr->u.ic.S_Status) != 0xff) { if (--retries == 0) { printk("GDT-ISA: Initialization error (DEINIT failed)\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); @@ -1237,7 +1116,7 @@ gdth_writeb(0xff, &dp2_ptr->io.irqdel); if (prot_ver != PROTOCOL_VERSION) { printk("GDT-ISA: Illegal protocol version\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } @@ -1259,13 +1138,15 @@ while (gdth_readb(&dp2_ptr->u.ic.S_Status) != 0xfe) { if (--retries == 0) { printk("GDT-ISA: Initialization error\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); } gdth_writeb(0, &dp2_ptr->u.ic.Status); gdth_writeb(0xff, &dp2_ptr->io.irqdel); + + ha->dma64_support = 0; return 1; } @@ -1279,9 +1160,6 @@ unchar prot_ver; ushort command; int i, found = FALSE; -#if LINUX_VERSION_CODE < 0x2015C - int rom_addr; -#endif TRACE(("gdth_init_pci()\n")); @@ -1293,13 +1171,13 @@ ha->stype = (ulong32)pcistr->device_id; ha->subdevice_id = pcistr->subdevice_id; ha->irq = pcistr->irq; -#if LINUX_VERSION_CODE >= 0x20400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) ha->pdev = pcistr->pdev; #endif if (ha->stype <= PCI_DEVICE_ID_VORTEX_GDT6000B) { /* GDT6000/B */ TRACE2(("init_pci() dpmem %lx irq %d\n",pcistr->dpmem,ha->irq)); - ha->brd = gdth_mmap(pcistr->dpmem, sizeof(gdt6_dpram_str)); + ha->brd = ioremap(pcistr->dpmem, sizeof(gdt6_dpram_str)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; @@ -1312,8 +1190,8 @@ pcistr->dpmem); found = FALSE; for (i = 0xC8000; i < 0xE8000; i += 0x4000) { - gdth_munmap(ha->brd); - ha->brd = gdth_mmap(i, sizeof(ushort)); + iounmap(ha->brd); + ha->brd = ioremap(i, sizeof(ushort)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; @@ -1322,15 +1200,10 @@ TRACE2(("init_pci_old() address 0x%x busy\n", i)); continue; } - gdth_munmap(ha->brd); -#if LINUX_VERSION_CODE >= 0x2015C + iounmap(ha->brd); pci_write_config_dword(pcistr->pdev, PCI_BASE_ADDRESS_0, i); -#else - pcibios_write_config_dword(pcistr->bus, pcistr->device_fn, - PCI_BASE_ADDRESS_0, i); -#endif - ha->brd = gdth_mmap(i, sizeof(gdt6_dpram_str)); + ha->brd = ioremap(i, sizeof(gdt6_dpram_str)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; @@ -1345,14 +1218,14 @@ } if (!found) { printk("GDT-PCI: No free address found!\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } } memset_io((char *)&dp6_ptr->u,0,sizeof(dp6_ptr->u)); if (gdth_readl(&dp6_ptr->u) != 0) { printk("GDT-PCI: Initialization error (DPMEM write error)\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } @@ -1370,7 +1243,7 @@ while (gdth_readb(&dp6_ptr->u.ic.S_Status) != 0xff) { if (--retries == 0) { printk("GDT-PCI: Initialization error (DEINIT failed)\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); @@ -1380,7 +1253,7 @@ gdth_writeb(0xff, &dp6_ptr->io.irqdel); if (prot_ver != PROTOCOL_VERSION) { printk("GDT-PCI: Illegal protocol version\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } @@ -1390,7 +1263,7 @@ /* special command to controller BIOS */ gdth_writel(0x00, &dp6_ptr->u.ic.S_Info[0]); gdth_writel(0x00, &dp6_ptr->u.ic.S_Info[1]); - gdth_writel(0x01, &dp6_ptr->u.ic.S_Info[2]); + gdth_writel(0x00, &dp6_ptr->u.ic.S_Info[2]); gdth_writel(0x00, &dp6_ptr->u.ic.S_Info[3]); gdth_writeb(0xfe, &dp6_ptr->u.ic.S_Cmd_Indx); gdth_writeb(0, &dp6_ptr->io.event); @@ -1399,7 +1272,7 @@ while (gdth_readb(&dp6_ptr->u.ic.S_Status) != 0xfe) { if (--retries == 0) { printk("GDT-PCI: Initialization error\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); @@ -1407,14 +1280,16 @@ gdth_writeb(0, &dp6_ptr->u.ic.S_Status); gdth_writeb(0xff, &dp6_ptr->io.irqdel); + ha->dma64_support = 0; + } else if (ha->stype <= PCI_DEVICE_ID_VORTEX_GDT6555) { /* GDT6110, ... */ ha->plx = (gdt6c_plx_regs *)pcistr->io; TRACE2(("init_pci_new() dpmem %lx irq %d\n", pcistr->dpmem,ha->irq)); - ha->brd = gdth_mmap(pcistr->dpmem, sizeof(gdt6c_dpram_str)); + ha->brd = ioremap(pcistr->dpmem, sizeof(gdt6c_dpram_str)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } /* check and reset interface area */ @@ -1425,8 +1300,8 @@ pcistr->dpmem); found = FALSE; for (i = 0xC8000; i < 0xE8000; i += 0x4000) { - gdth_munmap(ha->brd); - ha->brd = gdth_mmap(i, sizeof(ushort)); + iounmap(ha->brd); + ha->brd = ioremap(i, sizeof(ushort)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; @@ -1435,15 +1310,10 @@ TRACE2(("init_pci_plx() address 0x%x busy\n", i)); continue; } - gdth_munmap(ha->brd); -#if LINUX_VERSION_CODE >= 0x2015C + iounmap(ha->brd); pci_write_config_dword(pcistr->pdev, PCI_BASE_ADDRESS_2, i); -#else - pcibios_write_config_dword(pcistr->bus, pcistr->device_fn, - PCI_BASE_ADDRESS_2, i); -#endif - ha->brd = gdth_mmap(i, sizeof(gdt6c_dpram_str)); + ha->brd = ioremap(i, sizeof(gdt6c_dpram_str)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; @@ -1458,14 +1328,14 @@ } if (!found) { printk("GDT-PCI: No free address found!\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } } memset_io((char *)&dp6c_ptr->u,0,sizeof(dp6c_ptr->u)); if (gdth_readl(&dp6c_ptr->u) != 0) { printk("GDT-PCI: Initialization error (DPMEM write error)\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } @@ -1486,7 +1356,7 @@ while (gdth_readb(&dp6c_ptr->u.ic.S_Status) != 0xff) { if (--retries == 0) { printk("GDT-PCI: Initialization error (DEINIT failed)\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); @@ -1495,7 +1365,7 @@ gdth_writeb(0, &dp6c_ptr->u.ic.Status); if (prot_ver != PROTOCOL_VERSION) { printk("GDT-PCI: Illegal protocol version\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } @@ -1505,7 +1375,7 @@ /* special command to controller BIOS */ gdth_writel(0x00, &dp6c_ptr->u.ic.S_Info[0]); gdth_writel(0x00, &dp6c_ptr->u.ic.S_Info[1]); - gdth_writel(0x01, &dp6c_ptr->u.ic.S_Info[2]); + gdth_writel(0x00, &dp6c_ptr->u.ic.S_Info[2]); gdth_writel(0x00, &dp6c_ptr->u.ic.S_Info[3]); gdth_writeb(0xfe, &dp6c_ptr->u.ic.S_Cmd_Indx); @@ -1516,23 +1386,25 @@ while (gdth_readb(&dp6c_ptr->u.ic.S_Status) != 0xfe) { if (--retries == 0) { printk("GDT-PCI: Initialization error\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); } gdth_writeb(0, &dp6c_ptr->u.ic.S_Status); + ha->dma64_support = 0; + } else { /* MPR */ TRACE2(("init_pci_mpr() dpmem %lx irq %d\n",pcistr->dpmem,ha->irq)); - ha->brd = gdth_mmap(pcistr->dpmem, sizeof(gdt6m_dpram_str)); + ha->brd = ioremap(pcistr->dpmem, sizeof(gdt6m_dpram_str)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; } /* manipulate config. space to enable DPMEM, start RP controller */ -#if LINUX_VERSION_CODE >= 0x20363 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) pci_read_config_word(pcistr->pdev, PCI_COMMAND, &command); command |= 6; pci_write_config_word(pcistr->pdev, PCI_COMMAND, command); @@ -1543,7 +1415,7 @@ gdth_delay(1); pci_write_config_dword(pcistr->pdev, PCI_ROM_ADDRESS, pci_resource_start(pcistr->pdev, 8)); -#elif LINUX_VERSION_CODE >= 0x2015C +#else pci_read_config_word(pcistr->pdev, PCI_COMMAND, &command); command |= 6; pci_write_config_word(pcistr->pdev, PCI_COMMAND, command); @@ -1554,22 +1426,6 @@ gdth_delay(1); pci_write_config_dword(pcistr->pdev, PCI_ROM_ADDRESS, pcistr->pdev->rom_address); -#else - pcibios_read_config_word(pcistr->bus, pcistr->device_fn, - PCI_COMMAND, &command); - command |= 6; - pcibios_write_config_word(pcistr->bus, pcistr->device_fn, - PCI_COMMAND, command); - pcibios_read_config_dword(pcistr->bus, pcistr->device_fn, - PCI_ROM_ADDRESS, &rom_addr); - if (rom_addr == 1UL) - rom_addr = 0UL; - i = 0xFEFF0001UL; - pcibios_write_config_dword(pcistr->bus, pcistr->device_fn, - PCI_ROM_ADDRESS, i); - gdth_delay(1); - pcibios_write_config_dword(pcistr->bus, pcistr->device_fn, - PCI_ROM_ADDRESS, rom_addr); #endif /* Ensure that it is safe to access the non HW portions of DPMEM. @@ -1585,8 +1441,8 @@ pcistr->dpmem); found = FALSE; for (i = 0xC8000; i < 0xE8000; i += 0x4000) { - gdth_munmap(ha->brd); - ha->brd = gdth_mmap(i, sizeof(ushort)); + iounmap(ha->brd); + ha->brd = ioremap(i, sizeof(ushort)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; @@ -1595,15 +1451,10 @@ TRACE2(("init_pci_mpr() address 0x%x busy\n", i)); continue; } - gdth_munmap(ha->brd); -#if LINUX_VERSION_CODE >= 0x2015C + iounmap(ha->brd); pci_write_config_dword(pcistr->pdev, PCI_BASE_ADDRESS_0, i); -#else - pcibios_write_config_dword(pcistr->bus, pcistr->device_fn, - PCI_BASE_ADDRESS_0, i); -#endif - ha->brd = gdth_mmap(i, sizeof(gdt6m_dpram_str)); + ha->brd = ioremap(i, sizeof(gdt6m_dpram_str)); if (ha->brd == NULL) { printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; @@ -1618,7 +1469,7 @@ } if (!found) { printk("GDT-PCI: No free address found!\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } } @@ -1639,7 +1490,7 @@ while (gdth_readb(&dp6m_ptr->u.ic.S_Status) != 0xff) { if (--retries == 0) { printk("GDT-PCI: Initialization error (DEINIT failed)\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); @@ -1648,7 +1499,7 @@ gdth_writeb(0, &dp6m_ptr->u.ic.S_Status); if (prot_ver != PROTOCOL_VERSION) { printk("GDT-PCI: Illegal protocol version\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } @@ -1658,7 +1509,7 @@ /* special command to controller BIOS */ gdth_writel(0x00, &dp6m_ptr->u.ic.S_Info[0]); gdth_writel(0x00, &dp6m_ptr->u.ic.S_Info[1]); - gdth_writel(0x01, &dp6m_ptr->u.ic.S_Info[2]); + gdth_writel(0x00, &dp6m_ptr->u.ic.S_Info[2]); gdth_writel(0x00, &dp6m_ptr->u.ic.S_Info[3]); gdth_writeb(0xfe, &dp6m_ptr->u.ic.S_Cmd_Indx); gdth_writeb(1, &dp6m_ptr->i960r.ldoor_reg); @@ -1667,12 +1518,32 @@ while (gdth_readb(&dp6m_ptr->u.ic.S_Status) != 0xfe) { if (--retries == 0) { printk("GDT-PCI: Initialization error\n"); - gdth_munmap(ha->brd); + iounmap(ha->brd); return 0; } gdth_delay(1); } gdth_writeb(0, &dp6m_ptr->u.ic.S_Status); + + /* read FW version to detect 64-bit DMA support */ + gdth_writeb(0xfd, &dp6m_ptr->u.ic.S_Cmd_Indx); + gdth_writeb(1, &dp6m_ptr->i960r.ldoor_reg); + retries = INIT_RETRIES; + gdth_delay(20); + while (gdth_readb(&dp6m_ptr->u.ic.S_Status) != 0xfd) { + if (--retries == 0) { + printk("GDT-PCI: Initialization error (DEINIT failed)\n"); + iounmap(ha->brd); + return 0; + } + gdth_delay(1); + } + prot_ver = (unchar)(gdth_readl(&dp6m_ptr->u.ic.S_Info[0]) >> 16); + gdth_writeb(0, &dp6m_ptr->u.ic.S_Status); + if (prot_ver < 0x2b) /* FW < x.43: no 64-bit DMA support */ + ha->dma64_support = 0; + else + ha->dma64_support = 1; } return 1; @@ -1950,7 +1821,7 @@ static int gdth_internal_cmd(int hanum,unchar service,ushort opcode,ulong32 p1, - ulong32 p2,ulong32 p3) + ulong64 p2,ulong64 p3) { register gdth_ha_str *ha; register gdth_cmd_str *cmd_ptr; @@ -1976,23 +1847,35 @@ if (service == CACHESERVICE) { if (opcode == GDT_IOCTL) { cmd_ptr->u.ioctl.subfunc = p1; - cmd_ptr->u.ioctl.channel = p2; + cmd_ptr->u.ioctl.channel = (ulong32)p2; cmd_ptr->u.ioctl.param_size = (ushort)p3; cmd_ptr->u.ioctl.p_param = ha->scratch_phys; } else { - cmd_ptr->u.cache.DeviceNo = (ushort)p1; - cmd_ptr->u.cache.BlockNo = p2; + if (ha->cache_feat & GDT_64BIT) { + cmd_ptr->u.cache64.DeviceNo = (ushort)p1; + cmd_ptr->u.cache64.BlockNo = p2; + } else { + cmd_ptr->u.cache.DeviceNo = (ushort)p1; + cmd_ptr->u.cache.BlockNo = (ulong32)p2; + } } } else if (service == SCSIRAWSERVICE) { - cmd_ptr->u.raw.direction = p1; - cmd_ptr->u.raw.bus = (unchar)p2; - cmd_ptr->u.raw.target = (unchar)p3; - cmd_ptr->u.raw.lun = (unchar)(p3 >> 8); + if (ha->raw_feat & GDT_64BIT) { + cmd_ptr->u.raw64.direction = p1; + cmd_ptr->u.raw64.bus = (unchar)p2; + cmd_ptr->u.raw64.target = (unchar)p3; + cmd_ptr->u.raw64.lun = (unchar)(p3 >> 8); + } else { + cmd_ptr->u.raw.direction = p1; + cmd_ptr->u.raw.bus = (unchar)p2; + cmd_ptr->u.raw.target = (unchar)p3; + cmd_ptr->u.raw.lun = (unchar)(p3 >> 8); + } } else if (service == SCREENSERVICE) { if (opcode == GDT_REALTIME) { *(ulong32 *)&cmd_ptr->u.screen.su.data[0] = p1; - *(ulong32 *)&cmd_ptr->u.screen.su.data[4] = p2; - *(ulong32 *)&cmd_ptr->u.screen.su.data[8] = p3; + *(ulong32 *)&cmd_ptr->u.screen.su.data[4] = (ulong32)p2; + *(ulong32 *)&cmd_ptr->u.screen.su.data[8] = (ulong32)p3; } } ha->cmd_len = sizeof(gdth_cmd_str); @@ -2020,6 +1903,7 @@ { register gdth_ha_str *ha; ushort cdev_cnt, i; + int ok; ulong32 bus_no, drv_cnt, drv_no, j; gdth_getch_str *chn; gdth_drlist_str *drl; @@ -2028,6 +1912,9 @@ gdth_arcdl_str *alst; gdth_alist_str *alst2; gdth_oem_str_ioctl *oemstr; +#ifdef INT_COAL + gdth_perf_modes *pmod; +#endif #ifdef GDTH_RTC unchar rtc[12]; @@ -2036,11 +1923,20 @@ TRACE(("gdth_search_drives() hanum %d\n",hanum)); ha = HADATA(gdth_ctr_tab[hanum]); + ok = 0; /* initialize controller services, at first: screen service */ - if (!gdth_internal_cmd(hanum,SCREENSERVICE,GDT_INIT,0,0,0)) { - printk("GDT: Initialization error screen service (code %d)\n", - ha->status); + ha->screen_feat = 0; + if (!force_dma32) { + ok = gdth_internal_cmd(hanum,SCREENSERVICE,GDT_X_INIT_SCR,0,0,0); + if (ok) + ha->screen_feat = GDT_64BIT; + } + if (force_dma32 || (!ok && ha->status == (ushort)S_NOFUNC)) + ok = gdth_internal_cmd(hanum,SCREENSERVICE,GDT_INIT,0,0,0); + if (!ok) { + printk("GDT-HA %d: Initialization error screen service (code %d)\n", + hanum, ha->status); return 0; } TRACE2(("gdth_search_drives(): SCREENSERVICE initialized\n")); @@ -2060,7 +1956,7 @@ for (j = 0; j < 12; ++j) rtc[j] = CMOS_READ(j); } while (rtc[0] != CMOS_READ(0)); - spin_unlock_irqrestore(&rtc_lock, flags); + spin_lock_irqrestore(&rtc_lock, flags); TRACE2(("gdth_search_drives(): RTC: %x/%x/%x\n",*(ulong32 *)&rtc[0], *(ulong32 *)&rtc[4], *(ulong32 *)&rtc[8])); /* 3. send to controller firmware */ @@ -2072,15 +1968,52 @@ gdth_internal_cmd(hanum,CACHESERVICE,GDT_UNFREEZE_IO,0,0,0); /* initialize cache service */ - if (!gdth_internal_cmd(hanum,CACHESERVICE,GDT_INIT,LINUX_OS,0,0)) { - printk("GDT: Initialization error cache service (code %d)\n", - ha->status); + ha->cache_feat = 0; + if (!force_dma32) { + ok = gdth_internal_cmd(hanum,CACHESERVICE,GDT_X_INIT_HOST,LINUX_OS,0,0); + if (ok) + ha->cache_feat = GDT_64BIT; + } + if (force_dma32 || (!ok && ha->status == (ushort)S_NOFUNC)) + ok = gdth_internal_cmd(hanum,CACHESERVICE,GDT_INIT,LINUX_OS,0,0); + if (!ok) { + printk("GDT-HA %d: Initialization error cache service (code %d)\n", + hanum, ha->status); return 0; } TRACE2(("gdth_search_drives(): CACHESERVICE initialized\n")); cdev_cnt = (ushort)ha->info; ha->fw_vers = ha->service; +#ifdef INT_COAL + if (ha->type == GDT_PCIMPR) { + /* set perf. modes */ + pmod = (gdth_perf_modes *)ha->pscratch; + pmod->version = 1; + pmod->st_mode = 1; /* enable one status buffer */ + *((ulong64 *)&pmod->st_buff_addr1) = ha->coal_stat_phys; + pmod->st_buff_indx1 = COALINDEX; + pmod->st_buff_addr2 = 0; + pmod->st_buff_u_addr2 = 0; + pmod->st_buff_indx2 = 0; + pmod->st_buff_size = sizeof(gdth_coal_status) * MAXOFFSETS; + pmod->cmd_mode = 0; // disable all cmd buffers + pmod->cmd_buff_addr1 = 0; + pmod->cmd_buff_u_addr1 = 0; + pmod->cmd_buff_indx1 = 0; + pmod->cmd_buff_addr2 = 0; + pmod->cmd_buff_u_addr2 = 0; + pmod->cmd_buff_indx2 = 0; + pmod->cmd_buff_size = 0; + pmod->reserved1 = 0; + pmod->reserved2 = 0; + if (gdth_internal_cmd(hanum,CACHESERVICE,GDT_IOCTL,SET_PERF_MODES, + INVALID_CHANNEL,sizeof(gdth_perf_modes))) { + printk("GDT-HA %d: Interrupt coalescing activated\n", hanum); + } + } +#endif + /* detect number of buses - try new IOCTL */ iocr = (gdth_raw_iochan_str *)ha->pscratch; iocr->hdr.version = 0xffffffff; @@ -2108,8 +2041,8 @@ IO_CHANNEL | INVALID_CHANNEL, sizeof(gdth_getch_str))) { if (bus_no == 0) { - printk("GDT: Error detecting channel count (0x%x)\n", - ha->status); + printk("GDT-HA %d: Error detecting channel count (0x%x)\n", + hanum, ha->status); return 0; } break; @@ -2126,8 +2059,8 @@ /* read cache configuration */ if (!gdth_internal_cmd(hanum,CACHESERVICE,GDT_IOCTL,CACHE_INFO, INVALID_CHANNEL,sizeof(gdth_cinfo_str))) { - printk("GDT: Initialization error cache service (code %d)\n", - ha->status); + printk("GDT-HA %d: Initialization error cache service (code %d)\n", + hanum, ha->status); return 0; } ha->cpar = ((gdth_cinfo_str *)ha->pscratch)->cpar; @@ -2246,9 +2179,17 @@ } /* initialize raw service */ - if (!gdth_internal_cmd(hanum,SCSIRAWSERVICE,GDT_INIT,0,0,0)) { - printk("GDT: Initialization error raw service (code %d)\n", - ha->status); + ha->raw_feat = 0; + if (!force_dma32) { + ok = gdth_internal_cmd(hanum,SCSIRAWSERVICE,GDT_X_INIT_RAW,0,0,0); + if (ok) + ha->raw_feat = GDT_64BIT; + } + if (force_dma32 || (!ok && ha->status == (ushort)S_NOFUNC)) + ok = gdth_internal_cmd(hanum,SCSIRAWSERVICE,GDT_INIT,0,0,0); + if (!ok) { + printk("GDT-HA %d: Initialization error raw service (code %d)\n", + hanum, ha->status); return 0; } TRACE2(("gdth_search_drives(): RAWSERVICE initialized\n")); @@ -2260,7 +2201,7 @@ if (gdth_internal_cmd(hanum,SCSIRAWSERVICE,GDT_GET_FEAT,0,0,0)) { TRACE2(("gdth_search_dr(): get feat RAWSERVICE %d\n", ha->info)); - ha->raw_feat = (ushort)ha->info; + ha->raw_feat |= (ushort)ha->info; } } @@ -2271,7 +2212,7 @@ if (gdth_internal_cmd(hanum,CACHESERVICE,GDT_GET_FEAT,0,0,0)) { TRACE2(("gdth_search_dr(): get feat CACHESERV. %d\n", ha->info)); - ha->cache_feat = (ushort)ha->info; + ha->cache_feat |= (ushort)ha->info; } } @@ -2291,8 +2232,8 @@ if (!gdth_internal_cmd(hanum,SCSIRAWSERVICE,GDT_RESERVE,0, reserve_list[i+1], reserve_list[i+2] | (reserve_list[i+3] << 8))) { - printk("GDT: Error raw service (RESERVE, code %d)\n", - ha->status); + printk("GDT-HA %d: Error raw service (RESERVE, code %d)\n", + hanum, ha->status); } } } @@ -2305,17 +2246,32 @@ CACHE_READ_OEM_STRING_RECORD,INVALID_CHANNEL, sizeof(gdth_oem_str_ioctl))) { TRACE2(("gdth_search_drives(): CACHE_READ_OEM_STRING_RECORD OK\n")); - printk("GDT CTR%d Vendor: %s\n",hanum,oemstr->text.oem_company_name); + printk("GDT-HA %d: Vendor: %s Name: %s\n", + hanum,oemstr->text.oem_company_name,ha->binfo.type_string); /* Save the Host Drive inquiry data */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) strlcpy(ha->oem_name,oemstr->text.scsi_host_drive_inquiry_vendor_id, - sizeof(ha->oem_name)); + sizeof(ha->oem_name)); +#else + strncpy(ha->oem_name,oemstr->text.scsi_host_drive_inquiry_vendor_id,7); + ha->oem_name[7] = '\0'; +#endif } else { /* Old method, based on PCI ID */ TRACE2(("gdth_search_drives(): CACHE_READ_OEM_STRING_RECORD failed\n")); + printk("GDT-HA %d: Name: %s\n", + hanum,ha->binfo.type_string); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) if (ha->oem_id == OEM_ID_INTEL) strlcpy(ha->oem_name,"Intel ", sizeof(ha->oem_name)); else strlcpy(ha->oem_name,"ICP ", sizeof(ha->oem_name)); +#else + if (ha->oem_id == OEM_ID_INTEL) + strcpy(ha->oem_name,"Intel "); + else + strcpy(ha->oem_name,"ICP "); +#endif } /* scanning for host drives */ @@ -2329,7 +2285,8 @@ static int gdth_analyse_hdrive(int hanum,ushort hdrive) { register gdth_ha_str *ha; - int drv_cyls, drv_hds, drv_secs; + ulong32 drv_cyls; + int drv_hds, drv_secs; TRACE(("gdth_analyse_hdrive() hanum %d drive %d\n",hanum,hdrive)); if (hdrive >= MAX_HDRIVES) @@ -2340,7 +2297,7 @@ return 0; ha->hdr[hdrive].present = TRUE; ha->hdr[hdrive].size = ha->info; - + /* evaluate mapping (sectors per head, heads per cylinder) */ ha->hdr[hdrive].size &= ~SECS32; if (ha->info2 == 0) { @@ -2348,15 +2305,22 @@ } else { drv_hds = ha->info2 & 0xff; drv_secs = (ha->info2 >> 8) & 0xff; - drv_cyls = ha->hdr[hdrive].size /drv_hds/drv_secs; + drv_cyls = (ulong32)ha->hdr[hdrive].size / drv_hds / drv_secs; } ha->hdr[hdrive].heads = (unchar)drv_hds; ha->hdr[hdrive].secs = (unchar)drv_secs; /* round size */ ha->hdr[hdrive].size = drv_cyls * drv_hds * drv_secs; + + if (ha->cache_feat & GDT_64BIT) { + if (gdth_internal_cmd(hanum,CACHESERVICE,GDT_X_INFO,hdrive,0,0) + && ha->info2 != 0) { + ha->hdr[hdrive].size = ((ulong64)ha->info2 << 32) | ha->info; + } + } TRACE2(("gdth_search_dr() cdr. %d size %d hds %d scs %d\n", hdrive,ha->hdr[hdrive].size,drv_hds,drv_secs)); - + /* get informations about device */ if (gdth_internal_cmd(hanum,CACHESERVICE,GDT_DEVTYPE,hdrive,0,0)) { TRACE2(("gdth_search_dr() cache drive %d devtype %d\n", @@ -2398,14 +2362,13 @@ GDTH_LOCK_HA(ha, flags); scp->SCp.this_residual = (int)priority; -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) b = virt_ctr ? NUMDATA(scp->device->host)->busnum : scp->device->channel; t = scp->device->id; #else b = virt_ctr ? NUMDATA(scp->host)->busnum : scp->channel; t = scp->target; #endif -#if LINUX_VERSION_CODE >= 0x010300 if (priority >= DEFAULT_PRI) { if ((b != ha->virt_bus && ha->raw[BUS_L2P(ha,b)].lock) || (b == ha->virt_bus && t < MAX_HDRIVES && ha->hdr[t].lock)) { @@ -2413,7 +2376,6 @@ scp->SCp.buffers_residual = gdth_update_timeout(hanum, scp, 0); } } -#endif if (ha->req_first==NULL) { ha->req_first = scp; /* queue was empty */ @@ -2465,7 +2427,7 @@ for (nscp = pscp = ha->req_first; nscp; nscp = (Scsi_Cmnd *)nscp->SCp.ptr) { if (nscp != pscp && nscp != (Scsi_Cmnd *)pscp->SCp.ptr) pscp = (Scsi_Cmnd *)pscp->SCp.ptr; -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) b = virt_ctr ? NUMDATA(nscp->device->host)->busnum : nscp->device->channel; t = nscp->device->id; l = nscp->device->lun; @@ -2493,10 +2455,7 @@ firsttime = FALSE; } -#if LINUX_VERSION_CODE >= 0x010300 - if (nscp->done != gdth_scsi_done || nscp->cmnd[0] != 0xff) -#endif - { + if (nscp->done != gdth_scsi_done || nscp->cmnd[0] != 0xff) { if (nscp->SCp.phase == -1) { nscp->SCp.phase = CACHESERVICE; /* default: cache svc. */ if (nscp->cmnd[0] == TEST_UNIT_READY) { @@ -2565,16 +2524,11 @@ GDTH_LOCK_HA(ha,flags); } } - } else - -#if LINUX_VERSION_CODE >= 0x010300 - if (nscp->done == gdth_scsi_done && nscp->cmnd[0] == 0xff) { + } else if (nscp->done == gdth_scsi_done && nscp->cmnd[0] == 0xff) { if (!(cmd_index=gdth_special_cmd(hanum,nscp))) this_cmd = FALSE; next_cmd = FALSE; - } else -#endif - if (b != ha->virt_bus) { + } else if (b != ha->virt_bus) { if (ha->raw[BUS_L2P(ha,b)].io_cnt[t] >= GDTH_MAX_RAW || !(cmd_index=gdth_fill_raw_cmd(hanum,nscp,BUS_L2P(ha,b)))) this_cmd = FALSE; @@ -2603,6 +2557,9 @@ case VERIFY: case START_STOP: case MODE_SENSE: +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + case SERVICE_ACTION_IN: +#endif TRACE(("cache cmd %x/%x/%x/%x/%x/%x\n",nscp->cmnd[0], nscp->cmnd[1],nscp->cmnd[2],nscp->cmnd[3], nscp->cmnd[4],nscp->cmnd[5])); @@ -2674,6 +2631,10 @@ case WRITE_6: case READ_10: case WRITE_10: +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + case READ_16: + case WRITE_16: +#endif if (ha->hdr[t].media_changed) { /* return UNIT_ATTENTION */ TRACE2(("cmd 0x%x target %d: UNIT_ATTENTION\n", @@ -2701,8 +2662,8 @@ TRACE2(("cache cmd %x/%x/%x/%x/%x/%x unknown\n",nscp->cmnd[0], nscp->cmnd[1],nscp->cmnd[2],nscp->cmnd[3], nscp->cmnd[4],nscp->cmnd[5])); - printk("GDT: Unknown SCSI command 0x%x to cache service !\n", - nscp->cmnd[0]); + printk("GDT-HA %d: Unknown SCSI command 0x%x to cache service !\n", + hanum, nscp->cmnd[0]); nscp->result = DID_ABORT << 16; if (!nscp->SCp.have_data_in) nscp->SCp.have_data_in++; @@ -2737,11 +2698,11 @@ if (gdth_polling && ha->cmd_cnt > 0) { if (!gdth_wait(hanum,cmd_index,POLL_TIMEOUT)) - printk("GDT: Controller %d: Command %d timed out !\n", + printk("GDT-HA %d: Command %d timed out !\n", hanum,cmd_index); } } - + static void gdth_copy_internal_data(int hanum,Scsi_Cmnd *scp, char *buffer,ushort count) { @@ -2757,7 +2718,7 @@ if (scp->use_sg) { sl = (struct scatterlist *)scp->request_buffer; -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) sgcnt = pci_map_sg(ha->pdev,sl,scp->use_sg,PCI_DMA_FROMDEVICE); for (i=0,cpsum=0; i cpcount) cpnow = cpcount - cpsum; cpsum += cpnow; - address = (char *)phys_to_virt(sg_dma_address(sl)); + if (!sl->page) { + printk("GDT-HA %d: invalid sc/gt element in gdth_copy_internal_data()\n", + hanum); + return; + } + address = (char *)(page_address(sl->page) + sl->offset); memcpy(address,buffer,cpnow); if (cpsum == cpcount) break; @@ -2806,7 +2772,7 @@ gdth_modep_data mpd; ha = HADATA(gdth_ctr_tab[hanum]); -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) t = scp->device->id; #else t = scp->target; @@ -2814,6 +2780,9 @@ TRACE(("gdth_internal_cache_cmd() cmd 0x%x hdrive %d\n", scp->cmnd[0],t)); + scp->result = DID_OK << 16; + scp->sense_buffer[0] = 0; + switch (scp->cmnd[0]) { case TEST_UNIT_READY: case VERIFY: @@ -2864,19 +2833,35 @@ case READ_CAPACITY: TRACE2(("Read capacity hdrive %d\n",t)); - rdc.last_block_no = ntohl(ha->hdr[t].size-1); - rdc.block_length = ntohl(SECTOR_SIZE); + if (ha->hdr[t].size > (ulong64)0xffffffff) + rdc.last_block_no = 0xffffffff; + else + rdc.last_block_no = cpu_to_be32(ha->hdr[t].size-1); + rdc.block_length = cpu_to_be32(SECTOR_SIZE); gdth_copy_internal_data(hanum,scp,(char*)&rdc,sizeof(gdth_rdcap_data)); break; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + case SERVICE_ACTION_IN: + if ((scp->cmnd[1] & 0x1f) == SAI_READ_CAPACITY_16 && + (ha->cache_feat & GDT_64BIT)) { + gdth_rdcap16_data rdc16; + + TRACE2(("Read capacity (16) hdrive %d\n",t)); + rdc16.last_block_no = cpu_to_be64(ha->hdr[t].size-1); + rdc16.block_length = cpu_to_be32(SECTOR_SIZE); + gdth_copy_internal_data(hanum,scp,(char*)&rdc16,sizeof(gdth_rdcap16_data)); + } else { + scp->result = DID_ABORT << 16; + } + break; +#endif + default: TRACE2(("Internal cache cmd 0x%x unknown\n",scp->cmnd[0])); break; } - scp->result = DID_OK << 16; - scp->sense_buffer[0] = 0; - if (!scp->SCp.have_data_in) scp->SCp.have_data_in++; else @@ -2890,9 +2875,14 @@ register gdth_ha_str *ha; register gdth_cmd_str *cmdp; struct scatterlist *sl; - ushort i, cnt; - ulong32 no, phys_addr; - int cmd_index, read_write, sgcnt; + ulong32 cnt, blockcnt; + ulong64 no, blockno; + dma_addr_t phys_addr; + int i, cmd_index, read_write, sgcnt, mode64; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) + struct page *page; + ulong offset; +#endif ha = HADATA(gdth_ctr_tab[hanum]); cmdp = ha->pccb; @@ -2902,6 +2892,11 @@ if (ha->type==GDT_EISA && ha->cmd_cnt>0) return 0; + mode64 = (ha->cache_feat & GDT_64BIT) ? TRUE : FALSE; + /* test for READ_16, WRITE_16 if !mode64 ? --- + not required, should not occur due to error return on + READ_CAPACITY_16 */ + cmdp->Service = CACHESERVICE; cmdp->RequestBuffer = scp; /* search free command index */ @@ -2929,7 +2924,11 @@ else cmdp->OpCode = GDT_FLUSH; } else if (scp->cmnd[0] == WRITE_6 || scp->cmnd[0] == WRITE_10 || - scp->cmnd[0] == WRITE_12) { + scp->cmnd[0] == WRITE_12 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + || scp->cmnd[0] == WRITE_16 +#endif + ) { read_write = 1; if (gdth_write_through || ((ha->hdr[hdrive].rw_attribs & 1) && (ha->cache_feat & GDT_WR_THROUGH))) @@ -2940,86 +2939,157 @@ read_write = 2; cmdp->OpCode = GDT_READ; } - - cmdp->BoardNode = LOCALBOARD; - cmdp->u.cache.DeviceNo = hdrive; - cmdp->u.cache.BlockNo = 1; - cmdp->u.cache.sg_canz = 0; + + cmdp->BoardNode = LOCALBOARD; + if (mode64) { + cmdp->u.cache64.DeviceNo = hdrive; + cmdp->u.cache64.BlockNo = 1; + cmdp->u.cache64.sg_canz = 0; + } else { + cmdp->u.cache.DeviceNo = hdrive; + cmdp->u.cache.BlockNo = 1; + cmdp->u.cache.sg_canz = 0; + } if (read_write) { - if (scp->cmd_len != 6) { + if (scp->cmd_len == 16) { + memcpy(&no, &scp->cmnd[2], sizeof(ulong64)); + blockno = be64_to_cpu(no); + memcpy(&cnt, &scp->cmnd[10], sizeof(ulong32)); + blockcnt = be32_to_cpu(cnt); + } else if (scp->cmd_len == 10) { memcpy(&no, &scp->cmnd[2], sizeof(ulong32)); - cmdp->u.cache.BlockNo = ntohl(no); + blockno = be32_to_cpu(no); memcpy(&cnt, &scp->cmnd[7], sizeof(ushort)); - cmdp->u.cache.BlockCnt = (ulong32)ntohs(cnt); + blockcnt = be16_to_cpu(cnt); } else { memcpy(&no, &scp->cmnd[0], sizeof(ulong32)); - cmdp->u.cache.BlockNo = ntohl(no) & 0x001fffffUL; - cmdp->u.cache.BlockCnt= scp->cmnd[4]==0 ? 0x100 : scp->cmnd[4]; + blockno = be32_to_cpu(no) & 0x001fffffUL; + blockcnt= scp->cmnd[4]==0 ? 0x100 : scp->cmnd[4]; + } + if (mode64) { + cmdp->u.cache64.BlockNo = blockno; + cmdp->u.cache64.BlockCnt = blockcnt; + } else { + cmdp->u.cache.BlockNo = (ulong32)blockno; + cmdp->u.cache.BlockCnt = blockcnt; } if (scp->use_sg) { - cmdp->u.cache.DestAddr= 0xffffffff; sl = (struct scatterlist *)scp->request_buffer; sgcnt = scp->use_sg; -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) scp->SCp.Status = GDTH_MAP_SG; scp->SCp.Message = (read_write == 1 ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE); sgcnt = pci_map_sg(ha->pdev,sl,scp->use_sg,scp->SCp.Message); - for (i=0; iu.cache.sg_lst[i].sg_ptr = sg_dma_address(sl); - cmdp->u.cache.sg_lst[i].sg_len = sg_dma_len(sl); + if (mode64) { + cmdp->u.cache64.DestAddr= (ulong64)-1; + cmdp->u.cache64.sg_canz = sgcnt; + for (i=0; iu.cache64.sg_lst[i].sg_ptr = sg_dma_address(sl); +#ifdef GDTH_DMA_STATISTICS + if (cmdp->u.cache64.sg_lst[i].sg_ptr > (ulong64)0xffffffff) + ha->dma64_cnt++; + else + ha->dma32_cnt++; +#endif + cmdp->u.cache64.sg_lst[i].sg_len = sg_dma_len(sl); + } + } else { + cmdp->u.cache.DestAddr= 0xffffffff; + cmdp->u.cache.sg_canz = sgcnt; + for (i=0; iu.cache.sg_lst[i].sg_ptr = sg_dma_address(sl); +#ifdef GDTH_DMA_STATISTICS + ha->dma32_cnt++; +#endif + cmdp->u.cache.sg_lst[i].sg_len = sg_dma_len(sl); + } } #else - for (i=0; iu.cache.sg_lst[i].sg_ptr = virt_to_bus(sl->address); - cmdp->u.cache.sg_lst[i].sg_len = (ulong32)sl->length; + if (mode64) { + cmdp->u.cache64.DestAddr= (ulong64)-1; + cmdp->u.cache64.sg_canz = sgcnt; + for (i=0; iu.cache64.sg_lst[i].sg_ptr = virt_to_bus(sl->address); + cmdp->u.cache64.sg_lst[i].sg_len = (ulong32)sl->length; + } + } else { + cmdp->u.cache.DestAddr= 0xffffffff; + cmdp->u.cache.sg_canz = sgcnt; + for (i=0; iu.cache.sg_lst[i].sg_ptr = virt_to_bus(sl->address); + cmdp->u.cache.sg_lst[i].sg_len = (ulong32)sl->length; + } } #endif - cmdp->u.cache.sg_canz = (ulong32)i; #ifdef GDTH_STATISTICS - if (max_sg < (ulong32)i) { - max_sg = (ulong32)i; - TRACE3(("GDT: max_sg = %d\n",i)); + if (max_sg < (ulong32)sgcnt) { + max_sg = (ulong32)sgcnt; + TRACE3(("GDT: max_sg = %d\n",max_sg)); } #endif - if (iu.cache.sg_lst[i].sg_len = 0; + } else { -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) scp->SCp.Status = GDTH_MAP_SINGLE; scp->SCp.Message = (read_write == 1 ? - PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE); - phys_addr = pci_map_single(ha->pdev,scp->request_buffer, - scp->request_bufflen,scp->SCp.Message); + PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE); + page = virt_to_page(scp->request_buffer); + offset = (ulong)scp->request_buffer & ~PAGE_MASK; + phys_addr = pci_map_page(ha->pdev,page,offset, + scp->request_bufflen,scp->SCp.Message); scp->SCp.dma_handle = phys_addr; #else phys_addr = virt_to_bus(scp->request_buffer); #endif - if (ha->cache_feat & SCATTER_GATHER) { - cmdp->u.cache.DestAddr = 0xffffffff; - cmdp->u.cache.sg_canz = 1; - cmdp->u.cache.sg_lst[0].sg_ptr = phys_addr; - cmdp->u.cache.sg_lst[0].sg_len = scp->request_bufflen; - cmdp->u.cache.sg_lst[1].sg_len = 0; + if (mode64) { + if (ha->cache_feat & SCATTER_GATHER) { + cmdp->u.cache64.DestAddr = (ulong64)-1; + cmdp->u.cache64.sg_canz = 1; + cmdp->u.cache64.sg_lst[0].sg_ptr = phys_addr; + cmdp->u.cache64.sg_lst[0].sg_len = scp->request_bufflen; + cmdp->u.cache64.sg_lst[1].sg_len = 0; + } else { + cmdp->u.cache64.DestAddr = phys_addr; + cmdp->u.cache64.sg_canz= 0; + } } else { - cmdp->u.cache.DestAddr = phys_addr; - cmdp->u.cache.sg_canz= 0; + if (ha->cache_feat & SCATTER_GATHER) { + cmdp->u.cache.DestAddr = 0xffffffff; + cmdp->u.cache.sg_canz = 1; + cmdp->u.cache.sg_lst[0].sg_ptr = phys_addr; + cmdp->u.cache.sg_lst[0].sg_len = scp->request_bufflen; + cmdp->u.cache.sg_lst[1].sg_len = 0; + } else { + cmdp->u.cache.DestAddr = phys_addr; + cmdp->u.cache.sg_canz= 0; + } } } } - TRACE(("cache cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", - cmdp->u.cache.DestAddr,cmdp->u.cache.sg_canz, - cmdp->u.cache.sg_lst[0].sg_ptr, - cmdp->u.cache.sg_lst[0].sg_len)); - TRACE(("cache cmd: cmd %d blockno. %d, blockcnt %d\n", - cmdp->OpCode,cmdp->u.cache.BlockNo,cmdp->u.cache.BlockCnt)); - /* evaluate command size, check space */ - ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.cache.sg_lst) + - (ushort)cmdp->u.cache.sg_canz * sizeof(gdth_sg_str); + if (mode64) { + TRACE(("cache cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", + cmdp->u.cache64.DestAddr,cmdp->u.cache64.sg_canz, + cmdp->u.cache64.sg_lst[0].sg_ptr, + cmdp->u.cache64.sg_lst[0].sg_len)); + TRACE(("cache cmd: cmd %d blockno. %d, blockcnt %d\n", + cmdp->OpCode,cmdp->u.cache64.BlockNo,cmdp->u.cache64.BlockCnt)); + ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.cache64.sg_lst) + + (ushort)cmdp->u.cache64.sg_canz * sizeof(gdth_sg64_str); + } else { + TRACE(("cache cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", + cmdp->u.cache.DestAddr,cmdp->u.cache.sg_canz, + cmdp->u.cache.sg_lst[0].sg_ptr, + cmdp->u.cache.sg_lst[0].sg_len)); + TRACE(("cache cmd: cmd %d blockno. %d, blockcnt %d\n", + cmdp->OpCode,cmdp->u.cache.BlockNo,cmdp->u.cache.BlockCnt)); + ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.cache.sg_lst) + + (ushort)cmdp->u.cache.sg_canz * sizeof(gdth_sg_str); + } if (ha->cmd_len & 3) ha->cmd_len += (4 - (ha->cmd_len & 3)); @@ -3043,12 +3113,16 @@ register gdth_cmd_str *cmdp; struct scatterlist *sl; ushort i; - ulong32 phys_addr, sense_paddr; - int cmd_index, sgcnt; + dma_addr_t phys_addr, sense_paddr; + int cmd_index, sgcnt, mode64; unchar t,l; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) + struct page *page; + ulong offset; +#endif ha = HADATA(gdth_ctr_tab[hanum]); -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) t = scp->device->id; l = scp->device->lun; #else @@ -3062,6 +3136,8 @@ if (ha->type==GDT_EISA && ha->cmd_cnt>0) return 0; + mode64 = (ha->raw_feat & GDT_64BIT) ? TRUE : FALSE; + cmdp->Service = SCSIRAWSERVICE; cmdp->RequestBuffer = scp; /* search free command index */ @@ -3077,95 +3153,176 @@ if (scp->SCp.sent_command != -1) { cmdp->OpCode = scp->SCp.sent_command; /* special raw cmd. */ cmdp->BoardNode = LOCALBOARD; - cmdp->u.raw.direction = (scp->SCp.phase >> 8); - TRACE2(("special raw cmd 0x%x param 0x%x\n", - cmdp->OpCode, cmdp->u.raw.direction)); + if (mode64) { + cmdp->u.raw64.direction = (scp->SCp.phase >> 8); + TRACE2(("special raw cmd 0x%x param 0x%x\n", + cmdp->OpCode, cmdp->u.raw64.direction)); + /* evaluate command size */ + ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw64.sg_lst); + } else { + cmdp->u.raw.direction = (scp->SCp.phase >> 8); + TRACE2(("special raw cmd 0x%x param 0x%x\n", + cmdp->OpCode, cmdp->u.raw.direction)); + /* evaluate command size */ + ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst); + } - /* evaluate command size */ - ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst); } else { -#if LINUX_VERSION_CODE >= 0x020400 - sense_paddr = pci_map_single(ha->pdev,scp->sense_buffer, - 16,PCI_DMA_FROMDEVICE); - scp->SCp.buffer = (struct scatterlist *)sense_paddr; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) + page = virt_to_page(scp->sense_buffer); + offset = (ulong)scp->sense_buffer & ~PAGE_MASK; + sense_paddr = pci_map_page(ha->pdev,page,offset, + 16,PCI_DMA_FROMDEVICE); + scp->SCp.buffer = (struct scatterlist *)((ulong32)sense_paddr); + /* high part, if 64bit */ + scp->host_scribble = (char *)(ulong32)((ulong64)sense_paddr >> 32); #else sense_paddr = virt_to_bus(scp->sense_buffer); #endif cmdp->OpCode = GDT_WRITE; /* always */ cmdp->BoardNode = LOCALBOARD; - cmdp->u.raw.reserved = 0; - cmdp->u.raw.mdisc_time = 0; - cmdp->u.raw.mcon_time = 0; - cmdp->u.raw.clen = scp->cmd_len; - cmdp->u.raw.target = t; - cmdp->u.raw.lun = l; - cmdp->u.raw.bus = b; - cmdp->u.raw.priority = 0; - cmdp->u.raw.link_p = 0; - cmdp->u.raw.sdlen = scp->request_bufflen; - cmdp->u.raw.sense_len = 16; - cmdp->u.raw.sense_data = sense_paddr; - cmdp->u.raw.direction = - gdth_direction_tab[scp->cmnd[0]]==DOU ? GDTH_DATA_OUT:GDTH_DATA_IN; - memcpy(cmdp->u.raw.cmd,scp->cmnd,12); + if (mode64) { + cmdp->u.raw64.reserved = 0; + cmdp->u.raw64.mdisc_time = 0; + cmdp->u.raw64.mcon_time = 0; + cmdp->u.raw64.clen = scp->cmd_len; + cmdp->u.raw64.target = t; + cmdp->u.raw64.lun = l; + cmdp->u.raw64.bus = b; + cmdp->u.raw64.priority = 0; + cmdp->u.raw64.sdlen = scp->request_bufflen; + cmdp->u.raw64.sense_len = 16; + cmdp->u.raw64.sense_data = sense_paddr; + cmdp->u.raw64.direction = + gdth_direction_tab[scp->cmnd[0]]==DOU ? GDTH_DATA_OUT:GDTH_DATA_IN; + memcpy(cmdp->u.raw64.cmd,scp->cmnd,16); + } else { + cmdp->u.raw.reserved = 0; + cmdp->u.raw.mdisc_time = 0; + cmdp->u.raw.mcon_time = 0; + cmdp->u.raw.clen = scp->cmd_len; + cmdp->u.raw.target = t; + cmdp->u.raw.lun = l; + cmdp->u.raw.bus = b; + cmdp->u.raw.priority = 0; + cmdp->u.raw.link_p = 0; + cmdp->u.raw.sdlen = scp->request_bufflen; + cmdp->u.raw.sense_len = 16; + cmdp->u.raw.sense_data = sense_paddr; + cmdp->u.raw.direction = + gdth_direction_tab[scp->cmnd[0]]==DOU ? GDTH_DATA_OUT:GDTH_DATA_IN; + memcpy(cmdp->u.raw.cmd,scp->cmnd,12); + } if (scp->use_sg) { - cmdp->u.raw.sdata = 0xffffffff; sl = (struct scatterlist *)scp->request_buffer; sgcnt = scp->use_sg; -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) scp->SCp.Status = GDTH_MAP_SG; scp->SCp.Message = PCI_DMA_BIDIRECTIONAL; sgcnt = pci_map_sg(ha->pdev,sl,scp->use_sg,scp->SCp.Message); - for (i=0; iu.raw.sg_lst[i].sg_ptr = sg_dma_address(sl); - cmdp->u.raw.sg_lst[i].sg_len = sg_dma_len(sl); + if (mode64) { + cmdp->u.raw64.sdata = (ulong64)-1; + cmdp->u.raw64.sg_ranz = sgcnt; + for (i=0; iu.raw64.sg_lst[i].sg_ptr = sg_dma_address(sl); +#ifdef GDTH_DMA_STATISTICS + if (cmdp->u.raw64.sg_lst[i].sg_ptr > (ulong64)0xffffffff) + ha->dma64_cnt++; + else + ha->dma32_cnt++; +#endif + cmdp->u.raw64.sg_lst[i].sg_len = sg_dma_len(sl); + } + } else { + cmdp->u.raw.sdata = 0xffffffff; + cmdp->u.raw.sg_ranz = sgcnt; + for (i=0; iu.raw.sg_lst[i].sg_ptr = sg_dma_address(sl); +#ifdef GDTH_DMA_STATISTICS + ha->dma32_cnt++; +#endif + cmdp->u.raw.sg_lst[i].sg_len = sg_dma_len(sl); + } } #else - for (i=0; iu.raw.sg_lst[i].sg_ptr = virt_to_bus(sl->address); - cmdp->u.raw.sg_lst[i].sg_len = (ulong32)sl->length; + if (mode64) { + cmdp->u.raw64.sdata = (ulong64)-1; + cmdp->u.raw64.sg_ranz = sgcnt; + for (i=0; iu.raw64.sg_lst[i].sg_ptr = virt_to_bus(sl->address); + cmdp->u.raw64.sg_lst[i].sg_len = (ulong32)sl->length; + } + } else { + cmdp->u.raw.sdata = 0xffffffff; + cmdp->u.raw.sg_ranz = sgcnt; + for (i=0; iu.raw.sg_lst[i].sg_ptr = virt_to_bus(sl->address); + cmdp->u.raw.sg_lst[i].sg_len = (ulong32)sl->length; + } } #endif - cmdp->u.raw.sg_ranz = (ulong32)i; #ifdef GDTH_STATISTICS - if (max_sg < (ulong32)i) { - max_sg = (ulong32)i; - TRACE3(("GDT: max_sg = %d\n",i)); + if (max_sg < sgcnt) { + max_sg = sgcnt; + TRACE3(("GDT: max_sg = %d\n",sgcnt)); } #endif - if (iu.raw.sg_lst[i].sg_len = 0; + } else { -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) scp->SCp.Status = GDTH_MAP_SINGLE; scp->SCp.Message = PCI_DMA_BIDIRECTIONAL; - phys_addr = pci_map_single(ha->pdev,scp->request_buffer, - scp->request_bufflen,scp->SCp.Message); + page = virt_to_page(scp->request_buffer); + offset = (ulong)scp->request_buffer & ~PAGE_MASK; + phys_addr = pci_map_page(ha->pdev,page,offset, + scp->request_bufflen,scp->SCp.Message); scp->SCp.dma_handle = phys_addr; #else phys_addr = virt_to_bus(scp->request_buffer); #endif - if (ha->raw_feat & SCATTER_GATHER) { - cmdp->u.raw.sdata = 0xffffffff; - cmdp->u.raw.sg_ranz= 1; - cmdp->u.raw.sg_lst[0].sg_ptr = phys_addr; - cmdp->u.raw.sg_lst[0].sg_len = scp->request_bufflen; - cmdp->u.raw.sg_lst[1].sg_len = 0; + if (mode64) { + if (ha->raw_feat & SCATTER_GATHER) { + cmdp->u.raw64.sdata = (ulong64)-1; + cmdp->u.raw64.sg_ranz= 1; + cmdp->u.raw64.sg_lst[0].sg_ptr = phys_addr; + cmdp->u.raw64.sg_lst[0].sg_len = scp->request_bufflen; + cmdp->u.raw64.sg_lst[1].sg_len = 0; + } else { + cmdp->u.raw64.sdata = phys_addr; + cmdp->u.raw64.sg_ranz= 0; + } } else { - cmdp->u.raw.sdata = phys_addr; - cmdp->u.raw.sg_ranz= 0; + if (ha->raw_feat & SCATTER_GATHER) { + cmdp->u.raw.sdata = 0xffffffff; + cmdp->u.raw.sg_ranz= 1; + cmdp->u.raw.sg_lst[0].sg_ptr = phys_addr; + cmdp->u.raw.sg_lst[0].sg_len = scp->request_bufflen; + cmdp->u.raw.sg_lst[1].sg_len = 0; + } else { + cmdp->u.raw.sdata = phys_addr; + cmdp->u.raw.sg_ranz= 0; + } } } - TRACE(("raw cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", - cmdp->u.raw.sdata,cmdp->u.raw.sg_ranz, - cmdp->u.raw.sg_lst[0].sg_ptr, - cmdp->u.raw.sg_lst[0].sg_len)); - - /* evaluate command size */ - ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst) + - (ushort)cmdp->u.raw.sg_ranz * sizeof(gdth_sg_str); + if (mode64) { + TRACE(("raw cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", + cmdp->u.raw64.sdata,cmdp->u.raw64.sg_ranz, + cmdp->u.raw64.sg_lst[0].sg_ptr, + cmdp->u.raw64.sg_lst[0].sg_len)); + /* evaluate command size */ + ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw64.sg_lst) + + (ushort)cmdp->u.raw64.sg_ranz * sizeof(gdth_sg64_str); + } else { + TRACE(("raw cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", + cmdp->u.raw.sdata,cmdp->u.raw.sg_ranz, + cmdp->u.raw.sg_lst[0].sg_ptr, + cmdp->u.raw.sg_lst[0].sg_len)); + /* evaluate command size */ + ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst) + + (ushort)cmdp->u.raw.sg_ranz * sizeof(gdth_sg_str); + } } /* check space */ if (ha->cmd_len & 3) @@ -3215,15 +3372,23 @@ if (cmdp->OpCode == GDT_IOCTL) { TRACE2(("IOCTL\n")); ha->cmd_len = - GDTOFFSOF(gdth_cmd_str,u.ioctl.p_param) + sizeof(ulong32); + GDTOFFSOF(gdth_cmd_str,u.ioctl.p_param) + sizeof(ulong64); } else if (cmdp->Service == CACHESERVICE) { TRACE2(("cache command %d\n",cmdp->OpCode)); - ha->cmd_len = - GDTOFFSOF(gdth_cmd_str,u.cache.sg_lst) + sizeof(gdth_sg_str); + if (ha->cache_feat & GDT_64BIT) + ha->cmd_len = + GDTOFFSOF(gdth_cmd_str,u.cache64.sg_lst) + sizeof(gdth_sg64_str); + else + ha->cmd_len = + GDTOFFSOF(gdth_cmd_str,u.cache.sg_lst) + sizeof(gdth_sg_str); } else if (cmdp->Service == SCSIRAWSERVICE) { - TRACE2(("raw command %d/%d\n",cmdp->OpCode,cmdp->u.raw.cmd[0])); - ha->cmd_len = - GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst) + sizeof(gdth_sg_str); + TRACE2(("raw command %d\n",cmdp->OpCode)); + if (ha->raw_feat & GDT_64BIT) + ha->cmd_len = + GDTOFFSOF(gdth_cmd_str,u.raw64.sg_lst) + sizeof(gdth_sg64_str); + else + ha->cmd_len = + GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst) + sizeof(gdth_sg_str); } if (ha->cmd_len & 3) @@ -3366,10 +3531,14 @@ /* SCSI interface functions */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) static irqreturn_t gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) +#else +static void gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) +#endif { register gdth_ha_str *ha; - gdt6m_dpram_str *dp6m_ptr; + gdt6m_dpram_str *dp6m_ptr = NULL; gdt6_dpram_str *dp6_ptr; gdt2_dpram_str *dp2_ptr; Scsi_Cmnd *scp; @@ -3377,13 +3546,23 @@ unchar IStatus; ushort Service; ulong flags = 0; +#ifdef INT_COAL + int coalesced = FALSE; + int next = FALSE; + gdth_coal_status *pcs = NULL; + int act_int_coal = 0; +#endif TRACE(("gdth_interrupt() IRQ %d\n",irq)); /* if polling and not from gdth_wait() -> return */ if (gdth_polling) { if (!gdth_from_wait) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) return IRQ_HANDLED; +#else + return; +#endif } } @@ -3396,174 +3575,261 @@ /* spurious interrupt */ if (!gdth_polling) GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); - return IRQ_HANDLED; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + return IRQ_HANDLED; +#else + return; +#endif } + ha = HADATA(gdth_ctr_tab[hanum]); #ifdef GDTH_STATISTICS ++act_ints; #endif - - ha = HADATA(gdth_ctr_tab[hanum]); - if (ha->type == GDT_EISA) { - if (IStatus & 0x80) { /* error flag */ - IStatus &= ~0x80; - ha->status = inw(ha->bmic + MAILBOXREG+8); - TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); - } else /* no error */ - ha->status = S_OK; - ha->info = inl(ha->bmic + MAILBOXREG+12); - ha->service = inw(ha->bmic + MAILBOXREG+10); - ha->info2 = inl(ha->bmic + MAILBOXREG+4); - outb(0xff, ha->bmic + EDOORREG); /* acknowledge interrupt */ - outb(0x00, ha->bmic + SEMA1REG); /* reset status semaphore */ - } else if (ha->type == GDT_ISA) { - dp2_ptr = (gdt2_dpram_str *)ha->brd; - if (IStatus & 0x80) { /* error flag */ - IStatus &= ~0x80; - ha->status = gdth_readw(&dp2_ptr->u.ic.Status); - TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); - } else /* no error */ - ha->status = S_OK; - ha->info = gdth_readl(&dp2_ptr->u.ic.Info[0]); - ha->service = gdth_readw(&dp2_ptr->u.ic.Service); - ha->info2 = gdth_readl(&dp2_ptr->u.ic.Info[1]); - - gdth_writeb(0xff, &dp2_ptr->io.irqdel); /* acknowledge interrupt */ - gdth_writeb(0, &dp2_ptr->u.ic.Cmd_Index); /* reset command index */ - gdth_writeb(0, &dp2_ptr->io.Sema1); /* reset status semaphore */ - } else if (ha->type == GDT_PCI) { - dp6_ptr = (gdt6_dpram_str *)ha->brd; - if (IStatus & 0x80) { /* error flag */ - IStatus &= ~0x80; - ha->status = gdth_readw(&dp6_ptr->u.ic.Status); - TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); - } else /* no error */ - ha->status = S_OK; - ha->info = gdth_readl(&dp6_ptr->u.ic.Info[0]); - ha->service = gdth_readw(&dp6_ptr->u.ic.Service); - ha->info2 = gdth_readl(&dp6_ptr->u.ic.Info[1]); - - gdth_writeb(0xff, &dp6_ptr->io.irqdel); /* acknowledge interrupt */ - gdth_writeb(0, &dp6_ptr->u.ic.Cmd_Index); /* reset command index */ - gdth_writeb(0, &dp6_ptr->io.Sema1); /* reset status semaphore */ - } else if (ha->type == GDT_PCINEW) { - if (IStatus & 0x80) { /* error flag */ - IStatus &= ~0x80; - ha->status = inw(PTR2USHORT(&ha->plx->status)); - TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); - } else - ha->status = S_OK; - ha->info = inl(PTR2USHORT(&ha->plx->info[0])); - ha->service = inw(PTR2USHORT(&ha->plx->service)); - ha->info2 = inl(PTR2USHORT(&ha->plx->info[1])); - - outb(0xff, PTR2USHORT(&ha->plx->edoor_reg)); - outb(0x00, PTR2USHORT(&ha->plx->sema1_reg)); - } else if (ha->type == GDT_PCIMPR) { - dp6m_ptr = (gdt6m_dpram_str *)ha->brd; - if (IStatus & 0x80) { /* error flag */ - IStatus &= ~0x80; - ha->status = gdth_readw(&dp6m_ptr->i960r.status); - TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); - } else /* no error */ - ha->status = S_OK; - ha->info = gdth_readl(&dp6m_ptr->i960r.info[0]); - ha->service = gdth_readw(&dp6m_ptr->i960r.service); - ha->info2 = gdth_readl(&dp6m_ptr->i960r.info[1]); +#ifdef INT_COAL + /* See if the fw is returning coalesced status */ + if (IStatus == COALINDEX) { + /* Coalesced status. Setup the initial status + buffer pointer and flags */ + pcs = ha->coal_stat; + coalesced = TRUE; + next = TRUE; + } - /* event string */ - if (IStatus == ASYNCINDEX) { - if (ha->service != SCREENSERVICE && - (ha->fw_vers & 0xff) >= 0x1a) { - ha->dvr.severity = - gdth_readb(&((gdt6m_dpram_str *)ha->brd)->i960r.severity); - for (i = 0; i < 256; ++i) { - ha->dvr.event_string[i] = gdth_readb - (&((gdt6m_dpram_str *)ha->brd)->i960r.evt_str[i]); - if (ha->dvr.event_string[i] == 0) - break; + do { + if (coalesced) { + /* For coalesced requests all status + information is found in the status buffer */ + IStatus = (unchar)(pcs->status & 0xff); + } +#endif + + if (ha->type == GDT_EISA) { + if (IStatus & 0x80) { /* error flag */ + IStatus &= ~0x80; + ha->status = inw(ha->bmic + MAILBOXREG+8); + TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); + } else /* no error */ + ha->status = S_OK; + ha->info = inl(ha->bmic + MAILBOXREG+12); + ha->service = inw(ha->bmic + MAILBOXREG+10); + ha->info2 = inl(ha->bmic + MAILBOXREG+4); + + outb(0xff, ha->bmic + EDOORREG); /* acknowledge interrupt */ + outb(0x00, ha->bmic + SEMA1REG); /* reset status semaphore */ + } else if (ha->type == GDT_ISA) { + dp2_ptr = (gdt2_dpram_str *)ha->brd; + if (IStatus & 0x80) { /* error flag */ + IStatus &= ~0x80; + ha->status = gdth_readw(&dp2_ptr->u.ic.Status); + TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); + } else /* no error */ + ha->status = S_OK; + ha->info = gdth_readl(&dp2_ptr->u.ic.Info[0]); + ha->service = gdth_readw(&dp2_ptr->u.ic.Service); + ha->info2 = gdth_readl(&dp2_ptr->u.ic.Info[1]); + + gdth_writeb(0xff, &dp2_ptr->io.irqdel); /* acknowledge interrupt */ + gdth_writeb(0, &dp2_ptr->u.ic.Cmd_Index);/* reset command index */ + gdth_writeb(0, &dp2_ptr->io.Sema1); /* reset status semaphore */ + } else if (ha->type == GDT_PCI) { + dp6_ptr = (gdt6_dpram_str *)ha->brd; + if (IStatus & 0x80) { /* error flag */ + IStatus &= ~0x80; + ha->status = gdth_readw(&dp6_ptr->u.ic.Status); + TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); + } else /* no error */ + ha->status = S_OK; + ha->info = gdth_readl(&dp6_ptr->u.ic.Info[0]); + ha->service = gdth_readw(&dp6_ptr->u.ic.Service); + ha->info2 = gdth_readl(&dp6_ptr->u.ic.Info[1]); + + gdth_writeb(0xff, &dp6_ptr->io.irqdel); /* acknowledge interrupt */ + gdth_writeb(0, &dp6_ptr->u.ic.Cmd_Index);/* reset command index */ + gdth_writeb(0, &dp6_ptr->io.Sema1); /* reset status semaphore */ + } else if (ha->type == GDT_PCINEW) { + if (IStatus & 0x80) { /* error flag */ + IStatus &= ~0x80; + ha->status = inw(PTR2USHORT(&ha->plx->status)); + TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); + } else + ha->status = S_OK; + ha->info = inl(PTR2USHORT(&ha->plx->info[0])); + ha->service = inw(PTR2USHORT(&ha->plx->service)); + ha->info2 = inl(PTR2USHORT(&ha->plx->info[1])); + + outb(0xff, PTR2USHORT(&ha->plx->edoor_reg)); + outb(0x00, PTR2USHORT(&ha->plx->sema1_reg)); + } else if (ha->type == GDT_PCIMPR) { + dp6m_ptr = (gdt6m_dpram_str *)ha->brd; + if (IStatus & 0x80) { /* error flag */ + IStatus &= ~0x80; +#ifdef INT_COAL + if (coalesced) + ha->status = pcs->ext_status && 0xffff; + else +#endif + ha->status = gdth_readw(&dp6m_ptr->i960r.status); + TRACE2(("gdth_interrupt() error %d/%d\n",IStatus,ha->status)); + } else /* no error */ + ha->status = S_OK; +#ifdef INT_COAL + /* get information */ + if (coalesced) { + ha->info = pcs->info0; + ha->info2 = pcs->info1; + ha->service = (pcs->ext_status >> 16) && 0xffff; + } else +#endif + { + ha->info = gdth_readl(&dp6m_ptr->i960r.info[0]); + ha->service = gdth_readw(&dp6m_ptr->i960r.service); + ha->info2 = gdth_readl(&dp6m_ptr->i960r.info[1]); + } + /* event string */ + if (IStatus == ASYNCINDEX) { + if (ha->service != SCREENSERVICE && + (ha->fw_vers & 0xff) >= 0x1a) { + ha->dvr.severity = gdth_readb + (&((gdt6m_dpram_str *)ha->brd)->i960r.severity); + for (i = 0; i < 256; ++i) { + ha->dvr.event_string[i] = gdth_readb + (&((gdt6m_dpram_str *)ha->brd)->i960r.evt_str[i]); + if (ha->dvr.event_string[i] == 0) + break; + } } } +#ifdef INT_COAL + /* Make sure that non coalesced interrupts get cleared + before being handled by gdth_async_event/gdth_sync_event */ + if (!coalesced) +#endif + { + gdth_writeb(0xff, &dp6m_ptr->i960r.edoor_reg); + gdth_writeb(0, &dp6m_ptr->i960r.sema1_reg); + } + } else { + TRACE2(("gdth_interrupt() unknown controller type\n")); + if (!gdth_polling) + GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + return IRQ_HANDLED; +#else + return; +#endif } - gdth_writeb(0xff, &dp6m_ptr->i960r.edoor_reg); - gdth_writeb(0, &dp6m_ptr->i960r.sema1_reg); - } else { - TRACE2(("gdth_interrupt() unknown controller type\n")); - if (!gdth_polling) - GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); - return IRQ_HANDLED; - } - TRACE(("gdth_interrupt() index %d stat %d info %d\n", - IStatus,ha->status,ha->info)); + TRACE(("gdth_interrupt() index %d stat %d info %d\n", + IStatus,ha->status,ha->info)); - if (gdth_from_wait) { - wait_hanum = hanum; - wait_index = (int)IStatus; - } + if (gdth_from_wait) { + wait_hanum = hanum; + wait_index = (int)IStatus; + } - if (IStatus == ASYNCINDEX) { - TRACE2(("gdth_interrupt() async. event\n")); - gdth_async_event(hanum); - if (!gdth_polling) - GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); - gdth_next(hanum); - return IRQ_HANDLED; - } + if (IStatus == ASYNCINDEX) { + TRACE2(("gdth_interrupt() async. event\n")); + gdth_async_event(hanum); + if (!gdth_polling) + GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); + gdth_next(hanum); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + return IRQ_HANDLED; +#else + return; +#endif + } - if (IStatus == SPEZINDEX) { - TRACE2(("Service unknown or not initialized !\n")); - ha->dvr.size = sizeof(ha->dvr.eu.driver); - ha->dvr.eu.driver.ionode = hanum; - gdth_store_event(ha, ES_DRIVER, 4, &ha->dvr); - if (!gdth_polling) - GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); - return IRQ_HANDLED; - } - scp = ha->cmd_tab[IStatus-2].cmnd; - Service = ha->cmd_tab[IStatus-2].service; - ha->cmd_tab[IStatus-2].cmnd = UNUSED_CMND; - if (scp == UNUSED_CMND) { - TRACE2(("gdth_interrupt() index to unused command (%d)\n",IStatus)); - ha->dvr.size = sizeof(ha->dvr.eu.driver); - ha->dvr.eu.driver.ionode = hanum; - ha->dvr.eu.driver.index = IStatus; - gdth_store_event(ha, ES_DRIVER, 1, &ha->dvr); - if (!gdth_polling) - GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); - return IRQ_HANDLED; - } - if (scp == INTERNAL_CMND) { - TRACE(("gdth_interrupt() answer to internal command\n")); + if (IStatus == SPEZINDEX) { + TRACE2(("Service unknown or not initialized !\n")); + ha->dvr.size = sizeof(ha->dvr.eu.driver); + ha->dvr.eu.driver.ionode = hanum; + gdth_store_event(ha, ES_DRIVER, 4, &ha->dvr); + if (!gdth_polling) + GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + return IRQ_HANDLED; +#else + return; +#endif + } + scp = ha->cmd_tab[IStatus-2].cmnd; + Service = ha->cmd_tab[IStatus-2].service; + ha->cmd_tab[IStatus-2].cmnd = UNUSED_CMND; + if (scp == UNUSED_CMND) { + TRACE2(("gdth_interrupt() index to unused command (%d)\n",IStatus)); + ha->dvr.size = sizeof(ha->dvr.eu.driver); + ha->dvr.eu.driver.ionode = hanum; + ha->dvr.eu.driver.index = IStatus; + gdth_store_event(ha, ES_DRIVER, 1, &ha->dvr); + if (!gdth_polling) + GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + return IRQ_HANDLED; +#else + return; +#endif + } + if (scp == INTERNAL_CMND) { + TRACE(("gdth_interrupt() answer to internal command\n")); + if (!gdth_polling) + GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + return IRQ_HANDLED; +#else + return; +#endif + } + + TRACE(("gdth_interrupt() sync. status\n")); + rval = gdth_sync_event(hanum,Service,IStatus,scp); if (!gdth_polling) GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); - return IRQ_HANDLED; - } - - TRACE(("gdth_interrupt() sync. status\n")); - rval = gdth_sync_event(hanum,Service,IStatus,scp); - if (!gdth_polling) - GDTH_UNLOCK_HA((gdth_ha_str *)dev_id,flags); - if (rval == 2) { - gdth_putq(hanum,scp,scp->SCp.this_residual); - } else if (rval == 1) { -#if LINUX_VERSION_CODE >= 0x02053C - GDTH_LOCK_SCSI_DONE(scp->device->host, flags); - scp->scsi_done(scp); - GDTH_UNLOCK_SCSI_DONE(scp->device->host, flags); -#elif LINUX_VERSION_CODE >= 0x020503 - GDTH_LOCK_SCSI_DONE(scp->host, flags); - scp->scsi_done(scp); - GDTH_UNLOCK_SCSI_DONE(scp->host, flags); -#else - GDTH_LOCK_SCSI_DONE(flags); - scp->scsi_done(scp); - GDTH_UNLOCK_SCSI_DONE(flags); + if (rval == 2) { + gdth_putq(hanum,scp,scp->SCp.this_residual); + } else if (rval == 1) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + GDTH_LOCK_SCSI_DONE(scp->device->host, flags); + scp->scsi_done(scp); + GDTH_UNLOCK_SCSI_DONE(scp->device->host, flags); +#else + GDTH_LOCK_SCSI_DONE(flags); + scp->scsi_done(scp); + GDTH_UNLOCK_SCSI_DONE(flags); #endif + } + +#ifdef INT_COAL + if (coalesced) { + /* go to the next status in the status buffer */ + ++pcs; +#ifdef GDTH_STATISTICS + ++act_int_coal; + if (act_int_coal > max_int_coal) { + max_int_coal = act_int_coal; + printk("GDT: max_int_coal = %d\n",(ushort)max_int_coal); + } +#endif + /* see if there is another status */ + if (pcs->status == 0) + /* Stop the coalesce loop */ + next = FALSE; + } + } while (next); + + /* coalescing only for new GDT_PCIMPR controllers available */ + if (ha->type == GDT_PCIMPR && coalesced) { + gdth_writeb(0xff, &dp6m_ptr->i960r.edoor_reg); + gdth_writeb(0, &dp6m_ptr->i960r.sema1_reg); } +#endif + gdth_next(hanum); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) return IRQ_HANDLED; +#endif } static int gdth_sync_event(int hanum,int service,unchar index,Scsi_Cmnd *scp) @@ -3579,10 +3845,11 @@ service,ha->status)); if (service == SCREENSERVICE) { - msg = (gdth_msg_str *)ha->pscratch; - ha->scratch_busy = FALSE; + msg = ha->pmsg; TRACE(("len: %d, answer: %d, ext: %d, alen: %d\n", msg->msg_len,msg->msg_answer,msg->msg_ext,msg->msg_alen)); + if (msg->msg_len > MSGLEN+1) + msg->msg_len = MSGLEN+1; if (msg->msg_len) if (!(msg->msg_answer && msg->msg_ext)) { msg->msg_text[msg->msg_len] = '\0'; @@ -3600,11 +3867,10 @@ cmdp->BoardNode = LOCALBOARD; cmdp->u.screen.reserved = 0; cmdp->u.screen.su.msg.msg_handle= msg->msg_handle; - cmdp->u.screen.su.msg.msg_addr = ha->scratch_phys; - ha->scratch_busy = TRUE; + cmdp->u.screen.su.msg.msg_addr = ha->msg_phys; ha->cmd_offs_dpmem = 0; ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr) - + sizeof(ulong32); + + sizeof(ulong64); ha->cmd_cnt = 0; gdth_copy_command(hanum); gdth_release_event(hanum); @@ -3635,11 +3901,10 @@ cmdp->BoardNode = LOCALBOARD; cmdp->u.screen.reserved = 0; cmdp->u.screen.su.msg.msg_handle= msg->msg_handle; - cmdp->u.screen.su.msg.msg_addr = ha->scratch_phys; - ha->scratch_busy = TRUE; + cmdp->u.screen.su.msg.msg_addr = ha->msg_phys; ha->cmd_offs_dpmem = 0; ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr) - + sizeof(ulong32); + + sizeof(ulong64); ha->cmd_cnt = 0; gdth_copy_command(hanum); gdth_release_event(hanum); @@ -3648,7 +3913,7 @@ printk("\n"); } else { -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) b = virt_ctr ? NUMDATA(scp->device->host)->busnum : scp->device->channel; t = scp->device->id; #else @@ -3666,16 +3931,20 @@ /* retry */ return 2; } -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13) if (scp->SCp.Status == GDTH_MAP_SG) pci_unmap_sg(ha->pdev,scp->request_buffer, scp->use_sg,scp->SCp.Message); else if (scp->SCp.Status == GDTH_MAP_SINGLE) - pci_unmap_single(ha->pdev,scp->SCp.dma_handle, - scp->request_bufflen,scp->SCp.Message); - if (scp->SCp.buffer) - pci_unmap_single(ha->pdev,(dma_addr_t)scp->SCp.buffer, - 16,PCI_DMA_FROMDEVICE); + pci_unmap_page(ha->pdev,scp->SCp.dma_handle, + scp->request_bufflen,scp->SCp.Message); + if (scp->SCp.buffer) { + dma_addr_t addr; + addr = (dma_addr_t)(ulong32)scp->SCp.buffer; + if (scp->host_scribble) + addr += (dma_addr_t)((ulong64)(ulong32)scp->host_scribble << 32); + pci_unmap_page(ha->pdev,addr,16,PCI_DMA_FROMDEVICE); + } #endif if (ha->status == S_OK) { scp->SCp.Status = S_OK; @@ -3754,10 +4023,7 @@ scp->sense_buffer[2] = NOT_READY; scp->result = (DID_OK << 16) | (CHECK_CONDITION << 1); } -#if LINUX_VERSION_CODE >= 0x010300 - if (scp->done != gdth_scsi_done) -#endif - { + if (scp->done != gdth_scsi_done) { ha->dvr.size = sizeof(ha->dvr.eu.sync); ha->dvr.eu.sync.ionode = hanum; ha->dvr.eu.sync.service = service; @@ -3946,13 +4212,11 @@ static int gdth_async_event(int hanum) { gdth_ha_str *ha; - gdth_msg_str *msg; gdth_cmd_str *cmdp; int cmd_index; ha = HADATA(gdth_ctr_tab[hanum]); cmdp= ha->pccb; - msg = (gdth_msg_str *)ha->pscratch; TRACE2(("gdth_async_event() ha %d serv %d\n", hanum,ha->service)); @@ -3968,11 +4232,10 @@ cmdp->BoardNode = LOCALBOARD; cmdp->u.screen.reserved = 0; cmdp->u.screen.su.msg.msg_handle= MSG_INV_HANDLE; - cmdp->u.screen.su.msg.msg_addr = ha->scratch_phys; - ha->scratch_busy = TRUE; + cmdp->u.screen.su.msg.msg_addr = ha->msg_phys; ha->cmd_offs_dpmem = 0; ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr) - + sizeof(ulong32); + + sizeof(ulong64); ha->cmd_cnt = 0; gdth_copy_command(hanum); if (ha->type == GDT_EISA) @@ -4192,10 +4455,11 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp)) { struct Scsi_Host *shp; + gdth_pci_str pcistr[MAXHA]; gdth_ha_str *ha; ulong32 isa_bios; ushort eisa_slot; - int i,hanum,cnt,ctr; + int i,hanum,cnt,ctr,err; unchar b; @@ -4218,11 +4482,11 @@ TRACE(("gdth_detect()\n")); if (disable) { - printk("GDT: Controller driver disabled from command line !\n"); + printk("GDT-HA: Controller driver disabled from command line !\n"); return 0; } - printk("GDT: Storage RAID Controller Driver. Version: %s \n",GDTH_VERSION_STR); + printk("GDT-HA: Storage RAID Controller Driver. Version: %s \n",GDTH_VERSION_STR); /* initializations */ gdth_polling = TRUE; b = 0; gdth_clear_events(); @@ -4232,6 +4496,7 @@ /* scanning for controllers, at first: ISA controller */ for (isa_bios=0xc8000UL; isa_bios<=0xd8000UL; isa_bios+=0x8000UL) { dma_addr_t scratch_dma_handle; + scratch_dma_handle = 0; if (gdth_ctr_count >= MAXHA) break; @@ -4252,23 +4517,14 @@ printk("Configuring GDT-ISA HA at BIOS 0x%05X IRQ %u DRQ %u\n", isa_bios,ha->irq,ha->drq); -#if LINUX_VERSION_CODE >= 0x010346 - if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) -#else - if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth")) -#endif - { + if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) { printk("GDT-ISA: Unable to allocate IRQ\n"); scsi_unregister(shp); continue; } if (request_dma(ha->drq,"gdth")) { printk("GDT-ISA: Unable to allocate DMA channel\n"); -#if LINUX_VERSION_CODE >= 0x010346 free_irq(ha->irq,ha); -#else - free_irq(ha->irq); -#endif scsi_unregister(shp); continue; } @@ -4286,15 +4542,34 @@ ha->pccb = CMDDATA(shp); ha->ccb_phys = 0L; -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) ha->pdev = NULL; ha->pscratch = pci_alloc_consistent(ha->pdev, GDTH_SCRATCH, &scratch_dma_handle); - ha->scratch_phys = (ulong32)scratch_dma_handle; + ha->scratch_phys = scratch_dma_handle; + ha->pmsg = pci_alloc_consistent(ha->pdev, sizeof(gdth_msg_str), + &scratch_dma_handle); + ha->msg_phys = scratch_dma_handle; +#ifdef INT_COAL + ha->coal_stat = (gdth_coal_status *) + pci_alloc_consistent(ha->pdev, sizeof(gdth_coal_status) * + MAXOFFSETS, &scratch_dma_handle); + ha->coal_stat_phys = scratch_dma_handle; +#endif #else ha->pscratch = scsi_init_malloc(GDTH_SCRATCH, GFP_ATOMIC | GFP_DMA); if (ha->pscratch) ha->scratch_phys = virt_to_bus(ha->pscratch); + ha->pmsg = scsi_init_malloc(sizeof(gdth_msg_str), GFP_ATOMIC | GFP_DMA); + if (ha->pmsg) + ha->msg_phys = virt_to_bus(ha->pmsg); +#ifdef INT_COAL + ha->coal_stat = + scsi_init_malloc(sizeof(gdth_coal_status) * MAXOFFSETS, + GFP_ATOMIC | GFP_DMA); + if (ha->coal_stat) + ha->coal_stat_phys = virt_to_bus(ha->coal_stat); +#endif #endif ha->scratch_busy = FALSE; ha->req_first = NULL; @@ -4305,23 +4580,36 @@ ha->cmd_tab[i].cmnd = UNUSED_CMND; ha->scan_mode = rescan ? 0x10 : 0; - if (ha->pscratch == NULL || !gdth_search_drives(hanum)) { + if (ha->pscratch == NULL || ha->pmsg == NULL || + !gdth_search_drives(hanum)) { printk("GDT-ISA: Error during device scan\n"); --gdth_ctr_count; --gdth_ctr_vcount; - if (ha->pscratch != NULL) { -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#ifdef INT_COAL + if (ha->coal_stat) + pci_free_consistent(ha->pdev, sizeof(gdth_coal_status) * + MAXOFFSETS, ha->coal_stat, + ha->coal_stat_phys); +#endif + if (ha->pscratch) pci_free_consistent(ha->pdev, GDTH_SCRATCH, ha->pscratch, ha->scratch_phys); -#else + if (ha->pmsg) + pci_free_consistent(ha->pdev, sizeof(gdth_msg_str), + ha->pmsg, ha->msg_phys); +#else +#ifdef INT_COAL + if (ha->coal_stat) + scsi_init_free((void *)ha->coal_stat, + sizeof(gdth_coal_status) * MAXOFFSETS); +#endif + if (ha->pscratch) scsi_init_free((void *)ha->pscratch, GDTH_SCRATCH); + if (ha->pmsg) + scsi_init_free((void *)ha->pmsg, sizeof(gdth_msg_str)); #endif - } -#if LINUX_VERSION_CODE >= 0x010346 free_irq(ha->irq,ha); -#else - free_irq(ha->irq); -#endif scsi_unregister(shp); continue; } @@ -4329,13 +4617,18 @@ hdr_channel = ha->bus_cnt; ha->virt_bus = hdr_channel; -#if LINUX_VERSION_CODE >= 0x020000 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) && \ + LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) + shp->highmem_io = 0; +#endif + if (ha->cache_feat & ha->raw_feat & ha->screen_feat & GDT_64BIT) + shp->max_cmd_len = 16; +#endif shp->max_id = ha->tid_cnt; shp->max_lun = MAXLUN; shp->max_channel = virt_ctr ? 0 : ha->bus_cnt; - if (virt_ctr) -#endif - { + if (virt_ctr) { virt_ctr = 1; /* register addit. SCSI channels as virtual controllers */ for (b = 1; b < ha->bus_cnt + 1; ++b) { @@ -4358,6 +4651,7 @@ /* scanning for EISA controllers */ for (eisa_slot=0x1000; eisa_slot<=0x8000; eisa_slot+=0x1000) { dma_addr_t scratch_dma_handle; + scratch_dma_handle = 0; if (gdth_ctr_count >= MAXHA) break; @@ -4373,14 +4667,9 @@ } /* controller found and initialized */ printk("Configuring GDT-EISA HA at Slot %d IRQ %u\n", - eisa_slot>>12,ha->irq); + eisa_slot>>12,ha->irq); -#if LINUX_VERSION_CODE >= 0x010346 - if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) -#else - if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth")) -#endif - { + if (request_irq(ha->irq,gdth_interrupt,SA_INTERRUPT,"gdth",ha)) { printk("GDT-EISA: Unable to allocate IRQ\n"); scsi_unregister(shp); continue; @@ -4399,11 +4688,20 @@ ha->pccb = CMDDATA(shp); ha->ccb_phys = 0L; -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) ha->pdev = NULL; ha->pscratch = pci_alloc_consistent(ha->pdev, GDTH_SCRATCH, &scratch_dma_handle); - ha->scratch_phys = (ulong32) scratch_dma_handle; + ha->scratch_phys = scratch_dma_handle; + ha->pmsg = pci_alloc_consistent(ha->pdev, sizeof(gdth_msg_str), + &scratch_dma_handle); + ha->msg_phys = scratch_dma_handle; +#ifdef INT_COAL + ha->coal_stat = (gdth_coal_status *) + pci_alloc_consistent(ha->pdev, sizeof(gdth_coal_status) * + MAXOFFSETS, &scratch_dma_handle); + ha->coal_stat_phys = scratch_dma_handle; +#endif ha->ccb_phys = pci_map_single(ha->pdev,ha->pccb, sizeof(gdth_cmd_str),PCI_DMA_BIDIRECTIONAL); @@ -4411,6 +4709,16 @@ ha->pscratch = scsi_init_malloc(GDTH_SCRATCH, GFP_ATOMIC | GFP_DMA); if (ha->pscratch) ha->scratch_phys = virt_to_bus(ha->pscratch); + ha->pmsg = scsi_init_malloc(sizeof(gdth_msg_str), GFP_ATOMIC | GFP_DMA); + if (ha->pmsg) + ha->msg_phys = virt_to_bus(ha->pmsg); +#ifdef INT_COAL + ha->coal_stat = + scsi_init_malloc(sizeof(gdth_coal_status) * MAXOFFSETS, + GFP_ATOMIC | GFP_DMA); + if (ha->coal_stat) + ha->coal_stat_phys = virt_to_bus(ha->coal_stat); +#endif ha->ccb_phys = virt_to_bus(ha->pccb); #endif ha->scratch_busy = FALSE; @@ -4419,28 +4727,42 @@ if (max_ids > 0 && max_ids < ha->tid_cnt) ha->tid_cnt = max_ids; for (i=0; icmd_tab[i].cmnd = UNUSED_CMND; + ha->cmd_tab[i].cmnd = UNUSED_CMND; ha->scan_mode = rescan ? 0x10 : 0; - if (ha->pscratch == NULL || !gdth_search_drives(hanum)) { + if (ha->pscratch == NULL || ha->pmsg == NULL || + !gdth_search_drives(hanum)) { printk("GDT-EISA: Error during device scan\n"); --gdth_ctr_count; --gdth_ctr_vcount; - if (ha->pscratch != NULL) { -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#ifdef INT_COAL + if (ha->coal_stat) + pci_free_consistent(ha->pdev, sizeof(gdth_coal_status) * + MAXOFFSETS, ha->coal_stat, + ha->coal_stat_phys); +#endif + if (ha->pscratch) pci_free_consistent(ha->pdev, GDTH_SCRATCH, ha->pscratch, ha->scratch_phys); + if (ha->pmsg) + pci_free_consistent(ha->pdev, sizeof(gdth_msg_str), + ha->pmsg, ha->msg_phys); + if (ha->ccb_phys) pci_unmap_single(ha->pdev,ha->ccb_phys, - sizeof(gdth_cmd_str),PCI_DMA_BIDIRECTIONAL); + sizeof(gdth_cmd_str),PCI_DMA_BIDIRECTIONAL); #else +#ifdef INT_COAL + if (ha->coal_stat) + scsi_init_free((void *)ha->coal_stat, + sizeof(gdth_coal_status) * MAXOFFSETS); +#endif + if (ha->pscratch) scsi_init_free((void *)ha->pscratch, GDTH_SCRATCH); + if (ha->pmsg) + scsi_init_free((void *)ha->pmsg, sizeof(gdth_msg_str)); #endif - } -#if LINUX_VERSION_CODE >= 0x010346 free_irq(ha->irq,ha); -#else - free_irq(ha->irq); -#endif scsi_unregister(shp); continue; } @@ -4448,13 +4770,18 @@ hdr_channel = ha->bus_cnt; ha->virt_bus = hdr_channel; -#if LINUX_VERSION_CODE >= 0x020000 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) && \ + LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) + shp->highmem_io = 0; +#endif + if (ha->cache_feat & ha->raw_feat & ha->screen_feat & GDT_64BIT) + shp->max_cmd_len = 16; +#endif shp->max_id = ha->tid_cnt; shp->max_lun = MAXLUN; shp->max_channel = virt_ctr ? 0 : ha->bus_cnt; - if (virt_ctr) -#endif - { + if (virt_ctr) { virt_ctr = 1; /* register addit. SCSI channels as virtual controllers */ for (b = 1; b < ha->bus_cnt + 1; ++b) { @@ -4475,124 +4802,173 @@ } /* scanning for PCI controllers */ -#if LINUX_VERSION_CODE < 0x2015C - if (pcibios_present()) -#endif - { - gdth_pci_str pcistr[MAXHA]; + cnt = gdth_search_pci(pcistr); + printk("GDT-HA: Found %d PCI Storage RAID Controllers\n",cnt); + gdth_sort_pci(pcistr,cnt); + for (ctr = 0; ctr < cnt; ++ctr) { + dma_addr_t scratch_dma_handle; + scratch_dma_handle = 0; - cnt = gdth_search_pci(pcistr); - printk("GDT: Found %d PCI Storage RAID Controllers\n",cnt); - gdth_sort_pci(pcistr,cnt); - for (ctr = 0; ctr < cnt; ++ctr) { - dma_addr_t scratch_dma_handle; + if (gdth_ctr_count >= MAXHA) + break; + shp = scsi_register(shtp,sizeof(gdth_ext_str)); + if (shp == NULL) + continue; + + ha = HADATA(shp); + if (!gdth_init_pci(&pcistr[ctr],ha)) { + scsi_unregister(shp); + continue; + } + /* controller found and initialized */ + printk("Configuring GDT-PCI HA at %d/%d IRQ %u\n", + pcistr[ctr].bus,PCI_SLOT(pcistr[ctr].device_fn),ha->irq); - if (gdth_ctr_count >= MAXHA) - break; - shp = scsi_register(shtp,sizeof(gdth_ext_str)); - if (shp == NULL) - continue; - - ha = HADATA(shp); - if (!gdth_init_pci(&pcistr[ctr],ha)) { - scsi_unregister(shp); - continue; - } - /* controller found and initialized */ - printk("GDT CTR%d: Configuring GDT-PCI HA at %d/%d IRQ %u\n", - ctr,pcistr[ctr].bus,PCI_SLOT(pcistr[ctr].device_fn),ha->irq); - -#if LINUX_VERSION_CODE >= 0x010346 - if (request_irq(ha->irq, gdth_interrupt, - SA_INTERRUPT|SA_SHIRQ, "gdth", ha)) -#else - if (request_irq(ha->irq, gdth_interrupt, - SA_INTERRUPT|SA_SHIRQ, "gdth")) -#endif - { - printk("GDT-PCI: Unable to allocate IRQ\n"); - scsi_unregister(shp); - continue; - } - shp->unchecked_isa_dma = 0; - shp->irq = ha->irq; - shp->dma_channel = 0xff; - hanum = gdth_ctr_count; - gdth_ctr_tab[gdth_ctr_count++] = shp; - gdth_ctr_vtab[gdth_ctr_vcount++] = shp; - - NUMDATA(shp)->hanum = (ushort)hanum; - NUMDATA(shp)->busnum= 0; - - ha->pccb = CMDDATA(shp); - ha->ccb_phys = 0L; -#if LINUX_VERSION_CODE >= 0x020400 - ha->pscratch = pci_alloc_consistent(ha->pdev, GDTH_SCRATCH, - &scratch_dma_handle); - ha->scratch_phys = (ulong32)scratch_dma_handle; -#else - ha->pscratch = scsi_init_malloc(GDTH_SCRATCH, GFP_ATOMIC | GFP_DMA); - if (ha->pscratch) - ha->scratch_phys = virt_to_bus(ha->pscratch); -#endif - ha->scratch_busy = FALSE; - ha->req_first = NULL; - ha->tid_cnt = pcistr[ctr].device_id >= 0x200 ? MAXID : MAX_HDRIVES; - if (max_ids > 0 && max_ids < ha->tid_cnt) - ha->tid_cnt = max_ids; - for (i=0; icmd_tab[i].cmnd = UNUSED_CMND; - ha->scan_mode = rescan ? 0x10 : 0; - - if (ha->pscratch == NULL || !gdth_search_drives(hanum)) { - printk("GDT-PCI: Error during device scan\n"); - --gdth_ctr_count; - --gdth_ctr_vcount; - if (ha->pscratch != NULL) { -#if LINUX_VERSION_CODE >= 0x020400 - pci_free_consistent(ha->pdev, GDTH_SCRATCH, - ha->pscratch, ha->scratch_phys); -#else - scsi_init_free((void *)ha->pscratch, GDTH_SCRATCH); + if (request_irq(ha->irq, gdth_interrupt, + SA_INTERRUPT|SA_SHIRQ, "gdth", ha)) + { + printk("GDT-PCI: Unable to allocate IRQ\n"); + scsi_unregister(shp); + continue; + } + shp->unchecked_isa_dma = 0; + shp->irq = ha->irq; + shp->dma_channel = 0xff; + hanum = gdth_ctr_count; + gdth_ctr_tab[gdth_ctr_count++] = shp; + gdth_ctr_vtab[gdth_ctr_vcount++] = shp; + + NUMDATA(shp)->hanum = (ushort)hanum; + NUMDATA(shp)->busnum= 0; + + ha->pccb = CMDDATA(shp); + ha->ccb_phys = 0L; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + ha->pscratch = pci_alloc_consistent(ha->pdev, GDTH_SCRATCH, + &scratch_dma_handle); + ha->scratch_phys = scratch_dma_handle; + ha->pmsg = pci_alloc_consistent(ha->pdev, sizeof(gdth_msg_str), + &scratch_dma_handle); + ha->msg_phys = scratch_dma_handle; +#ifdef INT_COAL + ha->coal_stat = (gdth_coal_status *) + pci_alloc_consistent(ha->pdev, sizeof(gdth_coal_status) * + MAXOFFSETS, &scratch_dma_handle); + ha->coal_stat_phys = scratch_dma_handle; +#endif +#else + ha->pscratch = scsi_init_malloc(GDTH_SCRATCH, GFP_ATOMIC | GFP_DMA); + if (ha->pscratch) + ha->scratch_phys = virt_to_bus(ha->pscratch); + ha->pmsg = scsi_init_malloc(sizeof(gdth_msg_str), GFP_ATOMIC | GFP_DMA); + if (ha->pmsg) + ha->msg_phys = virt_to_bus(ha->pmsg); +#ifdef INT_COAL + ha->coal_stat = + scsi_init_malloc(sizeof(gdth_coal_status) * MAXOFFSETS, + GFP_ATOMIC | GFP_DMA); + if (ha->coal_stat) + ha->coal_stat_phys = virt_to_bus(ha->coal_stat); #endif - } -#if LINUX_VERSION_CODE >= 0x010346 - free_irq(ha->irq,ha); -#else - free_irq(ha->irq); #endif - scsi_unregister(shp); - continue; - } + ha->scratch_busy = FALSE; + ha->req_first = NULL; + ha->tid_cnt = pcistr[ctr].device_id >= 0x200 ? MAXID : MAX_HDRIVES; + if (max_ids > 0 && max_ids < ha->tid_cnt) + ha->tid_cnt = max_ids; + for (i=0; icmd_tab[i].cmnd = UNUSED_CMND; + ha->scan_mode = rescan ? 0x10 : 0; + + err = FALSE; + if (ha->pscratch == NULL || ha->pmsg == NULL || + !gdth_search_drives(hanum)) { + err = TRUE; + } else { if (hdr_channel < 0 || hdr_channel > ha->bus_cnt) hdr_channel = ha->bus_cnt; ha->virt_bus = hdr_channel; -#if LINUX_VERSION_CODE >= 0x020000 - shp->max_id = ha->tid_cnt; - shp->max_lun = MAXLUN; - shp->max_channel = virt_ctr ? 0 : ha->bus_cnt; - if (virt_ctr) -#endif - { - virt_ctr = 1; - /* register addit. SCSI channels as virtual controllers */ - for (b = 1; b < ha->bus_cnt + 1; ++b) { - shp = scsi_register(shtp,sizeof(gdth_num_str)); - shp->unchecked_isa_dma = 0; - shp->irq = ha->irq; - shp->dma_channel = 0xff; - gdth_ctr_vtab[gdth_ctr_vcount++] = shp; - NUMDATA(shp)->hanum = (ushort)hanum; - NUMDATA(shp)->busnum = b; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + scsi_set_device(shp, &pcistr[ctr].pdev->dev); +#else + scsi_set_pci_device(shp, pcistr[ctr].pdev); +#endif + if (!(ha->cache_feat & ha->raw_feat & ha->screen_feat &GDT_64BIT)|| + /* 64-bit DMA only supported from FW >= x.43 */ + (!ha->dma64_support)) { + if (pci_set_dma_mask(pcistr[ctr].pdev, 0xffffffff)) { + printk(KERN_WARNING "GDT-PCI %d: Unable to set 32-bit DMA\n", hanum); + err = TRUE; + } + } else { + shp->max_cmd_len = 16; + if (!pci_set_dma_mask(pcistr[ctr].pdev, 0xffffffffffffffffULL)) { + printk("GDT-PCI %d: 64-bit DMA enabled\n", hanum); + } else if (pci_set_dma_mask(pcistr[ctr].pdev, 0xffffffff)) { + printk(KERN_WARNING "GDT-PCI %d: Unable to set 64/32-bit DMA\n", hanum); + err = TRUE; } - } + } +#endif + } - GDTH_INIT_LOCK_HA(ha); - gdth_enable_int(hanum); + if (err) { + printk("GDT-PCI %d: Error during device scan\n", hanum); + --gdth_ctr_count; + --gdth_ctr_vcount; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#ifdef INT_COAL + if (ha->coal_stat) + pci_free_consistent(ha->pdev, sizeof(gdth_coal_status) * + MAXOFFSETS, ha->coal_stat, + ha->coal_stat_phys); +#endif + if (ha->pscratch) + pci_free_consistent(ha->pdev, GDTH_SCRATCH, + ha->pscratch, ha->scratch_phys); + if (ha->pmsg) + pci_free_consistent(ha->pdev, sizeof(gdth_msg_str), + ha->pmsg, ha->msg_phys); +#else +#ifdef INT_COAL + if (ha->coal_stat) + scsi_init_free((void *)ha->coal_stat, + sizeof(gdth_coal_status) * MAXOFFSETS); +#endif + if (ha->pscratch) + scsi_init_free((void *)ha->pscratch, GDTH_SCRATCH); + if (ha->pmsg) + scsi_init_free((void *)ha->pmsg, sizeof(gdth_msg_str)); +#endif + free_irq(ha->irq,ha); + scsi_unregister(shp); + continue; } - } + shp->max_id = ha->tid_cnt; + shp->max_lun = MAXLUN; + shp->max_channel = virt_ctr ? 0 : ha->bus_cnt; + if (virt_ctr) { + virt_ctr = 1; + /* register addit. SCSI channels as virtual controllers */ + for (b = 1; b < ha->bus_cnt + 1; ++b) { + shp = scsi_register(shtp,sizeof(gdth_num_str)); + shp->unchecked_isa_dma = 0; + shp->irq = ha->irq; + shp->dma_channel = 0xff; + gdth_ctr_vtab[gdth_ctr_vcount++] = shp; + NUMDATA(shp)->hanum = (ushort)hanum; + NUMDATA(shp)->busnum = b; + } + } + + + GDTH_INIT_LOCK_HA(ha); + gdth_enable_int(hanum); + } + TRACE2(("gdth_detect() %d controller detected\n",gdth_ctr_count)); if (gdth_ctr_count > 0) { #ifdef GDTH_STATISTICS @@ -4603,12 +4979,8 @@ gdth_timer.function = gdth_timeout; add_timer(&gdth_timer); #endif -#ifdef GDTH_IOCTL_CHRDEV major = register_chrdev(0,"gdth",&gdth_fops); -#endif -#if LINUX_VERSION_CODE >= 0x020100 register_reboot_notifier(&gdth_notifier); -#endif } gdth_polling = FALSE; return gdth_ctr_vcount; @@ -4624,30 +4996,47 @@ if (NUMDATA(shp)->busnum == 0) { hanum = NUMDATA(shp)->hanum; ha = HADATA(gdth_ctr_tab[hanum]); -#if LINUX_VERSION_CODE >= 0x010300 - gdth_flush(hanum); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + if (ha->sdev) { + scsi_free_host_dev(ha->sdev); + ha->sdev = NULL; + } #endif + gdth_flush(hanum); if (shp->irq) { -#if LINUX_VERSION_CODE >= 0x010346 free_irq(shp->irq,ha); -#else - free_irq(shp->irq); -#endif } #ifndef __ia64__ if (shp->dma_channel != 0xff) { free_dma(shp->dma_channel); } #endif -#if LINUX_VERSION_CODE >= 0x020400 - pci_free_consistent(ha->pdev, GDTH_SCRATCH, - ha->pscratch, ha->scratch_phys); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#ifdef INT_COAL + if (ha->coal_stat) + pci_free_consistent(ha->pdev, sizeof(gdth_coal_status) * + MAXOFFSETS, ha->coal_stat, ha->coal_stat_phys); +#endif + if (ha->pscratch) + pci_free_consistent(ha->pdev, GDTH_SCRATCH, + ha->pscratch, ha->scratch_phys); + if (ha->pmsg) + pci_free_consistent(ha->pdev, sizeof(gdth_msg_str), + ha->pmsg, ha->msg_phys); if (ha->ccb_phys) pci_unmap_single(ha->pdev,ha->ccb_phys, sizeof(gdth_cmd_str),PCI_DMA_BIDIRECTIONAL); #else - scsi_init_free((void *)ha->pscratch, GDTH_SCRATCH); +#ifdef INT_COAL + if (ha->coal_stat) + scsi_init_free((void *)ha->coal_stat, + sizeof(gdth_coal_status) * MAXOFFSETS); +#endif + if (ha->pscratch) + scsi_init_free((void *)ha->pscratch, GDTH_SCRATCH); + if (ha->pmsg) + scsi_init_free((void *)ha->pmsg, sizeof(gdth_msg_str)); #endif gdth_ctr_released++; TRACE2(("gdth_release(): HA %d of %d\n", @@ -4657,12 +5046,8 @@ #ifdef GDTH_STATISTICS del_timer(&gdth_timer); #endif -#ifdef GDTH_IOCTL_CHRDEV unregister_chrdev(major,"gdth"); -#endif -#if LINUX_VERSION_CODE >= 0x020100 unregister_reboot_notifier(&gdth_notifier); -#endif } } @@ -4715,6 +5100,7 @@ return ((const char *)ha->binfo.type_string); } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) /* old error handling */ int gdth_abort(Scsi_Cmnd *scp) { @@ -4722,17 +5108,13 @@ return SCSI_ABORT_SNOOZE; } -#if LINUX_VERSION_CODE >= 0x010346 int gdth_reset(Scsi_Cmnd *scp, unsigned int reset_flags) -#else -int gdth_reset(Scsi_Cmnd *scp) -#endif { TRACE2(("gdth_reset()\n")); return SCSI_RESET_PUNT; } +#endif -#if LINUX_VERSION_CODE >= 0x02015F /* new error handling */ int gdth_eh_abort(Scsi_Cmnd *scp) { @@ -4755,7 +5137,7 @@ unchar b; TRACE2(("gdth_eh_bus_reset()\n")); -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) hanum = NUMDATA(scp->device->host)->hanum; b = virt_ctr ? NUMDATA(scp->device->host)->busnum : scp->device->channel; #else @@ -4768,7 +5150,7 @@ GDTH_LOCK_HA(ha, flags); for (i = 0; i < GDTH_MAXCMDS; ++i) { cmnd = ha->cmd_tab[i].cmnd; -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) if (!SPECIAL_SCP(cmnd) && cmnd->device->channel == b) #else if (!SPECIAL_SCP(cmnd) && cmnd->channel == b) @@ -4813,15 +5195,12 @@ TRACE2(("gdth_eh_host_reset()\n")); return FAILED; } -#endif -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) int gdth_bios_param(struct scsi_device *sdev,struct block_device *bdev,sector_t cap,int *ip) -#elif LINUX_VERSION_CODE >= 0x010300 -int gdth_bios_param(Disk *disk,kdev_t dev,int *ip) #else -int gdth_bios_param(Disk *disk,int dev,int *ip) +int gdth_bios_param(Disk *disk,kdev_t dev,int *ip) #endif { unchar b, t; @@ -4830,7 +5209,7 @@ struct scsi_device *sd; unsigned capacity; -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) sd = sdev; capacity = cap; #else @@ -4872,7 +5251,7 @@ scp->SCp.sent_command = -1; scp->SCp.Status = GDTH_MAP_NONE; scp->SCp.buffer = (struct scatterlist *)NULL; -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) hanum = NUMDATA(scp->device->host)->hanum; #else hanum = NUMDATA(scp->host)->hanum; @@ -4882,19 +5261,28 @@ #endif priority = DEFAULT_PRI; -#if LINUX_VERSION_CODE >= 0x010300 if (scp->done == gdth_scsi_done) priority = scp->SCp.this_residual; -#endif gdth_update_timeout(hanum, scp, scp->timeout_per_command * 6); gdth_putq( hanum, scp, priority ); gdth_next( hanum ); return 0; } -#ifdef GDTH_IOCTL_CHRDEV + static int gdth_open(struct inode *inode, struct file *filep) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_ha_str *ha; + int i; + + for (i = 0; i < gdth_ctr_count; i++) { + ha = HADATA(gdth_ctr_tab[i]); + if (!ha->sdev) + ha->sdev = scsi_get_host_dev(gdth_ctr_tab[i]); + } +#endif + TRACE(("gdth_open()\n")); return 0; } @@ -4907,537 +5295,578 @@ static int ioc_event(unsigned long arg) { - gdth_ioctl_event evt; - gdth_ha_str *ha; - ulong flags; - - if (copy_from_user(&evt, (char *)arg, sizeof(gdth_ioctl_event)) || - evt.ionode >= gdth_ctr_count) - return -EFAULT; - ha = HADATA(gdth_ctr_tab[evt.ionode]); + gdth_ioctl_event evt; + gdth_ha_str *ha; + ulong flags; - if (evt.erase == 0xff) { - if (evt.event.event_source == ES_TEST) - evt.event.event_data.size=sizeof(evt.event.event_data.eu.test); - else if (evt.event.event_source == ES_DRIVER) - evt.event.event_data.size=sizeof(evt.event.event_data.eu.driver); - else if (evt.event.event_source == ES_SYNC) - evt.event.event_data.size=sizeof(evt.event.event_data.eu.sync); - else - evt.event.event_data.size=sizeof(evt.event.event_data.eu.async); - GDTH_LOCK_HA(ha, flags); - gdth_store_event(ha, evt.event.event_source, evt.event.event_idx, - &evt.event.event_data); - GDTH_UNLOCK_HA(ha, flags); - } else if (evt.erase == 0xfe) { - gdth_clear_events(); - } else if (evt.erase == 0) { - evt.handle = gdth_read_event(ha, evt.handle, &evt.event); - } else { - gdth_readapp_event(ha, evt.erase, &evt.event); - } - if (copy_to_user((char *)arg, &evt, sizeof(gdth_ioctl_event))) - return -EFAULT; - return 0; + if (copy_from_user(&evt, (char *)arg, sizeof(gdth_ioctl_event)) || + evt.ionode >= gdth_ctr_count) + return -EFAULT; + ha = HADATA(gdth_ctr_tab[evt.ionode]); + + if (evt.erase == 0xff) { + if (evt.event.event_source == ES_TEST) + evt.event.event_data.size=sizeof(evt.event.event_data.eu.test); + else if (evt.event.event_source == ES_DRIVER) + evt.event.event_data.size=sizeof(evt.event.event_data.eu.driver); + else if (evt.event.event_source == ES_SYNC) + evt.event.event_data.size=sizeof(evt.event.event_data.eu.sync); + else + evt.event.event_data.size=sizeof(evt.event.event_data.eu.async); + GDTH_LOCK_HA(ha, flags); + gdth_store_event(ha, evt.event.event_source, evt.event.event_idx, + &evt.event.event_data); + GDTH_UNLOCK_HA(ha, flags); + } else if (evt.erase == 0xfe) { + gdth_clear_events(); + } else if (evt.erase == 0) { + evt.handle = gdth_read_event(ha, evt.handle, &evt.event); + } else { + gdth_readapp_event(ha, evt.erase, &evt.event); + } + if (copy_to_user((char *)arg, &evt, sizeof(gdth_ioctl_event))) + return -EFAULT; + return 0; } static int ioc_lockdrv(unsigned long arg) { - gdth_ioctl_lockdrv ldrv; - unchar i, j; - ulong flags; - gdth_ha_str *ha; + gdth_ioctl_lockdrv ldrv; + unchar i, j; + ulong flags; + gdth_ha_str *ha; - if (copy_from_user(&ldrv, (char *)arg, sizeof(gdth_ioctl_lockdrv)) || - ldrv.ionode >= gdth_ctr_count) - return -EFAULT; - ha = HADATA(gdth_ctr_tab[ldrv.ionode]); + if (copy_from_user(&ldrv, (char *)arg, sizeof(gdth_ioctl_lockdrv)) || + ldrv.ionode >= gdth_ctr_count) + return -EFAULT; + ha = HADATA(gdth_ctr_tab[ldrv.ionode]); - for (i = 0; i < ldrv.drive_cnt && i < MAX_HDRIVES; ++i) { - j = ldrv.drives[i]; - if (j >= MAX_HDRIVES || !ha->hdr[j].present) - continue; - if (ldrv.lock) { - GDTH_LOCK_HA(ha, flags); - ha->hdr[j].lock = 1; - GDTH_UNLOCK_HA(ha, flags); - gdth_wait_completion(ldrv.ionode, ha->bus_cnt, j); - gdth_stop_timeout(ldrv.ionode, ha->bus_cnt, j); - } else { - GDTH_LOCK_HA(ha, flags); - ha->hdr[j].lock = 0; - GDTH_UNLOCK_HA(ha, flags); - gdth_start_timeout(ldrv.ionode, ha->bus_cnt, j); - gdth_next(ldrv.ionode); - } - } - return 0; + for (i = 0; i < ldrv.drive_cnt && i < MAX_HDRIVES; ++i) { + j = ldrv.drives[i]; + if (j >= MAX_HDRIVES || !ha->hdr[j].present) + continue; + if (ldrv.lock) { + GDTH_LOCK_HA(ha, flags); + ha->hdr[j].lock = 1; + GDTH_UNLOCK_HA(ha, flags); + gdth_wait_completion(ldrv.ionode, ha->bus_cnt, j); + gdth_stop_timeout(ldrv.ionode, ha->bus_cnt, j); + } else { + GDTH_LOCK_HA(ha, flags); + ha->hdr[j].lock = 0; + GDTH_UNLOCK_HA(ha, flags); + gdth_start_timeout(ldrv.ionode, ha->bus_cnt, j); + gdth_next(ldrv.ionode); + } + } + return 0; } static int ioc_resetdrv(unsigned long arg, char *cmnd) { - gdth_ioctl_reset res; - gdth_cmd_str cmd; - int hanum; - gdth_ha_str *ha; -#if LINUX_VERSION_CODE >= 0x020503 - Scsi_Request *srp; - Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 - Scsi_Cmnd *scp; - Scsi_Device *sdev; -#else - Scsi_Cmnd scp; - Scsi_Device sdev; + gdth_ioctl_reset res; + gdth_cmd_str cmd; + int hanum; + gdth_ha_str *ha; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + Scsi_Request *srp; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + Scsi_Cmnd *scp; +#else + Scsi_Cmnd scp; #endif - if (copy_from_user(&res, (char *)arg, sizeof(gdth_ioctl_reset)) || - res.ionode >= gdth_ctr_count || res.number >= MAX_HDRIVES) - return -EFAULT; - hanum = res.ionode; - ha = HADATA(gdth_ctr_tab[hanum]); + if (copy_from_user(&res, (char *)arg, sizeof(gdth_ioctl_reset)) || + res.ionode >= gdth_ctr_count || res.number >= MAX_HDRIVES) + return -EFAULT; + hanum = res.ionode; + ha = HADATA(gdth_ctr_tab[hanum]); - if (!ha->hdr[res.number].present) - return 0; - cmd.Service = CACHESERVICE; - cmd.OpCode = GDT_CLUST_RESET; + if (!ha->hdr[res.number].present) + return 0; + memset(&cmd, 0, sizeof(gdth_cmd_str)); + cmd.Service = CACHESERVICE; + cmd.OpCode = GDT_CLUST_RESET; + if (ha->cache_feat & GDT_64BIT) + cmd.u.cache64.DeviceNo = res.number; + else cmd.u.cache.DeviceNo = res.number; -#if LINUX_VERSION_CODE >= 0x020503 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - srp = scsi_allocate_request(sdev, GFP_KERNEL); - if (!srp) - return -ENOMEM; - srp->sr_cmd_len = 12; - srp->sr_use_sg = 0; - gdth_do_req(srp, &cmd, cmnd, 30); - res.status = (ushort)srp->sr_command->SCp.Status; - scsi_release_request(srp); - scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - scp = scsi_allocate_device(sdev, 1, FALSE); - if (!scp) - return -ENOMEM; - scp->cmd_len = 12; - scp->use_sg = 0; - gdth_do_cmd(scp, &cmd, cmnd, 30); - res.status = (ushort)scp->SCp.Status; - scsi_release_command(scp); - scsi_free_host_dev(sdev); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + srp = scsi_allocate_request(ha->sdev, GFP_KERNEL); + if (!srp) + return -ENOMEM; + srp->sr_cmd_len = 12; + srp->sr_use_sg = 0; + gdth_do_req(srp, &cmd, cmnd, 30); + res.status = (ushort)srp->sr_command->SCp.Status; + scsi_release_request(srp); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + scp = scsi_allocate_device(ha->sdev, 1, FALSE); + if (!scp) + return -ENOMEM; + scp->cmd_len = 12; + scp->use_sg = 0; + gdth_do_cmd(scp, &cmd, cmnd, 30); + res.status = (ushort)scp->SCp.Status; + scsi_release_command(scp); #else - memset(&sdev,0,sizeof(Scsi_Device)); - memset(&scp, 0,sizeof(Scsi_Cmnd)); - sdev.host = scp.host = gdth_ctr_tab[hanum]; - sdev.id = scp.target = sdev.host->this_id; - scp.device = &sdev; - gdth_do_cmd(&scp, &cmd, cmnd, 30); - res.status = (ushort)scp.SCp.Status; + memset(&ha->sdev,0,sizeof(Scsi_Device)); + memset(&scp, 0,sizeof(Scsi_Cmnd)); + ha->sdev.host = scp.host = gdth_ctr_tab[hanum]; + ha->sdev.id = scp.target = ha->sdev.host->this_id; + scp.device = &ha->sdev; + gdth_do_cmd(&scp, &cmd, cmnd, 30); + res.status = (ushort)scp.SCp.Status; #endif - if (copy_to_user((char *)arg, &res, sizeof(gdth_ioctl_reset))) - return -EFAULT; - return 0; + if (copy_to_user((char *)arg, &res, sizeof(gdth_ioctl_reset))) + return -EFAULT; + return 0; } static int ioc_general(unsigned long arg, char *cmnd) { - gdth_ioctl_general gen; - char *buf = NULL; - ulong32 paddr; - int hanum; - gdth_ha_str *ha; -#if LINUX_VERSION_CODE >= 0x020503 - Scsi_Request *srp; - Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 - Scsi_Cmnd *scp; - Scsi_Device *sdev; + gdth_ioctl_general gen; + char *buf = NULL; + ulong64 paddr; + int hanum; + gdth_ha_str *ha; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + Scsi_Request *srp; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + Scsi_Cmnd *scp; #else - Scsi_Cmnd scp; - Scsi_Device sdev; + Scsi_Cmnd scp; #endif - if (copy_from_user(&gen, (char *)arg, sizeof(gdth_ioctl_general)) || - gen.ionode >= gdth_ctr_count) + if (copy_from_user(&gen, (char *)arg, sizeof(gdth_ioctl_general)) || + gen.ionode >= gdth_ctr_count) + return -EFAULT; + hanum = gen.ionode; + ha = HADATA(gdth_ctr_tab[hanum]); + if (gen.data_len + gen.sense_len != 0) { + if (!(buf = gdth_ioctl_alloc(hanum, gen.data_len + gen.sense_len, + FALSE, &paddr))) return -EFAULT; - hanum = gen.ionode; - ha = HADATA(gdth_ctr_tab[hanum]); - if (gen.data_len + gen.sense_len != 0) { - if (!(buf = gdth_ioctl_alloc(hanum, gen.data_len + gen.sense_len, - FALSE, &paddr))) - return -EFAULT; - if (copy_from_user(buf, (char *)arg + sizeof(gdth_ioctl_general), - gen.data_len + gen.sense_len)) { - gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); - return -EFAULT; - } + if (copy_from_user(buf, (char *)arg + sizeof(gdth_ioctl_general), + gen.data_len + gen.sense_len)) { + gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); + return -EFAULT; + } - if (gen.command.OpCode == GDT_IOCTL) { - gen.command.u.ioctl.p_param = paddr; - } else if (gen.command.Service == CACHESERVICE) { + if (gen.command.OpCode == GDT_IOCTL) { + gen.command.u.ioctl.p_param = paddr; + } else if (gen.command.Service == CACHESERVICE) { + if (ha->cache_feat & GDT_64BIT) { + /* copy elements from 32-bit IOCTL structure */ + gen.command.u.cache64.BlockCnt = gen.command.u.cache.BlockCnt; + gen.command.u.cache64.BlockNo = gen.command.u.cache.BlockNo; + gen.command.u.cache64.DeviceNo = gen.command.u.cache.DeviceNo; + /* addresses */ + if (ha->cache_feat & SCATTER_GATHER) { + gen.command.u.cache64.DestAddr = (ulong64)-1; + gen.command.u.cache64.sg_canz = 1; + gen.command.u.cache64.sg_lst[0].sg_ptr = paddr; + gen.command.u.cache64.sg_lst[0].sg_len = gen.data_len; + gen.command.u.cache64.sg_lst[1].sg_len = 0; + } else { + gen.command.u.cache64.DestAddr = paddr; + gen.command.u.cache64.sg_canz = 0; + } + } else { if (ha->cache_feat & SCATTER_GATHER) { gen.command.u.cache.DestAddr = 0xffffffff; gen.command.u.cache.sg_canz = 1; - gen.command.u.cache.sg_lst[0].sg_ptr = paddr; + gen.command.u.cache.sg_lst[0].sg_ptr = (ulong32)paddr; gen.command.u.cache.sg_lst[0].sg_len = gen.data_len; gen.command.u.cache.sg_lst[1].sg_len = 0; } else { gen.command.u.cache.DestAddr = paddr; gen.command.u.cache.sg_canz = 0; } - } else if (gen.command.Service == SCSIRAWSERVICE) { + } + } else if (gen.command.Service == SCSIRAWSERVICE) { + if (ha->raw_feat & GDT_64BIT) { + /* copy elements from 32-bit IOCTL structure */ + char cmd[16]; + gen.command.u.raw64.sense_len = gen.command.u.raw.sense_len; + gen.command.u.raw64.bus = gen.command.u.raw.bus; + gen.command.u.raw64.lun = gen.command.u.raw.lun; + gen.command.u.raw64.target = gen.command.u.raw.target; + memcpy(cmd, gen.command.u.raw.cmd, 16); + memcpy(gen.command.u.raw64.cmd, cmd, 16); + gen.command.u.raw64.clen = gen.command.u.raw.clen; + gen.command.u.raw64.sdlen = gen.command.u.raw.sdlen; + gen.command.u.raw64.direction = gen.command.u.raw.direction; + /* addresses */ + if (ha->raw_feat & SCATTER_GATHER) { + gen.command.u.raw64.sdata = (ulong64)-1; + gen.command.u.raw64.sg_ranz = 1; + gen.command.u.raw64.sg_lst[0].sg_ptr = paddr; + gen.command.u.raw64.sg_lst[0].sg_len = gen.data_len; + gen.command.u.raw64.sg_lst[1].sg_len = 0; + } else { + gen.command.u.raw64.sdata = paddr; + gen.command.u.raw64.sg_ranz = 0; + } + gen.command.u.raw64.sense_data = paddr + gen.data_len; + } else { if (ha->raw_feat & SCATTER_GATHER) { gen.command.u.raw.sdata = 0xffffffff; gen.command.u.raw.sg_ranz = 1; - gen.command.u.raw.sg_lst[0].sg_ptr = paddr; + gen.command.u.raw.sg_lst[0].sg_ptr = (ulong32)paddr; gen.command.u.raw.sg_lst[0].sg_len = gen.data_len; gen.command.u.raw.sg_lst[1].sg_len = 0; } else { gen.command.u.raw.sdata = paddr; gen.command.u.raw.sg_ranz = 0; } - gen.command.u.raw.sense_data = paddr + gen.data_len; - - } else { - gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); - return -EFAULT; + gen.command.u.raw.sense_data = (ulong32)paddr + gen.data_len; } + } else { + gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); + return -EFAULT; } + } -#if LINUX_VERSION_CODE >= 0x020503 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - srp = scsi_allocate_request(sdev, GFP_KERNEL); - if (!srp) - return -ENOMEM; - srp->sr_cmd_len = 12; - srp->sr_use_sg = 0; - gdth_do_req(srp, &gen.command, cmnd, gen.timeout); - gen.status = srp->sr_command->SCp.Status; - gen.info = srp->sr_command->SCp.Message; - scsi_release_request(srp); - scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - scp = scsi_allocate_device(sdev, 1, FALSE); - if (!scp) - return -ENOMEM; - scp->cmd_len = 12; - scp->use_sg = 0; - gdth_do_cmd(scp, &gen.command, cmnd, gen.timeout); - gen.status = scp->SCp.Status; - gen.info = scp->SCp.Message; - scsi_release_command(scp); - scsi_free_host_dev(sdev); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + srp = scsi_allocate_request(ha->sdev, GFP_KERNEL); + if (!srp) + return -ENOMEM; + srp->sr_cmd_len = 12; + srp->sr_use_sg = 0; + gdth_do_req(srp, &gen.command, cmnd, gen.timeout); + gen.status = srp->sr_command->SCp.Status; + gen.info = srp->sr_command->SCp.Message; + scsi_release_request(srp); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + scp = scsi_allocate_device(ha->sdev, 1, FALSE); + if (!scp) + return -ENOMEM; + scp->cmd_len = 12; + scp->use_sg = 0; + gdth_do_cmd(scp, &gen.command, cmnd, gen.timeout); + gen.status = scp->SCp.Status; + gen.info = scp->SCp.Message; + scsi_release_command(scp); #else - memset(&sdev,0,sizeof(Scsi_Device)); - memset(&scp, 0,sizeof(Scsi_Cmnd)); - sdev.host = scp.host = gdth_ctr_tab[hanum]; - sdev.id = scp.target = sdev.host->this_id; - scp.device = &sdev; - gdth_do_cmd(&scp, &gen.command, cmnd, gen.timeout); - gen.status = scp.SCp.Status; - gen.info = scp.SCp.Message; + memset(&ha->sdev,0,sizeof(Scsi_Device)); + memset(&scp, 0,sizeof(Scsi_Cmnd)); + ha->sdev.host = scp.host = gdth_ctr_tab[hanum]; + ha->sdev.id = scp.target = ha->sdev.host->this_id; + scp.device = &ha->sdev; + gdth_do_cmd(&scp, &gen.command, cmnd, gen.timeout); + gen.status = scp.SCp.Status; + gen.info = scp.SCp.Message; #endif - if (copy_to_user((char *)arg + sizeof(gdth_ioctl_general), buf, - gen.data_len + gen.sense_len)) { - gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); - return -EFAULT; - } - if (copy_to_user((char *)arg, &gen, - sizeof(gdth_ioctl_general) - sizeof(gdth_cmd_str))) { - gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); - return -EFAULT; - } + if (copy_to_user((char *)arg + sizeof(gdth_ioctl_general), buf, + gen.data_len + gen.sense_len)) { gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); - return 0; + return -EFAULT; + } + if (copy_to_user((char *)arg, &gen, + sizeof(gdth_ioctl_general) - sizeof(gdth_cmd_str))) { + gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); + return -EFAULT; + } + gdth_ioctl_free(hanum, gen.data_len+gen.sense_len, buf, paddr); + return 0; } static int ioc_hdrlist(unsigned long arg, char *cmnd) { - gdth_ioctl_rescan rsc; - gdth_cmd_str cmd; - gdth_ha_str *ha; - unchar i; - int hanum; -#if LINUX_VERSION_CODE >= 0x020503 - Scsi_Request *srp; - Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 - Scsi_Cmnd *scp; - Scsi_Device *sdev; + gdth_ioctl_rescan rsc; + gdth_cmd_str cmd; + gdth_ha_str *ha; + unchar i; + int hanum; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + Scsi_Request *srp; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + Scsi_Cmnd *scp; #else - Scsi_Cmnd scp; - Scsi_Device sdev; + Scsi_Cmnd scp; #endif - if (copy_from_user(&rsc, (char *)arg, sizeof(gdth_ioctl_rescan)) || - rsc.ionode >= gdth_ctr_count) - return -EFAULT; - hanum = rsc.ionode; - ha = HADATA(gdth_ctr_tab[hanum]); + if (copy_from_user(&rsc, (char *)arg, sizeof(gdth_ioctl_rescan)) || + rsc.ionode >= gdth_ctr_count) + return -EFAULT; + hanum = rsc.ionode; + ha = HADATA(gdth_ctr_tab[hanum]); + memset(&cmd, 0, sizeof(gdth_cmd_str)); -#if LINUX_VERSION_CODE >= 0x020503 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - srp = scsi_allocate_request(sdev, GFP_KERNEL); - if (!srp) - return -ENOMEM; - srp->sr_cmd_len = 12; - srp->sr_use_sg = 0; -#elif LINUX_VERSION_CODE >= 0x020322 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - scp = scsi_allocate_device(sdev, 1, FALSE); - if (!scp) - return -ENOMEM; - scp->cmd_len = 12; - scp->use_sg = 0; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + srp = scsi_allocate_request(ha->sdev, GFP_KERNEL); + if (!srp) + return -ENOMEM; + srp->sr_cmd_len = 12; + srp->sr_use_sg = 0; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + scp = scsi_allocate_device(ha->sdev, 1, FALSE); + if (!scp) + return -ENOMEM; + scp->cmd_len = 12; + scp->use_sg = 0; #else - memset(&sdev,0,sizeof(Scsi_Device)); - memset(&scp, 0,sizeof(Scsi_Cmnd)); - sdev.host = scp.host = gdth_ctr_tab[hanum]; - sdev.id = scp.target = sdev.host->this_id; - scp.device = &sdev; + memset(&ha->sdev,0,sizeof(Scsi_Device)); + memset(&scp, 0,sizeof(Scsi_Cmnd)); + ha->sdev.host = scp.host = gdth_ctr_tab[hanum]; + ha->sdev.id = scp.target = ha->sdev.host->this_id; + scp.device = &ha->sdev; #endif - for (i = 0; i < MAX_HDRIVES; ++i) { - if (!ha->hdr[i].present) { - rsc.hdr_list[i].bus = 0xff; - continue; - } - rsc.hdr_list[i].bus = ha->virt_bus; - rsc.hdr_list[i].target = i; - rsc.hdr_list[i].lun = 0; - rsc.hdr_list[i].cluster_type = ha->hdr[i].cluster_type; - if (ha->hdr[i].cluster_type & CLUSTER_DRIVE) { - cmd.Service = CACHESERVICE; - cmd.OpCode = GDT_CLUST_INFO; + for (i = 0; i < MAX_HDRIVES; ++i) { + if (!ha->hdr[i].present) { + rsc.hdr_list[i].bus = 0xff; + continue; + } + rsc.hdr_list[i].bus = ha->virt_bus; + rsc.hdr_list[i].target = i; + rsc.hdr_list[i].lun = 0; + rsc.hdr_list[i].cluster_type = ha->hdr[i].cluster_type; + if (ha->hdr[i].cluster_type & CLUSTER_DRIVE) { + cmd.Service = CACHESERVICE; + cmd.OpCode = GDT_CLUST_INFO; + if (ha->cache_feat & GDT_64BIT) + cmd.u.cache64.DeviceNo = i; + else cmd.u.cache.DeviceNo = i; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(srp, &cmd, cmnd, 30); - if (srp->sr_command->SCp.Status == S_OK) - rsc.hdr_list[i].cluster_type = srp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &cmd, cmnd, 30); - if (scp->SCp.Status == S_OK) - rsc.hdr_list[i].cluster_type = scp->SCp.Message; -#else - gdth_do_cmd(&scp, &cmd, cmnd, 30); - if (scp.SCp.Status == S_OK) - rsc.hdr_list[i].cluster_type = scp.SCp.Message; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(srp, &cmd, cmnd, 30); + if (srp->sr_command->SCp.Status == S_OK) + rsc.hdr_list[i].cluster_type = srp->sr_command->SCp.Message; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &cmd, cmnd, 30); + if (scp->SCp.Status == S_OK) + rsc.hdr_list[i].cluster_type = scp->SCp.Message; +#else + gdth_do_cmd(&scp, &cmd, cmnd, 30); + if (scp.SCp.Status == S_OK) + rsc.hdr_list[i].cluster_type = scp.SCp.Message; #endif - } - } -#if LINUX_VERSION_CODE >= 0x020503 - scsi_release_request(srp); - scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 - scsi_release_command(scp); - scsi_free_host_dev(sdev); + } + } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + scsi_release_request(srp); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + scsi_release_command(scp); #endif - if (copy_to_user((char *)arg, &rsc, sizeof(gdth_ioctl_rescan))) - return -EFAULT; - return 0; + if (copy_to_user((char *)arg, &rsc, sizeof(gdth_ioctl_rescan))) + return -EFAULT; + return 0; } static int ioc_rescan(unsigned long arg, char *cmnd) { - gdth_ioctl_rescan rsc; - gdth_cmd_str cmd; - ushort i, status, hdr_cnt; - ulong32 info; - int hanum, cyls, hds, secs; - ulong flags; - gdth_ha_str *ha; -#if LINUX_VERSION_CODE >= 0x020503 - Scsi_Request *srp; - Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 - Scsi_Cmnd *scp; - Scsi_Device *sdev; + gdth_ioctl_rescan rsc; + gdth_cmd_str cmd; + ushort i, status, hdr_cnt; + ulong32 info; + int hanum, cyls, hds, secs; + ulong flags; + gdth_ha_str *ha; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + Scsi_Request *srp; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + Scsi_Cmnd *scp; #else - Scsi_Cmnd scp; - Scsi_Device sdev; + Scsi_Cmnd scp; #endif - if (copy_from_user(&rsc, (char *)arg, sizeof(gdth_ioctl_rescan)) || - rsc.ionode >= gdth_ctr_count) - return -EFAULT; - hanum = rsc.ionode; - ha = HADATA(gdth_ctr_tab[hanum]); + if (copy_from_user(&rsc, (char *)arg, sizeof(gdth_ioctl_rescan)) || + rsc.ionode >= gdth_ctr_count) + return -EFAULT; + hanum = rsc.ionode; + ha = HADATA(gdth_ctr_tab[hanum]); + memset(&cmd, 0, sizeof(gdth_cmd_str)); -#if LINUX_VERSION_CODE >= 0x020503 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - srp = scsi_allocate_request(sdev, GFP_KERNEL); - if (!srp) - return -ENOMEM; - srp->sr_cmd_len = 12; - srp->sr_use_sg = 0; -#elif LINUX_VERSION_CODE >= 0x020322 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - scp = scsi_allocate_device(sdev, 1, FALSE); - if (!scp) - return -ENOMEM; - scp->cmd_len = 12; - scp->use_sg = 0; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + srp = scsi_allocate_request(ha->sdev, GFP_KERNEL); + if (!srp) + return -ENOMEM; + srp->sr_cmd_len = 12; + srp->sr_use_sg = 0; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + scp = scsi_allocate_device(ha->sdev, 1, FALSE); + if (!scp) + return -ENOMEM; + scp->cmd_len = 12; + scp->use_sg = 0; #else - memset(&sdev,0,sizeof(Scsi_Device)); - memset(&scp, 0,sizeof(Scsi_Cmnd)); - sdev.host = scp.host = gdth_ctr_tab[hanum]; - sdev.id = scp.target = sdev.host->this_id; - scp.device = &sdev; + memset(&ha->sdev,0,sizeof(Scsi_Device)); + memset(&scp, 0,sizeof(Scsi_Cmnd)); + ha->sdev.host = scp.host = gdth_ctr_tab[hanum]; + ha->sdev.id = scp.target = ha->sdev.host->this_id; + scp.device = &ha->sdev; #endif - if (rsc.flag == 0) { - /* old method: re-init. cache service */ - cmd.Service = CACHESERVICE; + if (rsc.flag == 0) { + /* old method: re-init. cache service */ + cmd.Service = CACHESERVICE; + if (ha->cache_feat & GDT_64BIT) { + cmd.OpCode = GDT_X_INIT_HOST; + cmd.u.cache64.DeviceNo = LINUX_OS; + } else { cmd.OpCode = GDT_INIT; cmd.u.cache.DeviceNo = LINUX_OS; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(srp, &cmd, cmnd, 30); - status = (ushort)srp->sr_command->SCp.Status; - info = (ulong32)srp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &cmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; + } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(srp, &cmd, cmnd, 30); + status = (ushort)srp->sr_command->SCp.Status; + info = (ulong32)srp->sr_command->SCp.Message; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &cmd, cmnd, 30); + status = (ushort)scp->SCp.Status; + info = (ulong32)scp->SCp.Message; #else - gdth_do_cmd(&scp, &cmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; + gdth_do_cmd(&scp, &cmd, cmnd, 30); + status = (ushort)scp.SCp.Status; + info = (ulong32)scp.SCp.Message; #endif - i = 0; - hdr_cnt = (status == S_OK ? (ushort)info : 0); - } else { - i = rsc.hdr_no; - hdr_cnt = i + 1; - } - for (; i < hdr_cnt && i < MAX_HDRIVES; ++i) { - cmd.Service = CACHESERVICE; - cmd.OpCode = GDT_INFO; + i = 0; + hdr_cnt = (status == S_OK ? (ushort)info : 0); + } else { + i = rsc.hdr_no; + hdr_cnt = i + 1; + } + for (; i < hdr_cnt && i < MAX_HDRIVES; ++i) { + cmd.Service = CACHESERVICE; + cmd.OpCode = GDT_INFO; + if (ha->cache_feat & GDT_64BIT) + cmd.u.cache64.DeviceNo = i; + else cmd.u.cache.DeviceNo = i; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(srp, &cmd, cmnd, 30); - status = (ushort)srp->sr_command->SCp.Status; - info = (ulong32)srp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &cmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(srp, &cmd, cmnd, 30); + status = (ushort)srp->sr_command->SCp.Status; + info = (ulong32)srp->sr_command->SCp.Message; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &cmd, cmnd, 30); + status = (ushort)scp->SCp.Status; + info = (ulong32)scp->SCp.Message; #else - gdth_do_cmd(&scp, &cmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; + gdth_do_cmd(&scp, &cmd, cmnd, 30); + status = (ushort)scp.SCp.Status; + info = (ulong32)scp.SCp.Message; #endif - GDTH_LOCK_HA(ha, flags); - rsc.hdr_list[i].bus = ha->virt_bus; - rsc.hdr_list[i].target = i; - rsc.hdr_list[i].lun = 0; - if (status != S_OK) { - ha->hdr[i].present = FALSE; - } else { - ha->hdr[i].present = TRUE; - ha->hdr[i].size = info; - /* evaluate mapping */ - ha->hdr[i].size &= ~SECS32; - gdth_eval_mapping(ha->hdr[i].size,&cyls,&hds,&secs); - ha->hdr[i].heads = hds; - ha->hdr[i].secs = secs; - /* round size */ - ha->hdr[i].size = cyls * hds * secs; - } - GDTH_UNLOCK_HA(ha, flags); - if (status != S_OK) - continue; + GDTH_LOCK_HA(ha, flags); + rsc.hdr_list[i].bus = ha->virt_bus; + rsc.hdr_list[i].target = i; + rsc.hdr_list[i].lun = 0; + if (status != S_OK) { + ha->hdr[i].present = FALSE; + } else { + ha->hdr[i].present = TRUE; + ha->hdr[i].size = info; + /* evaluate mapping */ + ha->hdr[i].size &= ~SECS32; + gdth_eval_mapping(ha->hdr[i].size,&cyls,&hds,&secs); + ha->hdr[i].heads = hds; + ha->hdr[i].secs = secs; + /* round size */ + ha->hdr[i].size = cyls * hds * secs; + } + GDTH_UNLOCK_HA(ha, flags); + if (status != S_OK) + continue; + + /* extended info, if GDT_64BIT, for drives > 2 TB */ + /* but we need ha->info2, not yet stored in scp->SCp */ - /* devtype, cluster info, R/W attribs */ - cmd.Service = CACHESERVICE; - cmd.OpCode = GDT_DEVTYPE; + /* devtype, cluster info, R/W attribs */ + cmd.Service = CACHESERVICE; + cmd.OpCode = GDT_DEVTYPE; + if (ha->cache_feat & GDT_64BIT) + cmd.u.cache64.DeviceNo = i; + else cmd.u.cache.DeviceNo = i; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(srp, &cmd, cmnd, 30); - status = (ushort)srp->sr_command->SCp.Status; - info = (ulong32)srp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &cmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(srp, &cmd, cmnd, 30); + status = (ushort)srp->sr_command->SCp.Status; + info = (ulong32)srp->sr_command->SCp.Message; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &cmd, cmnd, 30); + status = (ushort)scp->SCp.Status; + info = (ulong32)scp->SCp.Message; #else - gdth_do_cmd(&scp, &cmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; + gdth_do_cmd(&scp, &cmd, cmnd, 30); + status = (ushort)scp.SCp.Status; + info = (ulong32)scp.SCp.Message; #endif - GDTH_LOCK_HA(ha, flags); - ha->hdr[i].devtype = (status == S_OK ? (ushort)info : 0); - GDTH_UNLOCK_HA(ha, flags); + GDTH_LOCK_HA(ha, flags); + ha->hdr[i].devtype = (status == S_OK ? (ushort)info : 0); + GDTH_UNLOCK_HA(ha, flags); - cmd.Service = CACHESERVICE; - cmd.OpCode = GDT_CLUST_INFO; + cmd.Service = CACHESERVICE; + cmd.OpCode = GDT_CLUST_INFO; + if (ha->cache_feat & GDT_64BIT) + cmd.u.cache64.DeviceNo = i; + else cmd.u.cache.DeviceNo = i; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(srp, &cmd, cmnd, 30); - status = (ushort)srp->sr_command->SCp.Status; - info = (ulong32)srp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &cmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(srp, &cmd, cmnd, 30); + status = (ushort)srp->sr_command->SCp.Status; + info = (ulong32)srp->sr_command->SCp.Message; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &cmd, cmnd, 30); + status = (ushort)scp->SCp.Status; + info = (ulong32)scp->SCp.Message; #else - gdth_do_cmd(&scp, &cmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; + gdth_do_cmd(&scp, &cmd, cmnd, 30); + status = (ushort)scp.SCp.Status; + info = (ulong32)scp.SCp.Message; #endif - GDTH_LOCK_HA(ha, flags); - ha->hdr[i].cluster_type = - ((status == S_OK && !shared_access) ? (ushort)info : 0); - GDTH_UNLOCK_HA(ha, flags); - rsc.hdr_list[i].cluster_type = ha->hdr[i].cluster_type; + GDTH_LOCK_HA(ha, flags); + ha->hdr[i].cluster_type = + ((status == S_OK && !shared_access) ? (ushort)info : 0); + GDTH_UNLOCK_HA(ha, flags); + rsc.hdr_list[i].cluster_type = ha->hdr[i].cluster_type; - cmd.Service = CACHESERVICE; - cmd.OpCode = GDT_RW_ATTRIBS; + cmd.Service = CACHESERVICE; + cmd.OpCode = GDT_RW_ATTRIBS; + if (ha->cache_feat & GDT_64BIT) + cmd.u.cache64.DeviceNo = i; + else cmd.u.cache.DeviceNo = i; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(srp, &cmd, cmnd, 30); - status = (ushort)srp->sr_command->SCp.Status; - info = (ulong32)srp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &cmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(srp, &cmd, cmnd, 30); + status = (ushort)srp->sr_command->SCp.Status; + info = (ulong32)srp->sr_command->SCp.Message; +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &cmd, cmnd, 30); + status = (ushort)scp->SCp.Status; + info = (ulong32)scp->SCp.Message; #else - gdth_do_cmd(&scp, &cmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; + gdth_do_cmd(&scp, &cmd, cmnd, 30); + status = (ushort)scp.SCp.Status; + info = (ulong32)scp.SCp.Message; #endif - GDTH_LOCK_HA(ha, flags); - ha->hdr[i].rw_attribs = (status == S_OK ? (ushort)info : 0); - GDTH_UNLOCK_HA(ha, flags); - } -#if LINUX_VERSION_CODE >= 0x020503 - scsi_release_request(srp); - scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 - scsi_release_command(scp); - scsi_free_host_dev(sdev); + GDTH_LOCK_HA(ha, flags); + ha->hdr[i].rw_attribs = (status == S_OK ? (ushort)info : 0); + GDTH_UNLOCK_HA(ha, flags); + } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + scsi_release_request(srp); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + scsi_release_command(scp); #endif - if (copy_to_user((char *)arg, &rsc, sizeof(gdth_ioctl_rescan))) - return -EFAULT; - return 0; + if (copy_to_user((char *)arg, &rsc, sizeof(gdth_ioctl_rescan))) + return -EFAULT; + return 0; } static int gdth_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, unsigned long arg) { gdth_ha_str *ha; -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) Scsi_Cmnd *scp; - Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) Scsi_Cmnd *scp; - Scsi_Device *sdev; #else Scsi_Cmnd scp; - Scsi_Device sdev; #endif ulong flags; char cmnd[MAX_COMMAND_SIZE]; @@ -5451,7 +5880,7 @@ { int cnt = gdth_ctr_count; if (put_user(cnt, (int *)arg)) - return -EFAULT; + return -EFAULT; break; } @@ -5459,7 +5888,7 @@ { int ver = (GDTH_VERSION<<8) | GDTH_SUBVERSION; if (put_user(ver, (int *)arg)) - return -EFAULT; + return -EFAULT; break; } @@ -5471,7 +5900,7 @@ osv.subversion = (unchar)(LINUX_VERSION_CODE >> 8); osv.revision = (ushort)(LINUX_VERSION_CODE & 0xff); if (copy_to_user((char *)arg, &osv, sizeof(gdth_ioctl_osvers))) - return -EFAULT; + return -EFAULT; break; } @@ -5507,13 +5936,13 @@ } case GDTIOCTL_GENERAL: - return ioc_general(arg, cmnd); + return ioc_general(arg, cmnd); case GDTIOCTL_EVENT: - return ioc_event(arg); + return ioc_event(arg); case GDTIOCTL_LOCKDRV: - return ioc_lockdrv(arg); + return ioc_lockdrv(arg); case GDTIOCTL_LOCKCHN: { @@ -5549,10 +5978,10 @@ } case GDTIOCTL_RESCAN: - return ioc_rescan(arg, cmnd); + return ioc_rescan(arg, cmnd); case GDTIOCTL_HDRLIST: - return ioc_hdrlist(arg, cmnd); + return ioc_hdrlist(arg, cmnd); case GDTIOCTL_RESET_BUS: { @@ -5563,11 +5992,11 @@ res.ionode >= gdth_ctr_count) return -EFAULT; hanum = res.ionode; + ha = HADATA(gdth_ctr_tab[hanum]); - /* Because we need a Scsi_Cmnd struct., we make a scsi_allocate device also for kernels >=2.5.x */ -#if LINUX_VERSION_CODE >= 0x02053C - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - scp = scsi_get_command(sdev, GFP_KERNEL); + /* Because we need a Scsi_Cmnd struct., we make a scsi_allocate device also for kernels >=2.6.x */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + scp = scsi_get_command(ha->sdev, GFP_KERNEL); if (!scp) return -ENOMEM; scp->cmd_len = 12; @@ -5576,14 +6005,8 @@ rval = gdth_eh_bus_reset(scp); res.status = (rval == SUCCESS ? S_OK : S_GENERR); scsi_put_command(scp); - scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); -#if LINUX_VERSION_CODE >= 0x020503 - scp = scsi_allocate_device(sdev, 1); -#else - scp = scsi_allocate_device(sdev, 1, FALSE); -#endif +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + scp = scsi_allocate_device(ha->sdev, 1, FALSE); if (!scp) return -ENOMEM; scp->cmd_len = 12; @@ -5592,18 +6015,15 @@ rval = gdth_eh_bus_reset(scp); res.status = (rval == SUCCESS ? S_OK : S_GENERR); scsi_release_command(scp); - scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x02015F - memset(&sdev,0,sizeof(Scsi_Device)); +#else + memset(&ha->sdev,0,sizeof(Scsi_Device)); memset(&scp, 0,sizeof(Scsi_Cmnd)); - sdev.host = scp.host = gdth_ctr_tab[hanum]; - sdev.id = scp.target = sdev.host->this_id; - scp.device = &sdev; + ha->sdev.host = scp.host = gdth_ctr_tab[hanum]; + ha->sdev.id = scp.target = ha->sdev.host->this_id; + scp.device = &ha->sdev; scp.channel = virt_ctr ? 0 : res.number; rval = gdth_eh_bus_reset(&scp); res.status = (rval == SUCCESS ? S_OK : S_GENERR); -#else - res.status = S_OK; #endif if (copy_to_user((char *)arg, &res, sizeof(gdth_ioctl_reset))) return -EFAULT; @@ -5611,26 +6031,25 @@ } case GDTIOCTL_RESET_DRV: - return ioc_resetdrv(arg, cmnd); + return ioc_resetdrv(arg, cmnd); default: break; } return 0; } -#endif -#if LINUX_VERSION_CODE >= 0x010300 + /* flush routine */ static void gdth_flush(int hanum) { int i; gdth_ha_str *ha; gdth_cmd_str gdtcmd; -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) Scsi_Request *srp; Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) Scsi_Cmnd *scp; Scsi_Device *sdev; #else @@ -5643,14 +6062,14 @@ TRACE2(("gdth_flush() hanum %d\n",hanum)); ha = HADATA(gdth_ctr_tab[hanum]); -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); srp = scsi_allocate_request(sdev, GFP_KERNEL); if (!srp) return; srp->sr_cmd_len = 12; srp->sr_use_sg = 0; -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); scp = scsi_allocate_device(sdev, 1, FALSE); if (!scp) @@ -5670,42 +6089,44 @@ gdtcmd.BoardNode = LOCALBOARD; gdtcmd.Service = CACHESERVICE; gdtcmd.OpCode = GDT_FLUSH; - gdtcmd.u.cache.DeviceNo = i; - gdtcmd.u.cache.BlockNo = 1; - gdtcmd.u.cache.sg_canz = 0; + if (ha->cache_feat & GDT_64BIT) { + gdtcmd.u.cache64.DeviceNo = i; + gdtcmd.u.cache64.BlockNo = 1; + gdtcmd.u.cache64.sg_canz = 0; + } else { + gdtcmd.u.cache.DeviceNo = i; + gdtcmd.u.cache.BlockNo = 1; + gdtcmd.u.cache.sg_canz = 0; + } TRACE2(("gdth_flush(): flush ha %d drive %d\n", hanum, i)); -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) gdth_do_req(srp, &gdtcmd, cmnd, 30); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) gdth_do_cmd(scp, &gdtcmd, cmnd, 30); #else gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); #endif } } -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) scsi_release_request(srp); scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) scsi_release_command(scp); scsi_free_host_dev(sdev); #endif } /* shutdown routine */ -#if LINUX_VERSION_CODE >= 0x020100 static int gdth_halt(struct notifier_block *nb, ulong event, void *buf) -#else -void gdth_halt(void) -#endif { int hanum; #ifndef __alpha__ gdth_cmd_str gdtcmd; -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) Scsi_Request *srp; Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) Scsi_Cmnd *scp; Scsi_Device *sdev; #else @@ -5715,20 +6136,11 @@ char cmnd[MAX_COMMAND_SIZE]; #endif -#if LINUX_VERSION_CODE >= 0x020100 TRACE2(("gdth_halt() event %d\n",(int)event)); if (event != SYS_RESTART && event != SYS_HALT && event != SYS_POWER_OFF) return NOTIFY_DONE; -#else - TRACE2(("gdth_halt()\n")); - if (halt_called) { - TRACE2(("already called\n")); - return; - } - halt_called = TRUE; -#endif - printk("GDT: Flushing all host drives .. "); + printk("GDT-HA: Flushing all host drives .. "); for (hanum = 0; hanum < gdth_ctr_count; ++hanum) { gdth_flush(hanum); @@ -5739,32 +6151,24 @@ gdtcmd.Service = CACHESERVICE; gdtcmd.OpCode = GDT_RESET; TRACE2(("gdth_halt(): reset controller %d\n", hanum)); -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); srp = scsi_allocate_request(sdev, GFP_KERNEL); if (!srp) { -#if LINUX_VERSION_CODE >= 0x020100 unregister_reboot_notifier(&gdth_notifier); return NOTIFY_OK; -#else - return; -#endif } srp->sr_cmd_len = 12; srp->sr_use_sg = 0; gdth_do_req(srp, &gdtcmd, cmnd, 10); scsi_release_request(srp); scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); scp = scsi_allocate_device(sdev, 1, FALSE); if (!scp) { -#if LINUX_VERSION_CODE >= 0x020100 unregister_reboot_notifier(&gdth_notifier); return NOTIFY_OK; -#else - return; -#endif } scp->cmd_len = 12; scp->use_sg = 0; @@ -5786,15 +6190,12 @@ #ifdef GDTH_STATISTICS del_timer(&gdth_timer); #endif -#if LINUX_VERSION_CODE >= 0x020100 unregister_reboot_notifier(&gdth_notifier); return NOTIFY_OK; -#endif } -#endif -#if LINUX_VERSION_CODE < 0x020400 && !defined(MODULE) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) && !defined(MODULE) GDTH_INITFUNC(void, gdth_setup(char *str,int *ints)) { @@ -5805,33 +6206,36 @@ #else +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) static Scsi_Host_Template driver_template = { -#if LINUX_VERSION_CODE >= 0x02015F - .proc_name = "gdth", -#else - .proc_dir = &proc_scsi_gdth, + .proc_name = "gdth", + .proc_info = gdth_proc_info, + .name = "GDT SCSI Disk Array Controller", + .detect = gdth_detect, + .release = gdth_release, + .info = gdth_info, + .queuecommand = gdth_queuecommand, + .eh_abort_handler = gdth_eh_abort, + .eh_device_reset_handler = gdth_eh_device_reset, + .eh_bus_reset_handler = gdth_eh_bus_reset, + .eh_host_reset_handler = gdth_eh_host_reset, + .bios_param = gdth_bios_param, + .can_queue = GDTH_MAXCMDS, + .this_id = -1, + .sg_tablesize = GDTH_MAXSG, + .cmd_per_lun = GDTH_MAXC_P_L, + .unchecked_isa_dma = 1, + .use_clustering = ENABLE_CLUSTERING, +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) + .use_new_eh_code = 1, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) + .highmem_io = 1, #endif - .proc_info = gdth_proc_info, - .name = "GDT SCSI Disk Array Controller", - .detect = gdth_detect, - .release = gdth_release, - .info = gdth_info, - .queuecommand = gdth_queuecommand, - .eh_abort_handler = gdth_eh_abort, - .eh_device_reset_handler = gdth_eh_device_reset, - .eh_bus_reset_handler = gdth_eh_bus_reset, - .eh_host_reset_handler = gdth_eh_host_reset, - .bios_param = gdth_bios_param, - .can_queue = GDTH_MAXCMDS, - .this_id = -1, - .sg_tablesize = GDTH_MAXSG, - .cmd_per_lun = GDTH_MAXC_P_L, - .unchecked_isa_dma = 1, - .use_clustering = ENABLE_CLUSTERING, -#if LINUX_VERSION_CODE < 0x020501 - .use_new_eh_code = 1, #endif }; +#else +static Scsi_Host_Template driver_template = GDTH; +#endif #include "scsi_module.c" #ifndef MODULE diff -Nru a/drivers/scsi/gdth.h b/drivers/scsi/gdth.h --- a/drivers/scsi/gdth.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/gdth.h 2004-05-26 15:01:35 -07:00 @@ -10,7 +10,7 @@ * * * - * $Id: gdth.h,v 1.50 2003/09/17 08:29:58 achim Exp $ + * $Id: gdth.h,v 1.57 2004/03/31 11:52:09 achim Exp $ */ #include @@ -26,9 +26,9 @@ /* defines, macros */ /* driver version */ -#define GDTH_VERSION_STR "2.08" -#define GDTH_VERSION 2 -#define GDTH_SUBVERSION 8 +#define GDTH_VERSION_STR "3.04" +#define GDTH_VERSION 3 +#define GDTH_SUBVERSION 4 /* protocol version */ #define PROTOCOL_VERSION 1 @@ -133,7 +133,12 @@ /* new GDT Rx Controller */ #define PCI_DEVICE_ID_VORTEX_GDTNEWRX 0x300 #endif - + +#ifndef PCI_DEVICE_ID_VORTEX_GDTNEWRX2 +/* new(2) GDT Rx Controller */ +#define PCI_DEVICE_ID_VORTEX_GDTNEWRX2 0x301 +#endif + #ifndef PCI_DEVICE_ID_INTEL_SRC /* Intel Storage RAID Controller */ #define PCI_DEVICE_ID_INTEL_SRC 0x600 @@ -146,8 +151,7 @@ /* limits */ #define GDTH_SCRATCH PAGE_SIZE /* 4KB scratch buffer */ -#define GDTH_SCRATCH_ORD 0 /* order 0 means 1 page */ -#define GDTH_MAXCMDS 124 +#define GDTH_MAXCMDS 120 #define GDTH_MAXC_P_L 16 /* max. cmds per lun */ #define GDTH_MAX_RAW 2 /* max. cmds per raw device */ #define MAXOFFSETS 128 @@ -221,6 +225,8 @@ #define GDT_CLUST_RESET 24 /* releases the cluster drives*/ #define GDT_FREEZE_IO 25 /* freezes all IOs */ #define GDT_UNFREEZE_IO 26 /* unfreezes all IOs */ +#define GDT_X_INIT_HOST 29 /* ext. init: 64 bit support */ +#define GDT_X_INFO 30 /* ext. info for drives>2TB */ /* raw service commands */ #define GDT_RESERVE 14 /* reserve dev. to raw serv. */ @@ -230,9 +236,11 @@ #define GDT_RESET_BUS 18 /* reset bus */ #define GDT_SCAN_START 19 /* start device scan */ #define GDT_SCAN_END 20 /* stop device scan */ +#define GDT_X_INIT_RAW 21 /* ext. init: 64 bit support */ /* screen service commands */ #define GDT_REALTIME 3 /* realtime clock to screens. */ +#define GDT_X_INIT_SCR 4 /* ext. init: 64 bit support */ /* IOCTL command defines */ #define SCSI_DR_INFO 0x00 /* SCSI drive info */ @@ -254,6 +262,8 @@ #define CACHE_DRV_INFO 0x07 /* cache drive info */ #define BOARD_FEATURES 0x15 /* controller features */ #define BOARD_INFO 0x28 /* controller info */ +#define SET_PERF_MODES 0x82 /* set mode (coalescing,..) */ +#define GET_PERF_MODES 0x83 /* get mode */ #define CACHE_READ_OEM_STRING_RECORD 0x84 /* read OEM string record */ #define HOST_GET 0x10001L /* get host drive list */ #define IO_CHANNEL 0x00020000L /* default IO channel */ @@ -266,6 +276,7 @@ #define S_CACHE_UNKNOWN 12 /* cache serv.: drive unknown */ #define S_RAW_SCSI 12 /* raw serv.: target error */ #define S_RAW_ILL 0xff /* raw serv.: illegal */ +#define S_NOFUNC -2 /* unknown function */ #define S_CACHE_RESERV -24 /* cache: reserv. conflict */ /* timeout values */ @@ -307,7 +318,12 @@ #define LOCALBOARD 0 /* board node always 0 */ #define ASYNCINDEX 0 /* cmd index async. event */ #define SPEZINDEX 1 /* cmd index unknown service */ +#define COALINDEX (GDTH_MAXCMDS + 2) + +/* features */ +#define SCATTER_GATHER 1 /* s/g feature */ #define GDT_WR_THROUGH 0x100 /* WRITE_THROUGH supported */ +#define GDT_64BIT 0x200 /* 64bit / drv>2TB support */ #include "gdth_ioctl.h" @@ -322,7 +338,40 @@ char msg_text[MSGLEN+2]; /* the message text */ } PACKED gdth_msg_str; + /* IOCTL data structures */ + +/* Status coalescing buffer for returning multiple requests per interrupt */ +typedef struct { + ulong32 status; + ulong32 ext_status; + ulong32 info0; + ulong32 info1; +} PACKED gdth_coal_status; + +/* performance mode data structure */ +typedef struct { + ulong32 version; /* The version of this IOCTL structure. */ + ulong32 st_mode; /* 0=dis., 1=st_buf_addr1 valid, 2=both */ + ulong32 st_buff_addr1; /* physical address of status buffer 1 */ + ulong32 st_buff_u_addr1; /* reserved for 64 bit addressing */ + ulong32 st_buff_indx1; /* reserved command idx. for this buffer */ + ulong32 st_buff_addr2; /* physical address of status buffer 1 */ + ulong32 st_buff_u_addr2; /* reserved for 64 bit addressing */ + ulong32 st_buff_indx2; /* reserved command idx. for this buffer */ + ulong32 st_buff_size; /* size of each buffer in bytes */ + ulong32 cmd_mode; /* 0 = mode disabled, 1 = cmd_buff_addr1 */ + ulong32 cmd_buff_addr1; /* physical address of cmd buffer 1 */ + ulong32 cmd_buff_u_addr1; /* reserved for 64 bit addressing */ + ulong32 cmd_buff_indx1; /* cmd buf addr1 unique identifier */ + ulong32 cmd_buff_addr2; /* physical address of cmd buffer 1 */ + ulong32 cmd_buff_u_addr2; /* reserved for 64 bit addressing */ + ulong32 cmd_buff_indx2; /* cmd buf addr1 unique identifier */ + ulong32 cmd_buff_size; /* size of each cmd bufer in bytes */ + ulong32 reserved1; + ulong32 reserved2; +} PACKED gdth_perf_modes; + /* SCSI drive info */ typedef struct { unchar vendor[8]; /* vendor string */ @@ -795,9 +844,7 @@ /* PCI resources */ typedef struct { -#if LINUX_VERSION_CODE >= 0x02015C struct pci_dev *pdev; -#endif ushort vendor_id; /* vendor (ICP, Intel, ..) */ ushort device_id; /* device ID (0,..,9) */ ushort subdevice_id; /* sub device ID */ @@ -814,20 +861,28 @@ typedef struct { ushort oem_id; /* OEM */ ushort type; /* controller class */ - ushort raw_feat; /* feat. raw service (s/g,..) */ ulong32 stype; /* subtype (PCI: device ID) */ ushort subdevice_id; /* sub device ID (PCI) */ ushort fw_vers; /* firmware version */ - ushort cache_feat; /* feat. cache serv. (s/g,..) */ + ushort cache_feat; /* feat. cache serv. (s/g,..)*/ + ushort raw_feat; /* feat. raw service (s/g,..)*/ + ushort screen_feat; /* feat. raw service (s/g,..)*/ ushort bmic; /* BMIC address (EISA) */ void *brd; /* DPRAM address */ ulong32 brd_phys; /* slot number/BIOS address */ gdt6c_plx_regs *plx; /* PLX regs (new PCI contr.) */ gdth_cmd_str *pccb; /* address command structure */ ulong32 ccb_phys; /* phys. address */ +#ifdef INT_COAL + gdth_coal_status *coal_stat; /* buffer for coalescing int.*/ + ulong64 coal_stat_phys; /* phys. address */ +#endif char *pscratch; /* scratch (DMA) buffer */ - ulong32 scratch_phys; /* phys. address */ + ulong64 scratch_phys; /* phys. address */ unchar scratch_busy; /* in use? */ + unchar dma64_support; /* 64-bit DMA supported? */ + gdth_msg_str *pmsg; /* message buffer */ + ulong64 msg_phys; /* phys. address */ unchar scan_mode; /* current scan mode */ unchar irq; /* IRQ */ unchar drq; /* DRQ (ISA controllers) */ @@ -848,11 +903,11 @@ unchar heads; /* mapping */ unchar secs; ushort devtype; /* further information */ - ulong32 size; /* capacity */ + ulong64 size; /* capacity */ unchar ldr_no; /* log. drive no. */ unchar rw_attribs; /* r/w attributes */ unchar cluster_type; /* cluster properties */ - unchar media_changed; /* Flag:MOUNT/UNMOUNT occurred*/ + unchar media_changed; /* Flag:MOUNT/UNMOUNT occured */ ulong32 start_sec; /* start sector */ } hdr[MAX_LDRIVES]; /* host drives */ struct { @@ -880,13 +935,19 @@ gdth_bfeat_str bfeat; /* controller features */ gdth_binfo_str binfo; /* controller info */ gdth_evt_data dvr; /* event structure */ -#if LINUX_VERSION_CODE >= 0x02015F spinlock_t smp_lock; -#endif -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) struct pci_dev *pdev; #endif char oem_name[8]; +#ifdef GDTH_DMA_STATISTICS + ulong dma32_cnt, dma64_cnt; /* statistics: DMA buffer */ +#endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + Scsi_Device *sdev; +#else + Scsi_Device sdev; +#endif } gdth_ha_str; /* structure for scsi_register(), SCSI bus != 0 */ @@ -924,6 +985,12 @@ ulong32 block_length; } PACKED gdth_rdcap_data; +/* READ_CAPACITY (16) data format */ +typedef struct { + ulong64 last_block_no; + ulong32 block_length; +} PACKED gdth_rdcap16_data; + /* REQUEST_SENSE data format */ typedef struct { unchar errorcode; @@ -965,42 +1032,48 @@ int gdth_detect(Scsi_Host_Template *); int gdth_release(struct Scsi_Host *); int gdth_queuecommand(Scsi_Cmnd *,void (*done)(Scsi_Cmnd *)); -int gdth_abort(Scsi_Cmnd *); -#if LINUX_VERSION_CODE >= 0x010346 -int gdth_reset(Scsi_Cmnd *, unsigned int reset_flags); -#else -int gdth_reset(Scsi_Cmnd *); -#endif const char *gdth_info(struct Scsi_Host *); -#if LINUX_VERSION_CODE >= 0x020501 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) int gdth_bios_param(struct scsi_device *,struct block_device *,sector_t,int *); int gdth_proc_info(struct Scsi_Host *, char *,char **,off_t,int,int); -int gdth_eh_abort(Scsi_Cmnd *scp); -int gdth_eh_device_reset(Scsi_Cmnd *scp); -int gdth_eh_bus_reset(Scsi_Cmnd *scp); -int gdth_eh_host_reset(Scsi_Cmnd *scp); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) int gdth_bios_param(Disk *,kdev_t,int *); int gdth_proc_info(char *,char **,off_t,int,int,int); -int gdth_eh_abort(Scsi_Cmnd *scp); -int gdth_eh_device_reset(Scsi_Cmnd *scp); -int gdth_eh_bus_reset(Scsi_Cmnd *scp); -int gdth_eh_host_reset(Scsi_Cmnd *scp); -#elif LINUX_VERSION_CODE >= 0x02015F +#else int gdth_bios_param(Disk *,kdev_t,int *); extern struct proc_dir_entry proc_scsi_gdth; int gdth_proc_info(char *,char **,off_t,int,int,int); +int gdth_abort(Scsi_Cmnd *); +int gdth_reset(Scsi_Cmnd *,unsigned int); +#define GDTH { proc_dir: &proc_scsi_gdth, \ + proc_info: gdth_proc_info, \ + name: "GDT SCSI Disk Array Controller",\ + detect: gdth_detect, \ + release: gdth_release, \ + info: gdth_info, \ + command: NULL, \ + queuecommand: gdth_queuecommand, \ + eh_abort_handler: gdth_eh_abort, \ + eh_device_reset_handler: gdth_eh_device_reset, \ + eh_bus_reset_handler: gdth_eh_bus_reset, \ + eh_host_reset_handler: gdth_eh_host_reset, \ + abort: gdth_abort, \ + reset: gdth_reset, \ + bios_param: gdth_bios_param, \ + can_queue: GDTH_MAXCMDS, \ + this_id: -1, \ + sg_tablesize: GDTH_MAXSG, \ + cmd_per_lun: GDTH_MAXC_P_L, \ + present: 0, \ + unchecked_isa_dma: 1, \ + use_clustering: ENABLE_CLUSTERING, \ + use_new_eh_code: 1 /* use new error code */ } +#endif + int gdth_eh_abort(Scsi_Cmnd *scp); int gdth_eh_device_reset(Scsi_Cmnd *scp); int gdth_eh_bus_reset(Scsi_Cmnd *scp); int gdth_eh_host_reset(Scsi_Cmnd *scp); -#elif LINUX_VERSION_CODE >= 0x010300 -int gdth_bios_param(Disk *,kdev_t,int *); -extern struct proc_dir_entry proc_scsi_gdth; -int gdth_proc_info(char *,char **,off_t,int,int,int); -#else -int gdth_bios_param(Disk *,int,int *); -#endif -#endif +#endif diff -Nru a/drivers/scsi/gdth_ioctl.h b/drivers/scsi/gdth_ioctl.h --- a/drivers/scsi/gdth_ioctl.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/gdth_ioctl.h 2004-05-26 15:01:36 -07:00 @@ -2,7 +2,7 @@ #define _GDTH_IOCTL_H /* gdth_ioctl.h - * $Id: gdth_ioctl.h,v 1.11 2003/02/27 14:59:03 achim Exp $ + * $Id: gdth_ioctl.h,v 1.14 2004/02/19 15:43:15 achim Exp $ */ /* IOCTLs */ @@ -21,8 +21,8 @@ #define GDTIOCTL_RESCAN (GDTIOCTL_MASK |11) /* rescan host drives */ #define GDTIOCTL_RESET_DRV (GDTIOCTL_MASK |12) /* reset (remote) drv. res. */ -#define GDTIOCTL_MAGIC 0xaffe0004 -#define EVENT_SIZE 294 +#define GDTIOCTL_MAGIC 0xaffe0004 +#define EVENT_SIZE 294 #define GDTH_MAXSG 32 /* max. s/g elements */ #define MAX_LDRIVES 255 /* max. log. drive count */ @@ -35,7 +35,9 @@ /* typedefs */ #ifdef __KERNEL__ typedef u32 ulong32; +typedef u64 ulong64; #endif + #define PACKED __attribute__((packed)) /* scatter/gather element */ @@ -44,6 +46,12 @@ ulong32 sg_len; /* length */ } PACKED gdth_sg_str; +/* scatter/gather element - 64bit addresses */ +typedef struct { + ulong64 sg_ptr; /* address */ + ulong32 sg_len; /* length */ +} PACKED gdth_sg64_str; + /* command structure */ typedef struct { ulong32 BoardNode; /* board node (always 0) */ @@ -59,17 +67,25 @@ gdth_sg_str sg_lst[GDTH_MAXSG]; /* s/g list */ } PACKED cache; /* cache service cmd. str. */ struct { + ushort DeviceNo; /* number of cache drive */ + ulong64 BlockNo; /* block number */ + ulong32 BlockCnt; /* block count */ + ulong64 DestAddr; /* dest. addr. (if s/g: -1) */ + ulong32 sg_canz; /* s/g element count */ + gdth_sg64_str sg_lst[GDTH_MAXSG]; /* s/g list */ + } PACKED cache64; /* cache service cmd. str. */ + struct { ushort param_size; /* size of p_param buffer */ ulong32 subfunc; /* IOCTL function */ ulong32 channel; /* device */ - ulong32 p_param; /* buffer */ + ulong64 p_param; /* buffer */ } PACKED ioctl; /* IOCTL command structure */ struct { ushort reserved; union { struct { ulong32 msg_handle; /* message handle */ - ulong32 msg_addr; /* message buffer address */ + ulong64 msg_addr; /* message buffer address */ } PACKED msg; unchar data[12]; /* buffer for rtc data, ... */ } su; @@ -93,6 +109,24 @@ ulong32 sg_ranz; /* s/g element count */ gdth_sg_str sg_lst[GDTH_MAXSG]; /* s/g list */ } PACKED raw; /* raw service cmd. struct. */ + struct { + ushort reserved; + ulong32 direction; /* data direction */ + ulong32 mdisc_time; /* disc. time (0: no timeout)*/ + ulong32 mcon_time; /* connect time(0: no to.) */ + ulong64 sdata; /* dest. addr. (if s/g: -1) */ + ulong32 sdlen; /* data length (bytes) */ + ulong32 clen; /* SCSI cmd. length(6,..,16) */ + unchar cmd[16]; /* SCSI command */ + unchar target; /* target ID */ + unchar lun; /* LUN */ + unchar bus; /* SCSI bus number */ + unchar priority; /* only 0 used */ + ulong32 sense_len; /* sense data length */ + ulong64 sense_data; /* sense data addr. */ + ulong32 sg_ranz; /* s/g element count */ + gdth_sg64_str sg_lst[GDTH_MAXSG]; /* s/g list */ + } PACKED raw64; /* raw service cmd. struct. */ } u; /* additional variables */ unchar Service; /* controller service */ @@ -236,7 +270,6 @@ } gdth_iord_str; #endif -#ifdef GDTH_IOCTL_CHRDEV /* GDTIOCTL_GENERAL */ typedef struct { ushort ionode; /* controller number */ @@ -244,8 +277,8 @@ ulong32 info; /* error info */ ushort status; /* status */ ulong data_len; /* data buffer size */ - ulong sense_len; /* sense buffer size */ - gdth_cmd_str command; /* command */ + ulong sense_len; /* sense buffer size */ + gdth_cmd_str command; /* command */ } gdth_ioctl_general; /* GDTIOCTL_LOCKDRV */ @@ -310,6 +343,5 @@ ushort number; /* bus/host drive number */ ushort status; /* status */ } gdth_ioctl_reset; -#endif #endif diff -Nru a/drivers/scsi/gdth_proc.c b/drivers/scsi/gdth_proc.c --- a/drivers/scsi/gdth_proc.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/gdth_proc.c 2004-05-26 15:01:36 -07:00 @@ -1,56 +1,80 @@ /* gdth_proc.c - * $Id: gdth_proc.c,v 1.37 2003/09/17 08:31:53 achim Exp $ + * $Id: gdth_proc.c,v 1.42 2004/03/05 15:50:20 achim Exp $ */ -#if LINUX_VERSION_CODE >= 0x020407 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,7) #include #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) int gdth_proc_info(struct Scsi_Host *host, char *buffer,char **start,off_t offset,int length, int inout) { int hanum,busnum; - TRACE2(("gdth_proc_info() length %d ha %d offs %d inout %d\n", - length,hostno,(int)offset,inout)); + TRACE2(("gdth_proc_info() length %d offs %d inout %d\n", + length,(int)offset,inout)); hanum = NUMDATA(host)->hanum; busnum= NUMDATA(host)->busnum; if (inout) - return(gdth_set_info(buffer,length,hanum,busnum)); + return(gdth_set_info(buffer,length,host,hanum,busnum)); else - return(gdth_get_info(buffer,start,offset,length,hanum,busnum)); + return(gdth_get_info(buffer,start,offset,length,host,hanum,busnum)); } +#else +int gdth_proc_info(char *buffer,char **start,off_t offset,int length,int hostno, + int inout) +{ + int hanum,busnum,i; + + TRACE2(("gdth_proc_info() length %d offs %d inout %d\n", + length,(int)offset,inout)); + + for (i = 0; i < gdth_ctr_vcount; ++i) { + if (gdth_ctr_vtab[i]->host_no == hostno) + break; + } + if (i == gdth_ctr_vcount) + return(-EINVAL); + + hanum = NUMDATA(gdth_ctr_vtab[i])->hanum; + busnum= NUMDATA(gdth_ctr_vtab[i])->busnum; + + if (inout) + return(gdth_set_info(buffer,length,gdth_ctr_vtab[i],hanum,busnum)); + else + return(gdth_get_info(buffer,start,offset,length, + gdth_ctr_vtab[i],hanum,busnum)); +} +#endif -static int gdth_set_info(char *buffer,int length,int hanum,int busnum) +static int gdth_set_info(char *buffer,int length,struct Scsi_Host *host, + int hanum,int busnum) { int ret_val = -EINVAL; -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) Scsi_Request *scp; Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) Scsi_Cmnd *scp; Scsi_Device *sdev; #else Scsi_Cmnd scp; Scsi_Device sdev; #endif -#ifdef GDTH_IOCTL_PROC - gdth_iowr_str *piowr; - piowr = (gdth_iowr_str *)buffer; -#endif TRACE2(("gdth_set_info() ha %d bus %d\n",hanum,busnum)); -#if LINUX_VERSION_CODE >= 0x020503 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + sdev = scsi_get_host_dev(host); scp = scsi_allocate_request(sdev, GFP_KERNEL); if (!scp) return -ENOMEM; scp->sr_cmd_len = 12; scp->sr_use_sg = 0; -#elif LINUX_VERSION_CODE >= 0x020322 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + sdev = scsi_get_host_dev(host); scp = scsi_allocate_device(sdev, 1, FALSE); if (!scp) return -ENOMEM; @@ -59,7 +83,7 @@ #else memset(&sdev,0,sizeof(Scsi_Device)); memset(&scp, 0,sizeof(Scsi_Cmnd)); - sdev.host = scp.host = gdth_ctr_tab[hanum]; + sdev.host = scp.host = host; sdev.id = scp.target = sdev.host->this_id; scp.device = &sdev; #endif @@ -69,32 +93,21 @@ buffer += 5; length -= 5; ret_val = gdth_set_asc_info( buffer, length, hanum, scp ); -#ifdef GDTH_IOCTL_PROC - } else if (piowr->magic == GDTIOCTL_MAGIC) { - ret_val = gdth_set_bin_info( buffer, length, hanum, scp ); - } else { - printk("GDT: Wrong signature %x (%x required)!\n", - piowr->magic, GDTIOCTL_MAGIC); - if (piowr->magic > GDTIOCTL_MAGIC) - printk("GDT: Please update your driver.\n"); - else - printk("GDT: Please update your tool.\n"); -#endif } } -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) scsi_release_request(scp); scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) scsi_release_command(scp); scsi_free_host_dev(sdev); #endif return ret_val; } -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) static int gdth_set_asc_info(char *buffer,int length,int hanum,Scsi_Request *scp) -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) static int gdth_set_asc_info(char *buffer,int length,int hanum,Scsi_Cmnd *scp) #else static int gdth_set_asc_info(char *buffer,int length,int hanum,Scsi_Cmnd scp) @@ -105,7 +118,7 @@ gdth_ha_str *ha; gdth_cmd_str gdtcmd; gdth_cpar_str *pcpar; - ulong32 paddr; + ulong64 paddr; char cmnd[MAX_COMMAND_SIZE]; memset(cmnd, 0xff, 12); @@ -139,11 +152,16 @@ found = TRUE; gdtcmd.Service = CACHESERVICE; gdtcmd.OpCode = GDT_FLUSH; - gdtcmd.u.cache.DeviceNo = i; - gdtcmd.u.cache.BlockNo = 1; -#if LINUX_VERSION_CODE >= 0x020503 + if (ha->cache_feat & GDT_64BIT) { + gdtcmd.u.cache64.DeviceNo = i; + gdtcmd.u.cache64.BlockNo = 1; + } else { + gdtcmd.u.cache.DeviceNo = i; + gdtcmd.u.cache.BlockNo = 1; + } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) gdth_do_req(scp, &gdtcmd, cmnd, 30); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) gdth_do_cmd(scp, &gdtcmd, cmnd, 30); #else gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); @@ -199,9 +217,9 @@ gdtcmd.u.ioctl.subfunc = CACHE_CONFIG; gdtcmd.u.ioctl.channel = INVALID_CHANNEL; pcpar->write_back = wb_mode==1 ? 0:1; -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) gdth_do_req(scp, &gdtcmd, cmnd, 30); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) gdth_do_cmd(scp, &gdtcmd, cmnd, 30); #else gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); @@ -215,562 +233,23 @@ return(-EINVAL); } -#ifdef GDTH_IOCTL_PROC -#if LINUX_VERSION_CODE >= 0x020503 -static int gdth_set_bin_info(char *buffer,int length,int hanum,Scsi_Request *scp) -#elif LINUX_VERSION_CODE >= 0x020322 -static int gdth_set_bin_info(char *buffer,int length,int hanum,Scsi_Cmnd *scp) -#else -static int gdth_set_bin_info(char *buffer,int length,int hanum,Scsi_Cmnd scp) -#endif -{ - unchar i, j; - ushort k, hdr_cnt, status; - gdth_ha_str *ha; - gdth_iowr_str *piowr; - gdth_iord_str *piord; - gdth_cmd_str *pcmd; - gdth_evt_str *pevt; - ulong32 *ppadd, add_size, *ppadd2, add_size2, info, paddr; - ulong flags; - gdth_cmd_str gdtcmd; - int drv_cyls, drv_hds, drv_secs; - - char cmnd[MAX_COMMAND_SIZE]; - memset(cmnd, 0xff, 12); - memset(&gdtcmd, 0, sizeof(gdth_cmd_str)); - - TRACE2(("gdth_set_bin_info() ha %d\n",hanum)); - ha = HADATA(gdth_ctr_tab[hanum]); - piowr = (gdth_iowr_str *)buffer; - piord = NULL; - pcmd = NULL; - ppadd = ppadd2 = NULL; - add_size = add_size2 = 0; - - if (length < GDTOFFSOF(gdth_iowr_str,iu)) - return(-EINVAL); - - switch (piowr->ioctl) { - case GDTIOCTL_GENERAL: - if (length < GDTOFFSOF(gdth_iowr_str,iu.general.data[0])) - return(-EINVAL); - pcmd = (gdth_cmd_str *)piowr->iu.general.command; - pcmd->Service = piowr->service; - if (pcmd->OpCode == GDT_IOCTL) { - ppadd = &pcmd->u.ioctl.p_param; - add_size = pcmd->u.ioctl.param_size; - } else if (piowr->service == CACHESERVICE) { - add_size = pcmd->u.cache.BlockCnt * SECTOR_SIZE; - if (ha->cache_feat & SCATTER_GATHER) { - ppadd = &pcmd->u.cache.sg_lst[0].sg_ptr; - pcmd->u.cache.DestAddr = 0xffffffff; - pcmd->u.cache.sg_lst[0].sg_len = add_size; - pcmd->u.cache.sg_canz = 1; - } else { - ppadd = &pcmd->u.cache.DestAddr; - pcmd->u.cache.sg_canz = 0; - } - } else if (piowr->service == SCSIRAWSERVICE) { - add_size = pcmd->u.raw.sdlen; - add_size2 = pcmd->u.raw.sense_len; - if (ha->raw_feat & SCATTER_GATHER) { - ppadd = &pcmd->u.raw.sg_lst[0].sg_ptr; - pcmd->u.raw.sdata = 0xffffffff; - pcmd->u.raw.sg_lst[0].sg_len = add_size; - pcmd->u.raw.sg_ranz = 1; - } else { - ppadd = &pcmd->u.raw.sdata; - pcmd->u.raw.sg_ranz = 0; - } - ppadd2 = &pcmd->u.raw.sense_data; - } else { - return(-EINVAL); - } - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str)+add_size+add_size2, - TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str) + add_size + add_size2; - if (add_size > 0) { - memcpy(piord->iu.general.data, piowr->iu.general.data, add_size); - *ppadd = paddr + GDTOFFSOF(gdth_iord_str, iu.general.data[0]); - } - if (add_size2 > 0) { - memcpy(piord->iu.general.data+add_size, piowr->iu.general.data, add_size2); - *ppadd2 = paddr + GDTOFFSOF(gdth_iord_str, iu.general.data[0]) + add_size2; - } - - /* do IOCTL */ -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, pcmd, cmnd, piowr->timeout); - piord->status = (scp->sr_command->SCp.Message << 16) | - scp->sr_command->SCp.Status; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, pcmd, cmnd, piowr->timeout); - piord->status = (scp->SCp.Message<<16)|scp->SCp.Status; -#else - gdth_do_cmd(&scp, pcmd, cmnd, piowr->timeout); - piord->status = (scp.SCp.Message<<16)|scp.SCp.Status; -#endif - break; - - case GDTIOCTL_DRVERS: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - piord->iu.drvers.version = (GDTH_VERSION<<8) | GDTH_SUBVERSION; - break; - - case GDTIOCTL_CTRTYPE: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - if (ha->type == GDT_ISA || ha->type == GDT_EISA) { - piord->iu.ctrtype.type = (unchar)((ha->stype>>20) - 0x10); - } else { - if (ha->type != GDT_PCIMPR) { - piord->iu.ctrtype.type = (unchar)((ha->stype<<4) + 6); - } else { - piord->iu.ctrtype.type = - (ha->oem_id == OEM_ID_INTEL ? 0xfd : 0xfe); - if (ha->stype >= 0x300) - piord->iu.ctrtype.ext_type = 0x6000 | ha->subdevice_id; - else - piord->iu.ctrtype.ext_type = 0x6000 | ha->stype; - } - piord->iu.ctrtype.device_id = ha->stype; - piord->iu.ctrtype.sub_device_id = ha->subdevice_id; - } - piord->iu.ctrtype.info = ha->brd_phys; - piord->iu.ctrtype.oem_id = ha->oem_id; - break; - - case GDTIOCTL_CTRCNT: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - piord->iu.ctrcnt.count = (ushort)gdth_ctr_count; - break; - - case GDTIOCTL_OSVERS: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - piord->iu.osvers.version = (unchar)(LINUX_VERSION_CODE >> 16); - piord->iu.osvers.subversion = (unchar)(LINUX_VERSION_CODE >> 8); - piord->iu.osvers.revision = (ushort)(LINUX_VERSION_CODE & 0xff); - break; - - case GDTIOCTL_LOCKDRV: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - for (i = 0; i < piowr->iu.lockdrv.drive_cnt; ++i) { - j = piowr->iu.lockdrv.drives[i]; - if (j >= MAX_HDRIVES || !ha->hdr[j].present) - continue; - if (piowr->iu.lockdrv.lock) { - GDTH_LOCK_HA(ha, flags); - ha->hdr[j].lock = 1; - GDTH_UNLOCK_HA(ha, flags); - gdth_wait_completion( hanum, ha->bus_cnt, j ); - gdth_stop_timeout( hanum, ha->bus_cnt, j ); - } else { - GDTH_LOCK_HA(ha, flags); - ha->hdr[j].lock = 0; - GDTH_UNLOCK_HA(ha, flags); - gdth_start_timeout( hanum, ha->bus_cnt, j ); - gdth_next( hanum ); - } - } - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - break; - - case GDTIOCTL_LOCKCHN: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - i = piowr->iu.lockchn.channel; - if (i < ha->bus_cnt) { - if (piowr->iu.lockchn.lock) { - GDTH_LOCK_HA(ha, flags); - ha->raw[i].lock = 1; - GDTH_UNLOCK_HA(ha, flags); - for (j = 0; j < ha->tid_cnt; ++j) { - gdth_wait_completion( hanum, i, j ); - gdth_stop_timeout( hanum, i, j ); - } - } else { - GDTH_LOCK_HA(ha, flags); - ha->raw[i].lock = 0; - GDTH_UNLOCK_HA(ha, flags); - for (j = 0; j < ha->tid_cnt; ++j) { - gdth_start_timeout( hanum, i, j ); - gdth_next( hanum ); - } - } - } - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - break; - - case GDTIOCTL_EVENT: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - if (piowr->iu.event.erase == 0xff) { - pevt = (gdth_evt_str *)piowr->iu.event.evt; - if (pevt->event_source == ES_TEST) - pevt->event_data.size = sizeof(pevt->event_data.eu.test); - else if (pevt->event_source == ES_DRIVER) - pevt->event_data.size = sizeof(pevt->event_data.eu.driver); - else if (pevt->event_source == ES_SYNC) - pevt->event_data.size = sizeof(pevt->event_data.eu.sync); - else { - pevt->event_data.size = sizeof(pevt->event_data.eu.async); - gdth_log_event(&pevt->event_data, NULL); - } - GDTH_LOCK_HA(ha, flags); - gdth_store_event(ha, pevt->event_source, pevt->event_idx, - &pevt->event_data); - GDTH_UNLOCK_HA(ha, flags); - } else if (piowr->iu.event.erase == 0xfe) { - gdth_clear_events(); - } else if (piowr->iu.event.erase == 0) { - piord->iu.event.handle = - gdth_read_event(ha,piowr->iu.event.handle, - (gdth_evt_str *)piord->iu.event.evt); - } else { - piord->iu.event.handle = piowr->iu.event.handle; - gdth_readapp_event(ha, (unchar)piowr->iu.event.erase, - (gdth_evt_str *)piord->iu.event.evt); - } - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - break; - - case GDTIOCTL_SCSI: -#if LINUX_VERSION_CODE >= 0x020503 - return(-EINVAL); -#else - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - memcpy(cmnd, piowr->iu.scsi.cmd, 12); -#if LINUX_VERSION_CODE >= 0x020322 - scp->target = piowr->iu.scsi.target; - scp->channel = virt_ctr ? 0 : piowr->iu.scsi.bus; - scp->cmd_len = piowr->iu.scsi.cmd_len; - gdth_do_cmd(scp, pcmd, cmnd, piowr->timeout); - piord->status = (scp->SCp.Message<<16)|scp->SCp.Status; -#else - scp.target = piowr->iu.scsi.target; - scp.channel = virt_ctr ? 0 : piowr->iu.scsi.bus; - scp.cmd_len = piowr->iu.scsi.cmd_len; - gdth_do_cmd(&scp, pcmd, cmnd, piowr->timeout); - piord->status = (scp.SCp.Message<<16)|scp.SCp.Status; -#endif -#endif - break; - - case GDTIOCTL_RESET_BUS: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); -#if LINUX_VERSION_CODE >= 0x02053C - { - Scsi_Device *sdev; - Scsi_Cmnd *scmnd; - - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); - scmnd= scsi_get_command(sdev, GFP_KERNEL); - if (!scmnd) - return(-ENOMEM); - scmnd->device->host = scp->sr_host; - scmnd->device->channel = virt_ctr ? 0 : piowr->iu.scsi.bus; - piord->status = (ulong32)gdth_eh_bus_reset( scmnd ); - if (piord->status == SUCCESS) - piord->status = S_OK; - else - piord->status = S_GENERR; - scsi_put_command(scmnd); - scsi_free_host_dev(sdev); - } -#elif LINUX_VERSION_CODE >= 0x020503 - { - Scsi_Cmnd scmnd; - - scmnd.host = scp->sr_host; - scmnd.channel = virt_ctr ? 0 : piowr->iu.scsi.bus; - piord->status = (ulong32)gdth_eh_bus_reset( &scmnd ); - if (piord->status == SUCCESS) - piord->status = S_OK; - else - piord->status = S_GENERR; - } -#elif LINUX_VERSION_CODE >= 0x020322 - scp->channel = virt_ctr ? 0 : piowr->iu.scsi.bus; - piord->status = (ulong32)gdth_eh_bus_reset( scp ); - if (piord->status == SUCCESS) - piord->status = S_OK; - else - piord->status = S_GENERR; -#elif LINUX_VERSION_CODE >= 0x02015F - scp.channel = virt_ctr ? 0 : piowr->iu.scsi.bus; - piord->status = (ulong32)gdth_eh_bus_reset( &scp ); - if (piord->status == SUCCESS) - piord->status = S_OK; - else - piord->status = S_GENERR; -#else - piord->status = S_OK; -#endif - break; - - case GDTIOCTL_HDRLIST: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - for (i = 0; i < MAX_HDRIVES; ++i) { - if (ha->hdr[i].present) { - piord->iu.hdr_list[i].bus = ha->virt_bus; - piord->iu.hdr_list[i].target = i; - piord->iu.hdr_list[i].lun = 0; - piord->iu.hdr_list[i].cluster_type = ha->hdr[i].cluster_type; - if (ha->hdr[i].cluster_type & CLUSTER_DRIVE) { - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_CLUST_INFO; - gdtcmd.u.cache.DeviceNo = i; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - if (scp->sr_command->SCp.Status == S_OK) - piord->iu.hdr_list[i].cluster_type = - (unchar)scp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - if (scp->SCp.Status == S_OK) - piord->iu.hdr_list[i].cluster_type = - (unchar)scp->SCp.Message; -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - if (scp.SCp.Status == S_OK) - piord->iu.hdr_list[i].cluster_type = - (unchar)scp.SCp.Message; -#endif - } - } else { - piord->iu.hdr_list[i].bus = 0xff; - } - } - break; - - case GDTIOCTL_RESCAN: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - if (piowr->iu.rescan.flag == 0) { - /* old method: scan all host drives - re-initialize cache service to get host drive count - */ - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_INIT; - gdtcmd.u.cache.DeviceNo = LINUX_OS; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->sr_command->SCp.Status; - info = (ulong32)scp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; -#endif - if (status != S_OK) - break; - k = 0; - hdr_cnt = (ushort)info; - } else { - k = piowr->iu.rescan.hdr_no; - hdr_cnt = k + 1; - } - if (hdr_cnt > MAX_HDRIVES) - hdr_cnt = MAX_HDRIVES; - /* scanning for host drives */ - for (; k < hdr_cnt; ++k) { - /* info about host drive */ - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_INFO; - gdtcmd.u.cache.DeviceNo = k; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->sr_command->SCp.Status; - info = (ulong32)scp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; -#endif - GDTH_LOCK_HA(ha, flags); - piord->iu.hdr_list[k].bus = ha->virt_bus; - piord->iu.hdr_list[k].target = k; - piord->iu.hdr_list[k].lun = 0; - if (status != S_OK) { - ha->hdr[k].present = FALSE; - } else { - ha->hdr[k].present = TRUE; - ha->hdr[k].size = info; - /* evaluate mapping (sectors per head, heads per cylinder) */ - ha->hdr[k].size &= ~SECS32; - gdth_eval_mapping(ha->hdr[k].size,&drv_cyls,&drv_hds,&drv_secs); - ha->hdr[k].heads = (unchar)drv_hds; - ha->hdr[k].secs = (unchar)drv_secs; - /* round size */ - ha->hdr[k].size = drv_cyls * drv_hds * drv_secs; - } - GDTH_UNLOCK_HA(ha, flags); - if (status != S_OK) - continue; /* next host drive */ - - /* devtype, cluster info, R/W attributes */ - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_DEVTYPE; - gdtcmd.u.cache.DeviceNo = k; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->sr_command->SCp.Status; - info = (ulong32)scp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; -#endif - GDTH_LOCK_HA(ha, flags); - ha->hdr[k].devtype = 0; - if (status == S_OK) - ha->hdr[k].devtype = (ushort)info; - GDTH_UNLOCK_HA(ha, flags); - - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_CLUST_INFO; - gdtcmd.u.cache.DeviceNo = k; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->sr_command->SCp.Status; - info = (ulong32)scp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; -#endif - GDTH_LOCK_HA(ha, flags); - ha->hdr[k].cluster_type = 0; - if (status == S_OK && !shared_access) - ha->hdr[k].cluster_type = (ushort)info; - GDTH_UNLOCK_HA(ha, flags); - piord->iu.hdr_list[k].cluster_type = ha->hdr[k].cluster_type; - - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_RW_ATTRIBS; - gdtcmd.u.cache.DeviceNo = k; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->sr_command->SCp.Status; - info = (ulong32)scp->sr_command->SCp.Message; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - status = (ushort)scp->SCp.Status; - info = (ulong32)scp->SCp.Message; -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - status = (ushort)scp.SCp.Status; - info = (ulong32)scp.SCp.Message; -#endif - GDTH_LOCK_HA(ha, flags); - ha->hdr[k].rw_attribs = 0; - if (status == S_OK) - ha->hdr[k].rw_attribs = (ushort)info; - GDTH_UNLOCK_HA(ha, flags); - } - break; - - case GDTIOCTL_RESET_DRV: - if (!gdth_ioctl_alloc( hanum, sizeof(gdth_iord_str), TRUE, &paddr )) - return(-EBUSY); - piord = (gdth_iord_str *)ha->pscratch; - piord->size = sizeof(gdth_iord_str); - piord->status = S_OK; - i = piowr->iu.scsi.target; - if (ha->hdr[i].present) { - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_CLUST_RESET; - gdtcmd.u.cache.DeviceNo = i; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - piord->status = (ushort)scp->sr_command->SCp.Status; -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - piord->status = (scp->SCp.Message<<16)|scp->SCp.Status; -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - piord->status = (scp.SCp.Message<<16)|scp.SCp.Status; -#endif - } - break; - - default: - return(-EINVAL); - } - return length; -} -#endif - -static int gdth_get_info(char *buffer,char **start,off_t offset, - int length,int hanum,int busnum) +static int gdth_get_info(char *buffer,char **start,off_t offset,int length, + struct Scsi_Host *host,int hanum,int busnum) { int size = 0,len = 0; off_t begin = 0,pos = 0; gdth_ha_str *ha; int id, i, j, k, sec, flag; int no_mdrv = 0, drv_no, is_mirr; - ulong32 cnt, paddr; + ulong32 cnt; + ulong64 paddr; gdth_cmd_str gdtcmd; gdth_evt_str estr; -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) Scsi_Request *scp; Scsi_Device *sdev; -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) Scsi_Cmnd *scp; Scsi_Device *sdev; #else @@ -795,15 +274,15 @@ TRACE2(("gdth_get_info() ha %d bus %d\n",hanum,busnum)); ha = HADATA(gdth_ctr_tab[hanum]); -#if LINUX_VERSION_CODE >= 0x020503 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + sdev = scsi_get_host_dev(host); scp = scsi_allocate_request(sdev, GFP_KERNEL); if (!scp) return -ENOMEM; scp->sr_cmd_len = 12; scp->sr_use_sg = 0; -#elif LINUX_VERSION_CODE >= 0x020322 - sdev = scsi_get_host_dev(gdth_ctr_tab[hanum]); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + sdev = scsi_get_host_dev(host); scp = scsi_allocate_device(sdev, 1, FALSE); if (!scp) return -ENOMEM; @@ -812,485 +291,415 @@ #else memset(&sdev,0,sizeof(Scsi_Device)); memset(&scp, 0,sizeof(Scsi_Cmnd)); - sdev.host = scp.host = gdth_ctr_tab[hanum]; + sdev.host = scp.host = host; sdev.id = scp.target = sdev.host->this_id; scp.device = &sdev; #endif - -#ifdef GDTH_IOCTL_PROC - /* ioctl from tool? */ - if (!gdth_ioctl_check_bin(hanum, (ushort)length)) { -#endif - /* request is i.e. "cat /proc/scsi/gdth/0" */ - /* format: %-15s\t%-10s\t%-15s\t%s */ - /* driver parameters */ - size = sprintf(buffer+len,"Driver Parameters:\n"); - len += size; pos = begin + len; - if (reserve_list[0] == 0xff) - strcpy(hrec, "--"); - else { - sprintf(hrec, "%d", reserve_list[0]); - for (i = 1; i < MAX_RES_ARGS; i++) { - if (reserve_list[i] == 0xff) - break; - sprintf(hrec,"%s,%d", hrec, reserve_list[i]); - } + + + /* request is i.e. "cat /proc/scsi/gdth/0" */ + /* format: %-15s\t%-10s\t%-15s\t%s */ + /* driver parameters */ + size = sprintf(buffer+len,"Driver Parameters:\n"); + len += size; pos = begin + len; + if (reserve_list[0] == 0xff) + strcpy(hrec, "--"); + else { + sprintf(hrec, "%d", reserve_list[0]); + for (i = 1; i < MAX_RES_ARGS; i++) { + if (reserve_list[i] == 0xff) + break; + sprintf(hrec,"%s,%d", hrec, reserve_list[i]); } - size = sprintf(buffer+len, - " reserve_mode: \t%d \treserve_list: \t%s\n", - reserve_mode, hrec); - len += size; pos = begin + len; - size = sprintf(buffer+len, - " max_ids: \t%-3d \thdr_channel: \t%d\n", - max_ids, hdr_channel); - len += size; pos = begin + len; + } + size = sprintf(buffer+len, + " reserve_mode: \t%d \treserve_list: \t%s\n", + reserve_mode, hrec); + len += size; pos = begin + len; + size = sprintf(buffer+len, + " max_ids: \t%-3d \thdr_channel: \t%d\n", + max_ids, hdr_channel); + len += size; pos = begin + len; + + /* controller information */ + size = sprintf(buffer+len,"\nDisk Array Controller Information:\n"); + len += size; pos = begin + len; + if (virt_ctr) + sprintf(hrec, "%s (Bus %d)", ha->binfo.type_string, busnum); + else + strcpy(hrec, ha->binfo.type_string); + size = sprintf(buffer+len, + " Number: \t%d \tName: \t%s\n", + hanum, hrec); + len += size; pos = begin + len; + + if (ha->more_proc) + sprintf(hrec, "%d.%02d.%02d-%c%03X", + (unchar)(ha->binfo.upd_fw_ver>>24), + (unchar)(ha->binfo.upd_fw_ver>>16), + (unchar)(ha->binfo.upd_fw_ver), + ha->bfeat.raid ? 'R':'N', + ha->binfo.upd_revision); + else + sprintf(hrec, "%d.%02d", (unchar)(ha->cpar.version>>8), + (unchar)(ha->cpar.version)); - /* controller information */ - size = sprintf(buffer+len,"\nDisk Array Controller Information:\n"); - len += size; pos = begin + len; - if (virt_ctr) - sprintf(hrec, "%s (Bus %d)", ha->binfo.type_string, busnum); - else - strcpy(hrec, ha->binfo.type_string); + size = sprintf(buffer+len, + " Driver Ver.: \t%-10s\tFirmware Ver.: \t%s\n", + GDTH_VERSION_STR, hrec); + len += size; pos = begin + len; + + if (ha->more_proc) { + /* more information: 1. about controller */ size = sprintf(buffer+len, - " Number: \t%d \tName: \t%s\n", - hanum, hrec); + " Serial No.: \t0x%8X\tCache RAM size:\t%d KB\n", + ha->binfo.ser_no, ha->binfo.memsize / 1024); len += size; pos = begin + len; + } - if (ha->more_proc) - sprintf(hrec, "%d.%02d.%02d-%c%03X", - (unchar)(ha->binfo.upd_fw_ver>>24), - (unchar)(ha->binfo.upd_fw_ver>>16), - (unchar)(ha->binfo.upd_fw_ver), - ha->bfeat.raid ? 'R':'N', - ha->binfo.upd_revision); - else - sprintf(hrec, "%d.%02d", (unchar)(ha->cpar.version>>8), - (unchar)(ha->cpar.version)); +#ifdef GDTH_DMA_STATISTICS + /* controller statistics */ + size = sprintf(buffer+len,"\nController Statistics:\n"); + len += size; pos = begin + len; + size = sprintf(buffer+len, + " 32-bit DMA buffer:\t%lu\t64-bit DMA buffer:\t%lu\n", + ha->dma32_cnt, ha->dma64_cnt); + len += size; pos = begin + len; +#endif - size = sprintf(buffer+len, - " Driver Ver.: \t%-10s\tFirmware Ver.: \t%s\n", - GDTH_VERSION_STR, hrec); + if (pos < offset) { + len = 0; + begin = pos; + } + if (pos > offset + length) + goto stop_output; + + if (ha->more_proc) { + /* more information: 2. about physical devices */ + size = sprintf(buffer+len,"\nPhysical Devices:"); len += size; pos = begin + len; - - if (pos < offset) { - len = 0; - begin = pos; - } - if (pos > offset + length) + flag = FALSE; + + buf = gdth_ioctl_alloc(hanum, GDTH_SCRATCH, FALSE, &paddr); + if (!buf) goto stop_output; + for (i = 0; i < ha->bus_cnt; ++i) { + /* 2.a statistics (and retries/reassigns) */ + TRACE2(("pdr_statistics() chn %d\n",i)); + pds = (gdth_dskstat_str *)(buf + GDTH_SCRATCH/4); + gdtcmd.Service = CACHESERVICE; + gdtcmd.OpCode = GDT_IOCTL; + gdtcmd.u.ioctl.p_param = paddr + GDTH_SCRATCH/4; + gdtcmd.u.ioctl.param_size = 3*GDTH_SCRATCH/4; + gdtcmd.u.ioctl.subfunc = DSK_STATISTICS | L_CTRL_PATTERN; + gdtcmd.u.ioctl.channel = ha->raw[i].address | INVALID_CHANNEL; + pds->bid = ha->raw[i].local_no; + pds->first = 0; + pds->entries = ha->raw[i].pdev_cnt; + cnt = (3*GDTH_SCRATCH/4 - 5 * sizeof(ulong32)) / + sizeof(pds->list[0]); + if (pds->entries > cnt) + pds->entries = cnt; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(scp, &gdtcmd, cmnd, 30); + if (scp->sr_command->SCp.Status != S_OK) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &gdtcmd, cmnd, 30); + if (scp->SCp.Status != S_OK) +#else + gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); + if (scp.SCp.Status != S_OK) +#endif + { + pds->count = 0; + } - if (ha->more_proc) { - /* more information: 1. about controller */ - size = sprintf(buffer+len, - " Serial No.: \t0x%8X\tCache RAM size:\t%d KB\n", - ha->binfo.ser_no, ha->binfo.memsize / 1024); - len += size; pos = begin + len; - - /* 2. about physical devices */ - size = sprintf(buffer+len,"\nPhysical Devices:"); - len += size; pos = begin + len; - flag = FALSE; - - buf = gdth_ioctl_alloc(hanum, GDTH_SCRATCH, FALSE, &paddr); - if (!buf) - goto stop_output; - for (i = 0; i < ha->bus_cnt; ++i) { - /* 2.a statistics (and retries/reassigns) */ - TRACE2(("pdr_statistics() chn %d\n",i)); - pds = (gdth_dskstat_str *)(buf + GDTH_SCRATCH/4); + /* other IOCTLs must fit into area GDTH_SCRATCH/4 */ + for (j = 0; j < ha->raw[i].pdev_cnt; ++j) { + /* 2.b drive info */ + TRACE2(("scsi_drv_info() chn %d dev %d\n", + i, ha->raw[i].id_list[j])); + pdi = (gdth_diskinfo_str *)buf; gdtcmd.Service = CACHESERVICE; gdtcmd.OpCode = GDT_IOCTL; - gdtcmd.u.ioctl.p_param = paddr + GDTH_SCRATCH/4; - gdtcmd.u.ioctl.param_size = 3*GDTH_SCRATCH/4; - gdtcmd.u.ioctl.subfunc = DSK_STATISTICS | L_CTRL_PATTERN; - gdtcmd.u.ioctl.channel = ha->raw[i].address | INVALID_CHANNEL; - pds->bid = ha->raw[i].local_no; - pds->first = 0; - pds->entries = ha->raw[i].pdev_cnt; - cnt = (3*GDTH_SCRATCH/4 - 5 * sizeof(ulong32)) / - sizeof(pds->list[0]); - if (pds->entries > cnt) - pds->entries = cnt; -#if LINUX_VERSION_CODE >= 0x020503 + gdtcmd.u.ioctl.p_param = paddr; + gdtcmd.u.ioctl.param_size = sizeof(gdth_diskinfo_str); + gdtcmd.u.ioctl.subfunc = SCSI_DR_INFO | L_CTRL_PATTERN; + gdtcmd.u.ioctl.channel = + ha->raw[i].address | ha->raw[i].id_list[j]; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) gdth_do_req(scp, &gdtcmd, cmnd, 30); - if (scp->sr_command->SCp.Status != S_OK) -#elif LINUX_VERSION_CODE >= 0x020322 + if (scp->sr_command->SCp.Status == S_OK) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - if (scp->SCp.Status != S_OK) + if (scp->SCp.Status == S_OK) #else gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - if (scp.SCp.Status != S_OK) + if (scp.SCp.Status == S_OK) #endif - { - pds->count = 0; + { + strncpy(hrec,pdi->vendor,8); + strncpy(hrec+8,pdi->product,16); + strncpy(hrec+24,pdi->revision,4); + hrec[28] = 0; + size = sprintf(buffer+len, + "\n Chn/ID/LUN: \t%c/%02d/%d \tName: \t%s\n", + 'A'+i,pdi->target_id,pdi->lun,hrec); + len += size; pos = begin + len; + flag = TRUE; + pdi->no_ldrive &= 0xffff; + if (pdi->no_ldrive == 0xffff) + strcpy(hrec,"--"); + else + sprintf(hrec,"%d",pdi->no_ldrive); + size = sprintf(buffer+len, + " Capacity [MB]:\t%-6d \tTo Log. Drive: \t%s\n", + pdi->blkcnt/(1024*1024/pdi->blksize), + hrec); + len += size; pos = begin + len; + } else { + pdi->devtype = 0xff; } - - /* other IOCTLs must fit into area GDTH_SCRATCH/4 */ - for (j = 0; j < ha->raw[i].pdev_cnt; ++j) { - /* 2.b drive info */ - TRACE2(("scsi_drv_info() chn %d dev %d\n", - i, ha->raw[i].id_list[j])); - pdi = (gdth_diskinfo_str *)buf; - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_IOCTL; - gdtcmd.u.ioctl.p_param = paddr; - gdtcmd.u.ioctl.param_size = sizeof(gdth_diskinfo_str); - gdtcmd.u.ioctl.subfunc = SCSI_DR_INFO | L_CTRL_PATTERN; - gdtcmd.u.ioctl.channel = - ha->raw[i].address | ha->raw[i].id_list[j]; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - if (scp->sr_command->SCp.Status == S_OK) -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - if (scp->SCp.Status == S_OK) -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - if (scp.SCp.Status == S_OK) -#endif - { - strncpy(hrec,pdi->vendor,8); - strncpy(hrec+8,pdi->product,16); - strncpy(hrec+24,pdi->revision,4); - hrec[28] = 0; - size = sprintf(buffer+len, - "\n Chn/ID/LUN: \t%c/%02d/%d \tName: \t%s\n", - 'A'+i,pdi->target_id,pdi->lun,hrec); - len += size; pos = begin + len; - flag = TRUE; - pdi->no_ldrive &= 0xffff; - if (pdi->no_ldrive == 0xffff) - strcpy(hrec,"--"); - else - sprintf(hrec,"%d",pdi->no_ldrive); - size = sprintf(buffer+len, - " Capacity [MB]:\t%-6d \tTo Log. Drive: \t%s\n", - pdi->blkcnt/(1024*1024/pdi->blksize), - hrec); - len += size; pos = begin + len; - } else { - pdi->devtype = 0xff; - } - if (pdi->devtype == 0) { - /* search retries/reassigns */ - for (k = 0; k < pds->count; ++k) { - if (pds->list[k].tid == pdi->target_id && - pds->list[k].lun == pdi->lun) { - size = sprintf(buffer+len, - " Retries: \t%-6d \tReassigns: \t%d\n", - pds->list[k].retries, - pds->list[k].reassigns); - len += size; pos = begin + len; - break; - } - } - /* 2.c grown defects */ - TRACE2(("scsi_drv_defcnt() chn %d dev %d\n", - i, ha->raw[i].id_list[j])); - pdef = (gdth_defcnt_str *)buf; - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_IOCTL; - gdtcmd.u.ioctl.p_param = paddr; - gdtcmd.u.ioctl.param_size = sizeof(gdth_defcnt_str); - gdtcmd.u.ioctl.subfunc = SCSI_DEF_CNT | L_CTRL_PATTERN; - gdtcmd.u.ioctl.channel = - ha->raw[i].address | ha->raw[i].id_list[j]; - pdef->sddc_type = 0x08; -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - if (scp->sr_command->SCp.Status == S_OK) -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - if (scp->SCp.Status == S_OK) -#else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - if (scp.SCp.Status == S_OK) -#endif - { + if (pdi->devtype == 0) { + /* search retries/reassigns */ + for (k = 0; k < pds->count; ++k) { + if (pds->list[k].tid == pdi->target_id && + pds->list[k].lun == pdi->lun) { size = sprintf(buffer+len, - " Grown Defects:\t%d\n", - pdef->sddc_cnt); + " Retries: \t%-6d \tReassigns: \t%d\n", + pds->list[k].retries, + pds->list[k].reassigns); len += size; pos = begin + len; + break; } } - if (pos < offset) { - len = 0; - begin = pos; - } - if (pos > offset + length) - goto stop_output; - } - } - gdth_ioctl_free(hanum, GDTH_SCRATCH, buf, paddr); - - if (!flag) { - size = sprintf(buffer+len, "\n --\n"); - len += size; pos = begin + len; - } - - /* 3. about logical drives */ - size = sprintf(buffer+len,"\nLogical Drives:"); - len += size; pos = begin + len; - flag = FALSE; - - buf = gdth_ioctl_alloc(hanum, GDTH_SCRATCH, FALSE, &paddr); - if (!buf) - goto stop_output; - for (i = 0; i < MAX_LDRIVES; ++i) { - if (!ha->hdr[i].is_logdrv) - continue; - drv_no = i; - j = k = 0; - is_mirr = FALSE; - do { - /* 3.a log. drive info */ - TRACE2(("cache_drv_info() drive no %d\n",drv_no)); - pcdi = (gdth_cdrinfo_str *)buf; + /* 2.c grown defects */ + TRACE2(("scsi_drv_defcnt() chn %d dev %d\n", + i, ha->raw[i].id_list[j])); + pdef = (gdth_defcnt_str *)buf; gdtcmd.Service = CACHESERVICE; gdtcmd.OpCode = GDT_IOCTL; gdtcmd.u.ioctl.p_param = paddr; - gdtcmd.u.ioctl.param_size = sizeof(gdth_cdrinfo_str); - gdtcmd.u.ioctl.subfunc = CACHE_DRV_INFO; - gdtcmd.u.ioctl.channel = drv_no; -#if LINUX_VERSION_CODE >= 0x020503 + gdtcmd.u.ioctl.param_size = sizeof(gdth_defcnt_str); + gdtcmd.u.ioctl.subfunc = SCSI_DEF_CNT | L_CTRL_PATTERN; + gdtcmd.u.ioctl.channel = + ha->raw[i].address | ha->raw[i].id_list[j]; + pdef->sddc_type = 0x08; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) gdth_do_req(scp, &gdtcmd, cmnd, 30); - if (scp->sr_command->SCp.Status != S_OK) -#elif LINUX_VERSION_CODE >= 0x020322 + if (scp->sr_command->SCp.Status == S_OK) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - if (scp->SCp.Status != S_OK) + if (scp->SCp.Status == S_OK) #else gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - if (scp.SCp.Status != S_OK) + if (scp.SCp.Status == S_OK) #endif { - break; - } - pcdi->ld_dtype >>= 16; - j++; - if (pcdi->ld_dtype > 2) { - strcpy(hrec, "missing"); - } else if (pcdi->ld_error & 1) { - strcpy(hrec, "fault"); - } else if (pcdi->ld_error & 2) { - strcpy(hrec, "invalid"); - k++; j--; - } else { - strcpy(hrec, "ok"); - } - - if (drv_no == i) { - size = sprintf(buffer+len, - "\n Number: \t%-2d \tStatus: \t%s\n", - drv_no, hrec); - len += size; pos = begin + len; - flag = TRUE; - no_mdrv = pcdi->cd_ldcnt; - if (no_mdrv > 1 || pcdi->ld_slave != -1) { - is_mirr = TRUE; - strcpy(hrec, "RAID-1"); - } else if (pcdi->ld_dtype == 0) { - strcpy(hrec, "Disk"); - } else if (pcdi->ld_dtype == 1) { - strcpy(hrec, "RAID-0"); - } else if (pcdi->ld_dtype == 2) { - strcpy(hrec, "Chain"); - } else { - strcpy(hrec, "???"); - } - size = sprintf(buffer+len, - " Capacity [MB]:\t%-6d \tType: \t%s\n", - pcdi->ld_blkcnt/(1024*1024/pcdi->ld_blksize), - hrec); - len += size; pos = begin + len; - } else { size = sprintf(buffer+len, - " Slave Number: \t%-2d \tStatus: \t%s\n", - drv_no & 0x7fff, hrec); + " Grown Defects:\t%d\n", + pdef->sddc_cnt); len += size; pos = begin + len; } - drv_no = pcdi->ld_slave; - if (pos < offset) { - len = 0; - begin = pos; - } - if (pos > offset + length) - goto stop_output; - } while (drv_no != -1); - - if (is_mirr) { - size = sprintf(buffer+len, - " Missing Drv.: \t%-2d \tInvalid Drv.: \t%d\n", - no_mdrv - j - k, k); - len += size; pos = begin + len; } - - if (!ha->hdr[i].is_arraydrv) - strcpy(hrec, "--"); - else - sprintf(hrec, "%d", ha->hdr[i].master_no); - size = sprintf(buffer+len, - " To Array Drv.:\t%s\n", hrec); - len += size; pos = begin + len; if (pos < offset) { len = 0; begin = pos; } if (pos > offset + length) goto stop_output; - } - gdth_ioctl_free(hanum, GDTH_SCRATCH, buf, paddr); - - if (!flag) { - size = sprintf(buffer+len, "\n --\n"); - len += size; pos = begin + len; - } + } + } + gdth_ioctl_free(hanum, GDTH_SCRATCH, buf, paddr); - /* 4. about array drives */ - size = sprintf(buffer+len,"\nArray Drives:"); + if (!flag) { + size = sprintf(buffer+len, "\n --\n"); len += size; pos = begin + len; - flag = FALSE; + } - buf = gdth_ioctl_alloc(hanum, GDTH_SCRATCH, FALSE, &paddr); - if (!buf) - goto stop_output; - for (i = 0; i < MAX_LDRIVES; ++i) { - if (!(ha->hdr[i].is_arraydrv && ha->hdr[i].is_master)) - continue; - /* 4.a array drive info */ - TRACE2(("array_info() drive no %d\n",i)); - pai = (gdth_arrayinf_str *)buf; + /* 3. about logical drives */ + size = sprintf(buffer+len,"\nLogical Drives:"); + len += size; pos = begin + len; + flag = FALSE; + + buf = gdth_ioctl_alloc(hanum, GDTH_SCRATCH, FALSE, &paddr); + if (!buf) + goto stop_output; + for (i = 0; i < MAX_LDRIVES; ++i) { + if (!ha->hdr[i].is_logdrv) + continue; + drv_no = i; + j = k = 0; + is_mirr = FALSE; + do { + /* 3.a log. drive info */ + TRACE2(("cache_drv_info() drive no %d\n",drv_no)); + pcdi = (gdth_cdrinfo_str *)buf; gdtcmd.Service = CACHESERVICE; gdtcmd.OpCode = GDT_IOCTL; gdtcmd.u.ioctl.p_param = paddr; - gdtcmd.u.ioctl.param_size = sizeof(gdth_arrayinf_str); - gdtcmd.u.ioctl.subfunc = ARRAY_INFO | LA_CTRL_PATTERN; - gdtcmd.u.ioctl.channel = i; -#if LINUX_VERSION_CODE >= 0x020503 + gdtcmd.u.ioctl.param_size = sizeof(gdth_cdrinfo_str); + gdtcmd.u.ioctl.subfunc = CACHE_DRV_INFO; + gdtcmd.u.ioctl.channel = drv_no; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) gdth_do_req(scp, &gdtcmd, cmnd, 30); - if (scp->sr_command->SCp.Status == S_OK) -#elif LINUX_VERSION_CODE >= 0x020322 + if (scp->sr_command->SCp.Status != S_OK) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - if (scp->SCp.Status == S_OK) + if (scp->SCp.Status != S_OK) #else gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - if (scp.SCp.Status == S_OK) + if (scp.SCp.Status != S_OK) #endif { - if (pai->ai_state == 0) - strcpy(hrec, "idle"); - else if (pai->ai_state == 2) - strcpy(hrec, "build"); - else if (pai->ai_state == 4) - strcpy(hrec, "ready"); - else if (pai->ai_state == 6) - strcpy(hrec, "fail"); - else if (pai->ai_state == 8 || pai->ai_state == 10) - strcpy(hrec, "rebuild"); - else - strcpy(hrec, "error"); - if (pai->ai_ext_state & 0x10) - strcat(hrec, "/expand"); - else if (pai->ai_ext_state & 0x1) - strcat(hrec, "/patch"); + break; + } + pcdi->ld_dtype >>= 16; + j++; + if (pcdi->ld_dtype > 2) { + strcpy(hrec, "missing"); + } else if (pcdi->ld_error & 1) { + strcpy(hrec, "fault"); + } else if (pcdi->ld_error & 2) { + strcpy(hrec, "invalid"); + k++; j--; + } else { + strcpy(hrec, "ok"); + } + + if (drv_no == i) { size = sprintf(buffer+len, "\n Number: \t%-2d \tStatus: \t%s\n", - i,hrec); + drv_no, hrec); len += size; pos = begin + len; flag = TRUE; - - if (pai->ai_type == 0) + no_mdrv = pcdi->cd_ldcnt; + if (no_mdrv > 1 || pcdi->ld_slave != -1) { + is_mirr = TRUE; + strcpy(hrec, "RAID-1"); + } else if (pcdi->ld_dtype == 0) { + strcpy(hrec, "Disk"); + } else if (pcdi->ld_dtype == 1) { strcpy(hrec, "RAID-0"); - else if (pai->ai_type == 4) - strcpy(hrec, "RAID-4"); - else if (pai->ai_type == 5) - strcpy(hrec, "RAID-5"); - else - strcpy(hrec, "RAID-10"); + } else if (pcdi->ld_dtype == 2) { + strcpy(hrec, "Chain"); + } else { + strcpy(hrec, "???"); + } size = sprintf(buffer+len, " Capacity [MB]:\t%-6d \tType: \t%s\n", - pai->ai_size/(1024*1024/pai->ai_secsize), + pcdi->ld_blkcnt/(1024*1024/pcdi->ld_blksize), hrec); len += size; pos = begin + len; - if (pos < offset) { - len = 0; - begin = pos; - } - if (pos > offset + length) - goto stop_output; + } else { + size = sprintf(buffer+len, + " Slave Number: \t%-2d \tStatus: \t%s\n", + drv_no & 0x7fff, hrec); + len += size; pos = begin + len; } - } - gdth_ioctl_free(hanum, GDTH_SCRATCH, buf, paddr); - - if (!flag) { - size = sprintf(buffer+len, "\n --\n"); + drv_no = pcdi->ld_slave; + if (pos < offset) { + len = 0; + begin = pos; + } + if (pos > offset + length) + goto stop_output; + } while (drv_no != -1); + + if (is_mirr) { + size = sprintf(buffer+len, + " Missing Drv.: \t%-2d \tInvalid Drv.: \t%d\n", + no_mdrv - j - k, k); len += size; pos = begin + len; } - - /* 5. about host drives */ - size = sprintf(buffer+len,"\nHost Drives:"); + + if (!ha->hdr[i].is_arraydrv) + strcpy(hrec, "--"); + else + sprintf(hrec, "%d", ha->hdr[i].master_no); + size = sprintf(buffer+len, + " To Array Drv.:\t%s\n", hrec); len += size; pos = begin + len; - flag = FALSE; - - buf = gdth_ioctl_alloc(hanum, sizeof(gdth_hget_str), FALSE, &paddr); - if (!buf) + if (pos < offset) { + len = 0; + begin = pos; + } + if (pos > offset + length) goto stop_output; - for (i = 0; i < MAX_LDRIVES; ++i) { - if (!ha->hdr[i].is_logdrv || - (ha->hdr[i].is_arraydrv && !ha->hdr[i].is_master)) - continue; - /* 5.a get host drive list */ - TRACE2(("host_get() drv_no %d\n",i)); - phg = (gdth_hget_str *)buf; - gdtcmd.Service = CACHESERVICE; - gdtcmd.OpCode = GDT_IOCTL; - gdtcmd.u.ioctl.p_param = paddr; - gdtcmd.u.ioctl.param_size = sizeof(gdth_hget_str); - gdtcmd.u.ioctl.subfunc = HOST_GET | LA_CTRL_PATTERN; - gdtcmd.u.ioctl.channel = i; - phg->entries = MAX_HDRIVES; - phg->offset = GDTOFFSOF(gdth_hget_str, entry[0]); -#if LINUX_VERSION_CODE >= 0x020503 - gdth_do_req(scp, &gdtcmd, cmnd, 30); - if (scp->sr_command->SCp.Status != S_OK) -#elif LINUX_VERSION_CODE >= 0x020322 - gdth_do_cmd(scp, &gdtcmd, cmnd, 30); - if (scp->SCp.Status != S_OK) + } + gdth_ioctl_free(hanum, GDTH_SCRATCH, buf, paddr); + + if (!flag) { + size = sprintf(buffer+len, "\n --\n"); + len += size; pos = begin + len; + } + + /* 4. about array drives */ + size = sprintf(buffer+len,"\nArray Drives:"); + len += size; pos = begin + len; + flag = FALSE; + + buf = gdth_ioctl_alloc(hanum, GDTH_SCRATCH, FALSE, &paddr); + if (!buf) + goto stop_output; + for (i = 0; i < MAX_LDRIVES; ++i) { + if (!(ha->hdr[i].is_arraydrv && ha->hdr[i].is_master)) + continue; + /* 4.a array drive info */ + TRACE2(("array_info() drive no %d\n",i)); + pai = (gdth_arrayinf_str *)buf; + gdtcmd.Service = CACHESERVICE; + gdtcmd.OpCode = GDT_IOCTL; + gdtcmd.u.ioctl.p_param = paddr; + gdtcmd.u.ioctl.param_size = sizeof(gdth_arrayinf_str); + gdtcmd.u.ioctl.subfunc = ARRAY_INFO | LA_CTRL_PATTERN; + gdtcmd.u.ioctl.channel = i; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(scp, &gdtcmd, cmnd, 30); + if (scp->sr_command->SCp.Status == S_OK) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &gdtcmd, cmnd, 30); + if (scp->SCp.Status == S_OK) #else - gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); - if (scp.SCp.Status != S_OK) + gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); + if (scp.SCp.Status == S_OK) #endif - { - ha->hdr[i].ldr_no = i; - ha->hdr[i].rw_attribs = 0; - ha->hdr[i].start_sec = 0; - } else { - for (j = 0; j < phg->entries; ++j) { - k = phg->entry[j].host_drive; - if (k >= MAX_LDRIVES) - continue; - ha->hdr[k].ldr_no = phg->entry[j].log_drive; - ha->hdr[k].rw_attribs = phg->entry[j].rw_attribs; - ha->hdr[k].start_sec = phg->entry[j].start_sec; - } - } - } - gdth_ioctl_free(hanum, sizeof(gdth_hget_str), buf, paddr); - - for (i = 0; i < MAX_HDRIVES; ++i) { - if (!(ha->hdr[i].present)) - continue; - + { + if (pai->ai_state == 0) + strcpy(hrec, "idle"); + else if (pai->ai_state == 2) + strcpy(hrec, "build"); + else if (pai->ai_state == 4) + strcpy(hrec, "ready"); + else if (pai->ai_state == 6) + strcpy(hrec, "fail"); + else if (pai->ai_state == 8 || pai->ai_state == 10) + strcpy(hrec, "rebuild"); + else + strcpy(hrec, "error"); + if (pai->ai_ext_state & 0x10) + strcat(hrec, "/expand"); + else if (pai->ai_ext_state & 0x1) + strcat(hrec, "/patch"); size = sprintf(buffer+len, - "\n Number: \t%-2d \tArr/Log. Drive:\t%d\n", - i, ha->hdr[i].ldr_no); + "\n Number: \t%-2d \tStatus: \t%s\n", + i,hrec); len += size; pos = begin + len; flag = TRUE; + if (pai->ai_type == 0) + strcpy(hrec, "RAID-0"); + else if (pai->ai_type == 4) + strcpy(hrec, "RAID-4"); + else if (pai->ai_type == 5) + strcpy(hrec, "RAID-5"); + else + strcpy(hrec, "RAID-10"); size = sprintf(buffer+len, - " Capacity [MB]:\t%-6d \tStart Sector: \t%d\n", - ha->hdr[i].size/2048, ha->hdr[i].start_sec); + " Capacity [MB]:\t%-6d \tType: \t%s\n", + pai->ai_size/(1024*1024/pai->ai_secsize), + hrec); len += size; pos = begin + len; if (pos < offset) { len = 0; @@ -1299,60 +708,125 @@ if (pos > offset + length) goto stop_output; } + } + gdth_ioctl_free(hanum, GDTH_SCRATCH, buf, paddr); - if (!flag) { - size = sprintf(buffer+len, "\n --\n"); - len += size; pos = begin + len; - } + if (!flag) { + size = sprintf(buffer+len, "\n --\n"); + len += size; pos = begin + len; } - /* controller events */ - size = sprintf(buffer+len,"\nController Events:\n"); + /* 5. about host drives */ + size = sprintf(buffer+len,"\nHost Drives:"); len += size; pos = begin + len; + flag = FALSE; - for (id = -1;;) { - id = gdth_read_event(ha, id, &estr); - if (estr.event_source == 0) - break; - if (estr.event_data.eu.driver.ionode == hanum && - estr.event_source == ES_ASYNC) { - gdth_log_event(&estr.event_data, hrec); - do_gettimeofday(&tv); - sec = (int)(tv.tv_sec - estr.first_stamp); - if (sec < 0) sec = 0; - size = sprintf(buffer+len," date- %02d:%02d:%02d\t%s\n", - sec/3600, sec%3600/60, sec%60, hrec); - len += size; pos = begin + len; - if (pos < offset) { - len = 0; - begin = pos; + buf = gdth_ioctl_alloc(hanum, sizeof(gdth_hget_str), FALSE, &paddr); + if (!buf) + goto stop_output; + for (i = 0; i < MAX_LDRIVES; ++i) { + if (!ha->hdr[i].is_logdrv || + (ha->hdr[i].is_arraydrv && !ha->hdr[i].is_master)) + continue; + /* 5.a get host drive list */ + TRACE2(("host_get() drv_no %d\n",i)); + phg = (gdth_hget_str *)buf; + gdtcmd.Service = CACHESERVICE; + gdtcmd.OpCode = GDT_IOCTL; + gdtcmd.u.ioctl.p_param = paddr; + gdtcmd.u.ioctl.param_size = sizeof(gdth_hget_str); + gdtcmd.u.ioctl.subfunc = HOST_GET | LA_CTRL_PATTERN; + gdtcmd.u.ioctl.channel = i; + phg->entries = MAX_HDRIVES; + phg->offset = GDTOFFSOF(gdth_hget_str, entry[0]); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + gdth_do_req(scp, &gdtcmd, cmnd, 30); + if (scp->sr_command->SCp.Status != S_OK) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + gdth_do_cmd(scp, &gdtcmd, cmnd, 30); + if (scp->SCp.Status != S_OK) +#else + gdth_do_cmd(&scp, &gdtcmd, cmnd, 30); + if (scp.SCp.Status != S_OK) +#endif + { + ha->hdr[i].ldr_no = i; + ha->hdr[i].rw_attribs = 0; + ha->hdr[i].start_sec = 0; + } else { + for (j = 0; j < phg->entries; ++j) { + k = phg->entry[j].host_drive; + if (k >= MAX_LDRIVES) + continue; + ha->hdr[k].ldr_no = phg->entry[j].log_drive; + ha->hdr[k].rw_attribs = phg->entry[j].rw_attribs; + ha->hdr[k].start_sec = phg->entry[j].start_sec; } - if (pos > offset + length) - goto stop_output; } - if (id == -1) - break; } -#ifdef GDTH_IOCTL_PROC - } else { - gdth_iord_str *piord; + gdth_ioctl_free(hanum, sizeof(gdth_hget_str), buf, paddr); - /* request from tool (GDTMON,..) */ - piord = (gdth_iord_str *)ha->pscratch; - if (piord == NULL) - goto stop_output; - length = piord->size; - memcpy(buffer+len, (char *)piord, length); - gdth_ioctl_free(hanum, GDTH_SCRATCH, ha->pscratch, paddr); - len = length; + for (i = 0; i < MAX_HDRIVES; ++i) { + if (!(ha->hdr[i].present)) + continue; + + size = sprintf(buffer+len, + "\n Number: \t%-2d \tArr/Log. Drive:\t%d\n", + i, ha->hdr[i].ldr_no); + len += size; pos = begin + len; + flag = TRUE; + + size = sprintf(buffer+len, + " Capacity [MB]:\t%-6d \tStart Sector: \t%d\n", + (ulong32)(ha->hdr[i].size/2048), ha->hdr[i].start_sec); + len += size; pos = begin + len; + if (pos < offset) { + len = 0; + begin = pos; + } + if (pos > offset + length) + goto stop_output; + } + + if (!flag) { + size = sprintf(buffer+len, "\n --\n"); + len += size; pos = begin + len; + } + } + + /* controller events */ + size = sprintf(buffer+len,"\nController Events:\n"); + len += size; pos = begin + len; + + for (id = -1;;) { + id = gdth_read_event(ha, id, &estr); + if (estr.event_source == 0) + break; + if (estr.event_data.eu.driver.ionode == hanum && + estr.event_source == ES_ASYNC) { + gdth_log_event(&estr.event_data, hrec); + do_gettimeofday(&tv); + sec = (int)(tv.tv_sec - estr.first_stamp); + if (sec < 0) sec = 0; + size = sprintf(buffer+len," date- %02d:%02d:%02d\t%s\n", + sec/3600, sec%3600/60, sec%60, hrec); + len += size; pos = begin + len; + if (pos < offset) { + len = 0; + begin = pos; + } + if (pos > offset + length) + goto stop_output; + } + if (id == -1) + break; } -#endif stop_output: -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) scsi_release_request(scp); scsi_free_host_dev(sdev); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) scsi_release_command(scp); scsi_free_host_dev(sdev); #endif @@ -1365,7 +839,8 @@ return(len); } -#if LINUX_VERSION_CODE >= 0x020503 + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) static void gdth_do_req(Scsi_Request *scp, gdth_cmd_str *gdtcmd, char *cmnd, int timeout) { @@ -1389,9 +864,9 @@ char *cmnd, int timeout) { unsigned bufflen; -#if LINUX_VERSION_CODE >= 0x020407 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,7) DECLARE_COMPLETION(wait); -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) DECLARE_MUTEX_LOCKED(sem); #else struct semaphore sem = MUTEX_LOCKED; @@ -1405,19 +880,19 @@ scp->SCp.this_residual = DEFAULT_PRI; bufflen = 0; } -#if LINUX_VERSION_CODE >= 0x020407 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,7) scp->request.rq_status = RQ_SCSI_BUSY; scp->request.waiting = &wait; scsi_do_cmd(scp, cmnd, gdtcmd, bufflen, gdth_scsi_done, timeout*HZ, 1); wait_for_completion(&wait); #else scp->request.sem = &sem; -#if LINUX_VERSION_CODE >= 0x020322 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) scsi_do_cmd(scp, cmnd, gdtcmd, bufflen, gdth_scsi_done, timeout*HZ, 1); #else - GDTH_LOCK_SCSI_DOCMD(); + spin_lock_irq(&io_request_lock); scsi_do_cmd(scp, cmnd, gdtcmd, bufflen, gdth_scsi_done, timeout*HZ, 1); - GDTH_UNLOCK_SCSI_DOCMD(); + spin_unlock_irq(&io_request_lock); #endif down(&sem); #endif @@ -1428,11 +903,11 @@ { TRACE2(("gdth_scsi_done()\n")); -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) scp->request->rq_status = RQ_SCSI_DONE; if (scp->request->waiting != NULL) complete(scp->request->waiting); -#elif LINUX_VERSION_CODE >= 0x020407 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,7) scp->request.rq_status = RQ_SCSI_DONE; if (scp->request.waiting != NULL) complete(scp->request.waiting); @@ -1444,7 +919,7 @@ } static char *gdth_ioctl_alloc(int hanum, int size, int scratch, - ulong32 *paddr) + ulong64 *paddr) { gdth_ha_str *ha; ulong flags; @@ -1463,11 +938,11 @@ } else if (scratch) { ret_val = NULL; } else { -#if LINUX_VERSION_CODE >= 0x020400 - dma_addr_t dma_addr; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) + dma_addr_t dma_addr; ret_val = pci_alloc_consistent(ha->pdev, size, &dma_addr); - *paddr = (ulong32)dma_addr; + *paddr = dma_addr; #else ret_val = scsi_init_malloc(size, GFP_ATOMIC | GFP_DMA); if (ret_val) @@ -1479,7 +954,7 @@ return ret_val; } -static void gdth_ioctl_free(int hanum, int size, char *buf, ulong32 paddr) +static void gdth_ioctl_free(int hanum, int size, char *buf, ulong64 paddr) { gdth_ha_str *ha; ulong flags; @@ -1490,7 +965,7 @@ if (buf == ha->pscratch) { ha->scratch_busy = FALSE; } else { -#if LINUX_VERSION_CODE >= 0x020400 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) pci_free_consistent(ha->pdev, size, buf, paddr); #else scsi_init_free((void *)buf, size); @@ -1533,7 +1008,7 @@ for (i = 0; i < GDTH_MAXCMDS; ++i) { scp = ha->cmd_tab[i].cmnd; -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) b = virt_ctr ? NUMDATA(scp->device->host)->busnum : scp->device->channel; t = scp->device->id; #else @@ -1546,14 +1021,10 @@ GDTH_UNLOCK_HA(ha, flags); while (!scp->SCp.have_data_in) barrier(); -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) GDTH_LOCK_SCSI_DONE(scp->device->host, flags); scp->scsi_done(scp); GDTH_UNLOCK_SCSI_DONE(scp->device->host, flags); -#elif LINUX_VERSION_CODE >= 0x020503 - GDTH_LOCK_SCSI_DONE(scp->host, flags); - scp->scsi_done(scp); - GDTH_UNLOCK_SCSI_DONE(scp->host, flags); #else GDTH_LOCK_SCSI_DONE(flags); scp->scsi_done(scp); @@ -1576,7 +1047,7 @@ GDTH_LOCK_HA(ha, flags); for (scp = ha->req_first; scp; scp = (Scsi_Cmnd *)scp->SCp.ptr) { -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) b = virt_ctr ? NUMDATA(scp->device->host)->busnum : scp->device->channel; t = scp->device->id; #else @@ -1602,7 +1073,7 @@ GDTH_LOCK_HA(ha, flags); for (scp = ha->req_first; scp; scp = (Scsi_Cmnd *)scp->SCp.ptr) { -#if LINUX_VERSION_CODE >= 0x02053C +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) b = virt_ctr ? NUMDATA(scp->device->host)->busnum : scp->device->channel; t = scp->device->id; #else @@ -1624,7 +1095,6 @@ oldto = scp->timeout_per_command; scp->timeout_per_command = timeout; -#if LINUX_VERSION_CODE >= 0x02014B if (timeout == 0) { del_timer(&scp->eh_timeout); scp->eh_timeout.data = (unsigned long) NULL; @@ -1636,17 +1106,6 @@ scp->eh_timeout.expires = jiffies + timeout; add_timer(&scp->eh_timeout); } -#else - if (timeout > 0) { - if (timer_table[SCSI_TIMER].expires == 0) { - timer_table[SCSI_TIMER].expires = jiffies + timeout; - timer_active |= 1 << SCSI_TIMER; - } else { - if (jiffies + timeout < timer_table[SCSI_TIMER].expires) - timer_table[SCSI_TIMER].expires = jiffies + timeout; - } - } -#endif return oldto; } diff -Nru a/drivers/scsi/gdth_proc.h b/drivers/scsi/gdth_proc.h --- a/drivers/scsi/gdth_proc.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/gdth_proc.h 2004-05-26 15:01:36 -07:00 @@ -2,42 +2,31 @@ #define _GDTH_PROC_H /* gdth_proc.h - * $Id: gdth_proc.h,v 1.14 2003/08/27 11:37:35 achim Exp $ + * $Id: gdth_proc.h,v 1.16 2004/01/14 13:09:01 achim Exp $ */ -static int gdth_set_info(char *buffer,int length,int hanum,int busnum); -static int gdth_get_info(char *buffer,char **start,off_t offset, - int length,int hanum,int busnum); +static int gdth_set_info(char *buffer,int length,struct Scsi_Host *host, + int hanum,int busnum); +static int gdth_get_info(char *buffer,char **start,off_t offset,int length, + struct Scsi_Host *host,int hanum,int busnum); -#if LINUX_VERSION_CODE >= 0x020503 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) static void gdth_do_req(Scsi_Request *srp, gdth_cmd_str *cmd, char *cmnd, int timeout); static int gdth_set_asc_info(char *buffer,int length,int hanum,Scsi_Request *scp); -#ifdef GDTH_IOCTL_PROC -static int gdth_set_bin_info(char *buffer,int length,int hanum,Scsi_Request *scp); -#endif -#elif LINUX_VERSION_CODE >= 0x020322 +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) static void gdth_do_cmd(Scsi_Cmnd *scp, gdth_cmd_str *cmd, char *cmnd, int timeout); static int gdth_set_asc_info(char *buffer,int length,int hanum,Scsi_Cmnd *scp); -#ifdef GDTH_IOCTL_PROC -static int gdth_set_bin_info(char *buffer,int length,int hanum,Scsi_Cmnd *scp); -#endif #else static void gdth_do_cmd(Scsi_Cmnd *scp, gdth_cmd_str *cmd, char *cmnd, int timeout); static int gdth_set_asc_info(char *buffer,int length,int hanum,Scsi_Cmnd scp); -#ifdef GDTH_IOCTL_PROC -static int gdth_set_bin_info(char *buffer,int length,int hanum,Scsi_Cmnd scp); -#endif #endif static char *gdth_ioctl_alloc(int hanum, int size, int scratch, - ulong32 *paddr); -static void gdth_ioctl_free(int hanum, int size, char *buf, ulong32 paddr); -#ifdef GDTH_IOCTL_PROC -static int gdth_ioctl_check_bin(int hanum, ushort size); -#endif + ulong64 *paddr); +static void gdth_ioctl_free(int hanum, int size, char *buf, ulong64 paddr); static void gdth_wait_completion(int hanum, int busnum, int id); static void gdth_stop_timeout(int hanum, int busnum, int id); static void gdth_start_timeout(int hanum, int busnum, int id); diff -Nru a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c --- a/drivers/scsi/ipr.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/ipr.c 2004-05-26 15:01:36 -07:00 @@ -406,7 +406,7 @@ trace_entry->type = type; trace_entry->cmd_index = ipr_cmd->cmd_index; trace_entry->res_handle = ipr_cmd->ioarcb.res_handle; - trace_entry->add_data = add_data; + trace_entry->u.add_data = add_data; } #else #define ipr_trc_hook(ipr_cmd, type, add_data) do { } while(0) @@ -447,7 +447,7 @@ static void ipr_init_ipr_cmnd(struct ipr_cmnd *ipr_cmd) { ipr_reinit_ipr_cmnd(ipr_cmd); - ipr_cmd->scratch = 0; + ipr_cmd->u.scratch = 0; init_timer(&ipr_cmd->timer); } @@ -676,8 +676,8 @@ **/ static void ipr_internal_cmd_done(struct ipr_cmnd *ipr_cmd) { - if (ipr_cmd->sibling) - ipr_cmd->sibling = NULL; + if (ipr_cmd->u.sibling) + ipr_cmd->u.sibling = NULL; else complete(&ipr_cmd->completion); } @@ -729,20 +729,20 @@ list_add_tail(&ipr_cmd->queue, &ioa_cfg->pending_q); list_add_tail(&hostrcb->queue, &ioa_cfg->hostrcb_pending_q); - ipr_cmd->hostrcb = hostrcb; + ipr_cmd->u.hostrcb = hostrcb; ioarcb = &ipr_cmd->ioarcb; ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); ioarcb->cmd_pkt.request_type = IPR_RQTYPE_HCAM; ioarcb->cmd_pkt.cdb[0] = IPR_HOST_CONTROLLED_ASYNC; ioarcb->cmd_pkt.cdb[1] = type; - ioarcb->cmd_pkt.cdb[7] = (IPR_HOSTRCB_SZ >> 8) & 0xff; - ioarcb->cmd_pkt.cdb[8] = IPR_HOSTRCB_SZ & 0xff; + ioarcb->cmd_pkt.cdb[7] = (sizeof(hostrcb->hcam) >> 8) & 0xff; + ioarcb->cmd_pkt.cdb[8] = sizeof(hostrcb->hcam) & 0xff; - ioarcb->read_data_transfer_length = cpu_to_be32(IPR_HOSTRCB_SZ); + ioarcb->read_data_transfer_length = cpu_to_be32(sizeof(hostrcb->hcam)); ioarcb->read_ioadl_len = cpu_to_be32(sizeof(struct ipr_ioadl_desc)); ipr_cmd->ioadl[0].flags_and_data_len = - cpu_to_be32(IPR_IOADL_FLAGS_READ_LAST | IPR_HOSTRCB_SZ); + cpu_to_be32(IPR_IOADL_FLAGS_READ_LAST | sizeof(hostrcb->hcam)); ipr_cmd->ioadl[0].address = cpu_to_be32(hostrcb->hostrcb_dma); if (type == IPR_HCAM_CDB_OP_CODE_CONFIG_CHANGE) @@ -794,7 +794,7 @@ struct ipr_config_table_entry *cfgte; u32 is_ndn = 1; - cfgte = &hostrcb->ccn.cfgte; + cfgte = &hostrcb->hcam.u.ccn.cfgte; list_for_each_entry(res, &ioa_cfg->used_res_q, queue) { if (!memcmp(&res->cfgte.res_addr, &cfgte->res_addr, @@ -822,7 +822,7 @@ memcpy(&res->cfgte, cfgte, sizeof(struct ipr_config_table_entry)); - if (hostrcb->notify_type == IPR_HOST_RCB_NOTIF_TYPE_REM_ENTRY) { + if (hostrcb->hcam.notify_type == IPR_HOST_RCB_NOTIF_TYPE_REM_ENTRY) { if (res->sdev) { res->sdev->hostdata = NULL; res->del_from_ml = 1; @@ -852,7 +852,7 @@ static void ipr_process_ccn(struct ipr_cmnd *ipr_cmd) { struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg; - struct ipr_hostrcb *hostrcb = ipr_cmd->hostrcb; + struct ipr_hostrcb *hostrcb = ipr_cmd->u.hostrcb; u32 ioasc = be32_to_cpu(ipr_cmd->ioasa.ioasc); list_del(&hostrcb->queue); @@ -902,7 +902,8 @@ static void ipr_log_cache_error(struct ipr_ioa_cfg *ioa_cfg, struct ipr_hostrcb *hostrcb) { - struct ipr_hostrcb_type_02_error *error = &hostrcb->error.type_02_error; + struct ipr_hostrcb_type_02_error *error = + &hostrcb->hcam.u.error.u.type_02_error; ipr_err("-----Current Configuration-----\n"); ipr_err("Cache Directory Card Information:\n"); @@ -937,14 +938,15 @@ { int errors_logged, i; struct ipr_hostrcb_device_data_entry *dev_entry; + struct ipr_hostrcb_type_03_error *error; - errors_logged = be32_to_cpu(hostrcb->error.type_03_error.errors_logged); + error = &hostrcb->hcam.u.error.u.type_03_error; + errors_logged = be32_to_cpu(error->errors_logged); ipr_err("Device Errors Detected/Logged: %d/%d\n", - be32_to_cpu(hostrcb->error.type_03_error.errors_detected), - errors_logged); + be32_to_cpu(error->errors_detected), errors_logged); - dev_entry = hostrcb->error.type_03_error.dev_entry; + dev_entry = error->dev_entry; for (i = 0; i < errors_logged; i++, dev_entry++) { ipr_err_separator; @@ -996,7 +998,7 @@ memset(zero_sn, '0', IPR_SERIAL_NUM_LEN); - error = &hostrcb->error.type_04_error; + error = &hostrcb->hcam.u.error.u.type_04_error; ipr_err_separator; @@ -1064,7 +1066,7 @@ struct ipr_hostrcb *hostrcb) { int i; - int ioa_data_len = be32_to_cpu(hostrcb->length); + int ioa_data_len = be32_to_cpu(hostrcb->hcam.length); if (ioa_data_len == 0) return; @@ -1074,10 +1076,10 @@ for (i = 0; i < ioa_data_len / 4; i += 4) { ipr_err("%08X: %08X %08X %08X %08X\n", i*4, - be32_to_cpu(hostrcb->raw.data[i]), - be32_to_cpu(hostrcb->raw.data[i+1]), - be32_to_cpu(hostrcb->raw.data[i+2]), - be32_to_cpu(hostrcb->raw.data[i+3])); + be32_to_cpu(hostrcb->hcam.u.raw.data[i]), + be32_to_cpu(hostrcb->hcam.u.raw.data[i+1]), + be32_to_cpu(hostrcb->hcam.u.raw.data[i+2]), + be32_to_cpu(hostrcb->hcam.u.raw.data[i+3])); } } @@ -1119,19 +1121,19 @@ u32 ioasc; int error_index; - if (hostrcb->notify_type != IPR_HOST_RCB_NOTIF_TYPE_ERROR_LOG_ENTRY) + if (hostrcb->hcam.notify_type != IPR_HOST_RCB_NOTIF_TYPE_ERROR_LOG_ENTRY) return; - if (hostrcb->notifications_lost == IPR_HOST_RCB_NOTIFICATIONS_LOST) + if (hostrcb->hcam.notifications_lost == IPR_HOST_RCB_NOTIFICATIONS_LOST) dev_err(&ioa_cfg->pdev->dev, "Error notifications lost\n"); - ioasc = be32_to_cpu(hostrcb->error.failing_dev_ioasc); + ioasc = be32_to_cpu(hostrcb->hcam.u.error.failing_dev_ioasc); if (ioasc == IPR_IOASC_BUS_WAS_RESET || ioasc == IPR_IOASC_BUS_WAS_RESET_BY_OTHER) { /* Tell the midlayer we had a bus reset so it will handle the UA properly */ scsi_report_bus_reset(ioa_cfg->host, - hostrcb->error.failing_dev_res_addr.bus); + hostrcb->hcam.u.error.failing_dev_res_addr.bus); } error_index = ipr_get_error(ioasc); @@ -1139,8 +1141,8 @@ if (!ipr_error_table[error_index].log_hcam) return; - if (ipr_is_device(&hostrcb->error.failing_dev_res_addr)) { - ipr_res_err(ioa_cfg, hostrcb->error.failing_dev_res_addr, + if (ipr_is_device(&hostrcb->hcam.u.error.failing_dev_res_addr)) { + ipr_res_err(ioa_cfg, hostrcb->hcam.u.error.failing_dev_res_addr, "%s\n", ipr_error_table[error_index].error); } else { dev_err(&ioa_cfg->pdev->dev, "%s\n", @@ -1153,7 +1155,7 @@ if (ioa_cfg->log_level < IPR_DEFAULT_LOG_LEVEL) return; - switch (hostrcb->overlay_id) { + switch (hostrcb->hcam.overlay_id) { case IPR_HOST_RCB_OVERLAY_ID_1: ipr_log_generic_error(ioa_cfg, hostrcb); break; @@ -1173,7 +1175,7 @@ default: dev_err(&ioa_cfg->pdev->dev, "Unknown error received. Overlay ID: %d\n", - hostrcb->overlay_id); + hostrcb->hcam.overlay_id); break; } } @@ -1192,7 +1194,7 @@ static void ipr_process_error(struct ipr_cmnd *ipr_cmd) { struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg; - struct ipr_hostrcb *hostrcb = ipr_cmd->hostrcb; + struct ipr_hostrcb *hostrcb = ipr_cmd->u.hostrcb; u32 ioasc = be32_to_cpu(ipr_cmd->ioasa.ioasc); list_del(&hostrcb->queue); @@ -2972,6 +2974,7 @@ cmd_pkt->request_type = IPR_RQTYPE_IOACMD; cmd_pkt->cdb[0] = IPR_RESET_DEVICE; + ipr_sdev_err(scsi_cmd->device, "Resetting device\n"); ipr_send_blocking_cmd(ipr_cmd, ipr_timeout, IPR_DEVICE_RESET_TIMEOUT); ioasc = be32_to_cpu(ipr_cmd->ioasa.ioasc); @@ -3011,10 +3014,10 @@ * If abort has not completed, indicate the reset has, else call the * abort's done function to wake the sleeping eh thread */ - if (ipr_cmd->sibling->sibling) - ipr_cmd->sibling->sibling = NULL; + if (ipr_cmd->u.sibling->u.sibling) + ipr_cmd->u.sibling->u.sibling = NULL; else - ipr_cmd->sibling->done(ipr_cmd->sibling); + ipr_cmd->u.sibling->done(ipr_cmd->u.sibling); list_add_tail(&ipr_cmd->queue, &ioa_cfg->free_q); LEAVE; @@ -3045,9 +3048,10 @@ return; } + ipr_sdev_err(ipr_cmd->u.sdev, "Abort timed out. Resetting bus\n"); reset_cmd = ipr_get_free_ipr_cmnd(ioa_cfg); - ipr_cmd->sibling = reset_cmd; - reset_cmd->sibling = ipr_cmd; + ipr_cmd->u.sibling = reset_cmd; + reset_cmd->u.sibling = ipr_cmd; reset_cmd->ioarcb.res_handle = ipr_cmd->ioarcb.res_handle; cmd_pkt = &reset_cmd->ioarcb.cmd_pkt; cmd_pkt->request_type = IPR_RQTYPE_IOACMD; @@ -3106,7 +3110,9 @@ cmd_pkt->cdb[3] = (ioarcb_addr >> 16) & 0xff; cmd_pkt->cdb[4] = (ioarcb_addr >> 8) & 0xff; cmd_pkt->cdb[5] = ioarcb_addr & 0xff; + ipr_cmd->u.sdev = scsi_cmd->device; + ipr_sdev_err(scsi_cmd->device, "Aborting command: %02X\n", scsi_cmd->cmnd[0]); ipr_send_blocking_cmd(ipr_cmd, ipr_abort_timeout, IPR_ABORT_TASK_TIMEOUT); ioasc = be32_to_cpu(ipr_cmd->ioasa.ioasc); @@ -3175,6 +3181,7 @@ writel(IPR_PCII_IOA_TRANS_TO_OPER, ioa_cfg->regs.clr_interrupt_reg); int_reg = readl(ioa_cfg->regs.sense_interrupt_reg); + list_del(&ioa_cfg->reset_cmd->queue); del_timer(&ioa_cfg->reset_cmd->timer); ipr_reset_ioa_job(ioa_cfg->reset_cmd); } else { @@ -3570,12 +3577,12 @@ ipr_sdev_err(ipr_cmd->scsi_cmd->device, "%s\n", ipr_error_table[error_index].error); - if ((ioasa->gpdd.device_end_state <= ARRAY_SIZE(ipr_gpdd_dev_end_states)) && - (ioasa->gpdd.device_bus_phase <= ARRAY_SIZE(ipr_gpdd_dev_bus_phases))) { + if ((ioasa->u.gpdd.end_state <= ARRAY_SIZE(ipr_gpdd_dev_end_states)) && + (ioasa->u.gpdd.bus_phase <= ARRAY_SIZE(ipr_gpdd_dev_bus_phases))) { ipr_sdev_err(ipr_cmd->scsi_cmd->device, "Device End state: %s Phase: %s\n", - ipr_gpdd_dev_end_states[ioasa->gpdd.device_end_state], - ipr_gpdd_dev_bus_phases[ioasa->gpdd.device_bus_phase]); + ipr_gpdd_dev_end_states[ioasa->u.gpdd.end_state], + ipr_gpdd_dev_bus_phases[ioasa->u.gpdd.bus_phase]); } if (sizeof(struct ipr_ioasa) < be16_to_cpu(ioasa->ret_stat_len)) @@ -3619,7 +3626,7 @@ if (ipr_is_vset_device(res) && ioasc == IPR_IOASC_MED_DO_NOT_REALLOC && - ioasa->vset.failing_lba_hi != 0) { + ioasa->u.vset.failing_lba_hi != 0) { sense_buf[0] = 0x72; sense_buf[1] = IPR_IOASC_SENSE_KEY(ioasc); sense_buf[2] = IPR_IOASC_SENSE_CODE(ioasc); @@ -3630,14 +3637,14 @@ sense_buf[9] = 0x0A; sense_buf[10] = 0x80; - failing_lba = be32_to_cpu(ioasa->vset.failing_lba_hi); + failing_lba = be32_to_cpu(ioasa->u.vset.failing_lba_hi); sense_buf[12] = (failing_lba & 0xff000000) >> 24; sense_buf[13] = (failing_lba & 0x00ff0000) >> 16; sense_buf[14] = (failing_lba & 0x0000ff00) >> 8; sense_buf[15] = failing_lba & 0x000000ff; - failing_lba = be32_to_cpu(ioasa->vset.failing_lba_lo); + failing_lba = be32_to_cpu(ioasa->u.vset.failing_lba_lo); sense_buf[16] = (failing_lba & 0xff000000) >> 24; sense_buf[17] = (failing_lba & 0x00ff0000) >> 16; @@ -3669,9 +3676,9 @@ } else { if (ioasc == IPR_IOASC_MED_DO_NOT_REALLOC) { if (ipr_is_vset_device(res)) - failing_lba = be32_to_cpu(ioasa->vset.failing_lba_lo); + failing_lba = be32_to_cpu(ioasa->u.vset.failing_lba_lo); else - failing_lba = be32_to_cpu(ioasa->dasd.failing_lba); + failing_lba = be32_to_cpu(ioasa->u.dasd.failing_lba); sense_buf[0] |= 0x80; /* Or in the Valid bit */ sense_buf[3] = (failing_lba & 0xff000000) >> 24; @@ -4118,7 +4125,7 @@ struct ipr_supported_device *supp_dev = &ioa_cfg->vpd_cbs->supp_dev; struct ipr_ioadl_desc *ioadl = ipr_cmd->ioadl; struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb; - struct ipr_resource_entry *res = ipr_cmd->res; + struct ipr_resource_entry *res = ipr_cmd->u.res; ipr_cmd->job_step = ipr_ioa_reset_done; @@ -4126,7 +4133,7 @@ if (!ipr_is_af_dasd_device(res)) continue; - ipr_cmd->res = res; + ipr_cmd->u.res = res; ipr_set_sup_dev_dflt(supp_dev, &res->cfgte.std_inq_data.vpids); ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE); @@ -4367,8 +4374,8 @@ length); ipr_cmd->job_step = ipr_set_supported_devs; - ipr_cmd->res = list_entry(ioa_cfg->used_res_q.next, - struct ipr_resource_entry, queue); + ipr_cmd->u.res = list_entry(ioa_cfg->used_res_q.next, + struct ipr_resource_entry, queue); ipr_do_req(ipr_cmd, ipr_reset_ioa_job, ipr_timeout, IPR_INTERNAL_TIMEOUT); @@ -4802,6 +4809,7 @@ ipr_cmd->timer.expires = jiffies + IPR_OPERATIONAL_TIMEOUT; ipr_cmd->timer.function = (void (*)(unsigned long))ipr_timeout; add_timer(&ipr_cmd->timer); + list_add_tail(&ipr_cmd->queue, &ioa_cfg->pending_q); LEAVE; return IPR_RC_JOB_RETURN; @@ -4886,12 +4894,12 @@ hostrcb = list_entry(ioa_cfg->hostrcb_free_q.next, struct ipr_hostrcb, queue); list_del(&hostrcb->queue); - memset(hostrcb, 0, IPR_HOSTRCB_SZ); + memset(&hostrcb->hcam, 0, sizeof(hostrcb->hcam)); rc = ipr_get_ldump_data_section(ioa_cfg, be32_to_cpu(sdt.entry[0].bar_str_offset), - (u32 *)hostrcb, - min(length, (int)IPR_HOSTRCB_SZ) / sizeof(u32)); + (u32 *)&hostrcb->hcam, + min(length, (int)sizeof(hostrcb->hcam)) / sizeof(u32)); if (!rc) ipr_handle_log_data(ioa_cfg, hostrcb); @@ -5022,8 +5030,8 @@ struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg; int rc = IPR_RC_JOB_RETURN; - if (!ipr_reset_allowed(ioa_cfg) && ipr_cmd->time_left) { - ipr_cmd->time_left -= IPR_CHECK_FOR_RESET_TIMEOUT; + if (!ipr_reset_allowed(ioa_cfg) && ipr_cmd->u.time_left) { + ipr_cmd->u.time_left -= IPR_CHECK_FOR_RESET_TIMEOUT; ipr_reset_start_timer(ipr_cmd, IPR_CHECK_FOR_RESET_TIMEOUT); } else { ipr_cmd->job_step = ipr_reset_start_bist; @@ -5062,7 +5070,7 @@ ipr_cmd->job_step = ipr_reset_start_bist; } - ipr_cmd->time_left = IPR_WAIT_FOR_RESET_TIMEOUT; + ipr_cmd->u.time_left = IPR_WAIT_FOR_RESET_TIMEOUT; ipr_reset_start_timer(ipr_cmd, IPR_CHECK_FOR_RESET_TIMEOUT); LEAVE; @@ -5148,7 +5156,7 @@ static int ipr_reset_shutdown_ioa(struct ipr_cmnd *ipr_cmd) { struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg; - enum ipr_shutdown_type shutdown_type = ipr_cmd->shutdown_type; + enum ipr_shutdown_type shutdown_type = ipr_cmd->u.shutdown_type; unsigned long timeout; int rc = IPR_RC_JOB_CONTINUE; @@ -5189,7 +5197,7 @@ static void ipr_reset_ioa_job(struct ipr_cmnd *ipr_cmd) { u32 rc, ioasc; - unsigned long scratch = ipr_cmd->scratch; + unsigned long scratch = ipr_cmd->u.scratch; struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg; do { @@ -5215,7 +5223,7 @@ } ipr_reinit_ipr_cmnd(ipr_cmd); - ipr_cmd->scratch = scratch; + ipr_cmd->u.scratch = scratch; rc = ipr_cmd->job_step(ipr_cmd); } while(rc == IPR_RC_JOB_CONTINUE); } @@ -5247,7 +5255,7 @@ ipr_cmd = ipr_get_free_ipr_cmnd(ioa_cfg); ioa_cfg->reset_cmd = ipr_cmd; ipr_cmd->job_step = job_step; - ipr_cmd->shutdown_type = shutdown_type; + ipr_cmd->u.shutdown_type = shutdown_type; ipr_reset_ioa_job(ipr_cmd); } @@ -5531,7 +5539,8 @@ goto cleanup; memset(ioa_cfg->hostrcb[i], 0, sizeof(struct ipr_hostrcb)); - ioa_cfg->hostrcb[i]->hostrcb_dma = ioa_cfg->hostrcb_dma[i]; + ioa_cfg->hostrcb[i]->hostrcb_dma = + ioa_cfg->hostrcb_dma[i] + offsetof(struct ipr_hostrcb, hcam); list_add_tail(&ioa_cfg->hostrcb[i]->queue, &ioa_cfg->hostrcb_free_q); } diff -Nru a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h --- a/drivers/scsi/ipr.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/ipr.h 2004-05-26 15:01:35 -07:00 @@ -36,8 +36,8 @@ /* * Literals */ -#define IPR_DRIVER_VERSION "2.0.6" -#define IPR_DRIVER_DATE "(May 3, 2004)" +#define IPR_DRIVER_VERSION "2.0.7" +#define IPR_DRIVER_DATE "(May 21, 2004)" /* * IPR_DBG_TRACE: Setting this to 1 will turn on some general function tracing @@ -413,8 +413,8 @@ }__attribute__((packed, aligned (4))); struct ipr_ioasa_gpdd { - u8 device_end_state; - u8 device_bus_phase; + u8 end_state; + u8 bus_phase; u16 reserved; u32 ioa_data[23]; }__attribute__((packed, aligned (4))); @@ -457,7 +457,7 @@ struct ipr_ioasa_af_dasd dasd; struct ipr_ioasa_gpdd gpdd; struct ipr_ioasa_raw raw; - }; + } u; }__attribute__((packed, aligned (4))); struct ipr_mode_parm_hdr { @@ -617,14 +617,14 @@ struct ipr_hostrcb_type_02_error type_02_error; struct ipr_hostrcb_type_03_error type_03_error; struct ipr_hostrcb_type_04_error type_04_error; - }; + } u; }__attribute__((packed, aligned (4))); struct ipr_hostrcb_raw { u32 data[sizeof(struct ipr_hostrcb_error)/sizeof(u32)]; }__attribute__((packed, aligned (4))); -struct ipr_hostrcb { +struct ipr_hcam { u8 op_code; #define IPR_HOST_RCB_OP_CODE_CONFIG_CHANGE 0xE1 #define IPR_HOST_RCB_OP_CODE_LOG_DATA 0xE2 @@ -662,14 +662,14 @@ struct ipr_hostrcb_error error; struct ipr_hostrcb_cfg_ch_not ccn; struct ipr_hostrcb_raw raw; - }; + } u; +}__attribute__((packed, aligned (4))); - /* Driver added data */ +struct ipr_hostrcb { + struct ipr_hcam hcam; u32 hostrcb_dma; struct list_head queue; -}__attribute__((packed, aligned (4))); - -#define IPR_HOSTRCB_SZ offsetof(struct ipr_hostrcb, hostrcb_dma) +}; /* IPR smart dump table structures */ struct ipr_sdt_entry { @@ -785,7 +785,7 @@ u32 ioasc; u32 add_data; u32 res_addr; - }; + } u; }; struct ipr_sglist { @@ -939,7 +939,8 @@ unsigned long scratch; struct ipr_resource_entry *res; struct ipr_cmnd *sibling; - }; + struct scsi_device *sdev; + } u; struct ipr_ioa_cfg *ioa_cfg; }; diff -Nru a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c --- a/drivers/scsi/nsp32.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/nsp32.c 2004-05-26 15:01:35 -07:00 @@ -38,7 +38,6 @@ #include #include #include -#include #include #include diff -Nru a/drivers/scsi/qlogicfas408.c b/drivers/scsi/qlogicfas408.c --- a/drivers/scsi/qlogicfas408.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/qlogicfas408.c 2004-05-26 15:01:35 -07:00 @@ -538,7 +538,7 @@ * Return info string */ -char *qlogicfas408_info(struct Scsi_Host *host) +const char *qlogicfas408_info(struct Scsi_Host *host) { struct qlogicfas408_priv *priv = get_priv_by_host(host); return priv->qinfo; diff -Nru a/drivers/scsi/qlogicfas408.h b/drivers/scsi/qlogicfas408.h --- a/drivers/scsi/qlogicfas408.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/qlogicfas408.h 2004-05-26 15:01:35 -07:00 @@ -111,7 +111,7 @@ int qlogicfas408_bus_reset(Scsi_Cmnd * cmd); int qlogicfas408_host_reset(Scsi_Cmnd * cmd); int qlogicfas408_device_reset(Scsi_Cmnd * cmd); -char *qlogicfas408_info(struct Scsi_Host *host); +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); int qlogicfas408_detect(int qbase, int int_type); diff -Nru a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c --- a/drivers/scsi/scsi_lib.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/scsi_lib.c 2004-05-26 15:01:36 -07:00 @@ -1610,7 +1610,9 @@ case SDEV_CANCEL: switch (oldstate) { + case SDEV_CREATED: case SDEV_RUNNING: + case SDEV_OFFLINE: break; default: goto illegal; @@ -1619,9 +1621,7 @@ case SDEV_DEL: switch (oldstate) { - case SDEV_CREATED: case SDEV_CANCEL: - case SDEV_OFFLINE: break; default: goto illegal; diff -Nru a/drivers/scsi/scsi_logging.h b/drivers/scsi/scsi_logging.h --- a/drivers/scsi/scsi_logging.h 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/scsi_logging.h 2004-05-26 15:01:35 -07:00 @@ -46,7 +46,7 @@ #define SCSI_CHECK_LOGGING(SHIFT, BITS, LEVEL, CMD) \ { \ - if ((SCSI_LOG_LEVEL(SHIFT, BITS)) > (LEVEL)) \ + if (unlikely((SCSI_LOG_LEVEL(SHIFT, BITS)) > (LEVEL))) \ (CMD); \ } #else diff -Nru a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c --- a/drivers/scsi/scsi_scan.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/scsi_scan.c 2004-05-26 15:01:36 -07:00 @@ -80,7 +80,6 @@ MODULE_PARM_DESC(max_luns, "last scsi LUN (should be between 1 and 2^32-1)"); -#ifdef CONFIG_SCSI_REPORT_LUNS /* * max_scsi_report_luns: the maximum number of LUNS that will be * returned from the REPORT LUNS command. 8 times this value must @@ -88,13 +87,19 @@ * in practice, the maximum number of LUNs suppored by any device * is about 16k. */ -static unsigned int max_scsi_report_luns = 128; +static unsigned int max_scsi_report_luns = 511; module_param_named(max_report_luns, max_scsi_report_luns, int, S_IRUGO|S_IWUSR); MODULE_PARM_DESC(max_report_luns, "REPORT LUNS maximum number of LUNS received (should be" " between 1 and 16384)"); -#endif + +static unsigned int scsi_inq_timeout = SCSI_TIMEOUT/HZ+3; + +module_param_named(inq_timeout, scsi_inq_timeout, int, S_IRUGO|S_IWUSR); +MODULE_PARM_DESC(inq_timeout, + "Timeout (in seconds) waiting for devices to answer INQUIRY." + " Default is 5. Some non-compliant devices need more."); /** * scsi_unlock_floptical - unlock device via a special MODE SENSE command @@ -212,6 +217,11 @@ INIT_LIST_HEAD(&sdev->starved_entry); spin_lock_init(&sdev->list_lock); + + /* if the device needs this changing, it may do so in the + * slave_configure function */ + sdev->max_device_blocked = SCSI_DEFAULT_DEVICE_BLOCKED; + /* * Some low level driver could use device->type */ @@ -346,7 +356,7 @@ memset(inq_result, 0, 36); scsi_wait_req(sreq, (void *) scsi_cmd, (void *) inq_result, 36, - SCSI_TIMEOUT + 4 * HZ, 3); + HZ/2 + HZ*scsi_inq_timeout, 3); SCSI_LOG_SCAN_BUS(3, printk(KERN_INFO "scsi scan: 1st INQUIRY %s with" " code 0x%x\n", sreq->sr_result ? @@ -400,7 +410,7 @@ memset(inq_result, 0, possible_inq_resp_len); scsi_wait_req(sreq, (void *) scsi_cmd, (void *) inq_result, - possible_inq_resp_len, SCSI_TIMEOUT + 4 * HZ, 3); + possible_inq_resp_len, (1+scsi_inq_timeout)*(HZ/2), 3); SCSI_LOG_SCAN_BUS(3, printk(KERN_INFO "scsi scan: 2nd INQUIRY" " %s with code 0x%x\n", sreq->sr_result ? "failed" : "successful", sreq->sr_result)); @@ -628,10 +638,6 @@ spin_unlock_irqrestore(sdev->host->host_lock, flags); } - /* if the device needs this changing, it may do so in the detect - * function */ - sdev->max_device_blocked = SCSI_DEFAULT_DEVICE_BLOCKED; - sdev->use_10_for_rw = 1; if (*bflags & BLIST_MS_SKIP_PAGE_08) @@ -863,7 +869,6 @@ return; } -#ifdef CONFIG_SCSI_REPORT_LUNS /** * scsilun_to_int: convert a scsi_lun to an int * @scsilun: struct scsi_lun to be converted. @@ -924,9 +929,14 @@ u8 *data; /* - * Only support SCSI-3 and up devices. - */ - if (sdev->scsi_level < SCSI_3) + * Only support SCSI-3 and up devices if BLIST_NOREPORTLUN is not set. + * Also allow SCSI-2 if BLIST_REPORTLUN2 is set and host adapter does + * support more than 8 LUNs. + */ + if ((bflags & BLIST_NOREPORTLUN) || + sdev->scsi_level < SCSI_2 || + (sdev->scsi_level < SCSI_3 && + (!(bflags & BLIST_REPORTLUN2) || sdev->host->max_lun <= 8)) ) return 1; if (bflags & BLIST_NOLUN) return 0; @@ -1090,9 +1100,6 @@ printk(ALLOC_FAILURE_MSG, __FUNCTION__); return 0; } -#else -# define scsi_report_lun_scan(sdev, blags, rescan) (1) -#endif /* CONFIG_SCSI_REPORT_LUNS */ struct scsi_device *scsi_add_device(struct Scsi_Host *shost, uint channel, uint id, uint lun) diff -Nru a/drivers/scsi/scsiiom.c b/drivers/scsi/scsiiom.c --- a/drivers/scsi/scsiiom.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/scsi/scsiiom.c 2004-05-26 15:01:35 -07:00 @@ -15,7 +15,7 @@ }; -UCHAR +static UCHAR dc390_StartSCSI( PACB pACB, PDCB pDCB, PSRB pSRB ) { UCHAR cmd; UCHAR disc_allowed, try_sync_nego; @@ -227,7 +227,7 @@ #if DMA_INT UCHAR dstatus; #endif - DC390_AFLAGS DC390_IFLAGS; //DC390_DFLAGS + DC390_IFLAGS; pACB = (PACB)dev_id; for (pACB2 = dc390_pACB_start; (pACB2 && pACB2 != pACB); pACB2 = pACB2->pNextACB); @@ -237,26 +237,21 @@ return IRQ_NONE; } - //DC390_LOCK_DRV; - sstatus = DC390_read8 (Scsi_Status); if( !(sstatus & INTERRUPT) ) - { /*DC390_UNLOCK_DRV;*/ return IRQ_NONE; }; + return IRQ_NONE; DEBUG1(printk (KERN_DEBUG "sstatus=%02x,", sstatus)); #if DMA_INT DC390_LOCK_IO(pACB->pScsiHost); - DC390_LOCK_ACB; dstatus = dc390_dma_intr (pACB); - DC390_UNLOCK_ACB; DC390_UNLOCK_IO(pACB->pScsiHost); DEBUG1(printk (KERN_DEBUG "dstatus=%02x,", dstatus)); if (! (dstatus & SCSI_INTERRUPT)) { DEBUG0(printk (KERN_WARNING "DC390 Int w/o SCSI actions (only DMA?)\n")); - //DC390_UNLOCK_DRV; return IRQ_NONE; }; #else @@ -266,8 +261,6 @@ #endif DC390_LOCK_IO(pACB->pScsiHost); - DC390_LOCK_ACB; - //DC390_UNLOCK_DRV_NI; /* Allow _other_ CPUs to process IRQ (useful for shared IRQs) */ istate = DC390_read8 (Intern_State); istatus = DC390_read8 (INT_Status); /* This clears Scsi_Status, Intern_State and INT_Status ! */ @@ -339,14 +332,11 @@ } unlock: - //DC390_LOCK_DRV_NI; - DC390_UNLOCK_ACB; DC390_UNLOCK_IO(pACB->pScsiHost); - //DC390_UNLOCK_DRV; /* Restore initial flags */ return IRQ_HANDLED; } -irqreturn_t do_DC390_Interrupt( int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t do_DC390_Interrupt( int irq, void *dev_id, struct pt_regs *regs) { irqreturn_t ret; DEBUG1(printk (KERN_INFO "DC390: Irq (%i) caught: ", irq)); @@ -356,7 +346,7 @@ return ret; } -void +static void dc390_DataOut_0( PACB pACB, PSRB pSRB, PUCHAR psstatus) { UCHAR sstatus; @@ -410,7 +400,7 @@ } } -void +static void dc390_DataIn_0( PACB pACB, PSRB pSRB, PUCHAR psstatus) { UCHAR sstatus, residual, bval; @@ -521,7 +511,7 @@ { DC390_write8 (ScsiCmd, CLEAR_FIFO_CMD); DC390_write8 (DMA_Cmd, READ_DIRECTION+DMA_IDLE_CMD); /* | DMA_INT */ - } + } } static void @@ -740,9 +730,9 @@ psgl = pSRB->pSegmentList; //dc390_pci_sync(pSRB); - while (pSRB->TotalXferredLen + (ULONG) psgl->length < pSRB->Saved_Ptr) + while (pSRB->TotalXferredLen + (ULONG) sg_dma_len(psgl) < pSRB->Saved_Ptr) { - pSRB->TotalXferredLen += (ULONG) psgl->length; + pSRB->TotalXferredLen += (ULONG) sg_dma_len(psgl); pSRB->SGIndex++; if( pSRB->SGIndex < pSRB->SGcount ) { @@ -762,7 +752,7 @@ } else if(pcmd->request_buffer) { //dc390_pci_sync(pSRB); - pSRB->Segmentx.length = pcmd->request_bufflen - pSRB->Saved_Ptr; + sg_dma_len(&pSRB->Segmentx) = pcmd->request_bufflen - pSRB->Saved_Ptr; pSRB->SGcount = 1; pSRB->pSegmentList = (PSGL) &pSRB->Segmentx; } else { @@ -873,7 +863,7 @@ } -void +static void dc390_DataIO_Comm( PACB pACB, PSRB pSRB, UCHAR ioDir) { PSGL psgl; @@ -885,6 +875,8 @@ if (pDCB) printk (KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (%02i-%i)\n", pDCB->TargetID, pDCB->TargetLUN); else printk (KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (DCB 0!)\n"); + + pSRB->pSRBDCB = pDCB; dc390_EnableMsgOut_Abort (pACB, pSRB); if (pDCB) pDCB->DCBFlag |= ABORT_DEV; return; @@ -1150,7 +1142,6 @@ pSRB = psrb; } pDCB->pGoingSRB = 0; - dc390_Query_to_Waiting (pACB); dc390_Waiting_process (pACB); } else @@ -1466,7 +1457,7 @@ ptr2 = pSRB->pSegmentList; for( i=pSRB->SGIndex; i < bval; i++) { - swlval += ptr2->length; + swlval += sg_dma_len(ptr2); ptr2++; } REMOVABLEDEBUG(printk(KERN_INFO "XferredLen=%08x,NotXferLen=%08x\n",\ @@ -1619,20 +1610,15 @@ pACB->scan_devices = 0; }; -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,30) pcmd->resid = pcmd->request_bufflen - pSRB->TotalXferredLen; -#endif if (!DCB_removed) dc390_Going_remove (pDCB, pSRB); /* Add to free list */ dc390_Free_insert (pACB, pSRB); DEBUG0(printk (KERN_DEBUG "DC390: SRBdone: done pid %li\n", pcmd->pid)); - DC390_UNLOCK_ACB_NI; pcmd->scsi_done (pcmd); - DC390_LOCK_ACB_NI; - dc390_Query_to_Waiting (pACB); dc390_Waiting_process (pACB); return; } @@ -1668,9 +1654,7 @@ /* ReleaseSRB( pDCB, pSRB ); */ DEBUG0(printk (KERN_DEBUG "DC390: DoingSRB_Done: done pid %li\n", pcmd->pid)); - DC390_UNLOCK_ACB_NI; pcmd->scsi_done( pcmd ); - DC390_LOCK_ACB_NI; #endif psrb = psrb2; } @@ -1679,7 +1663,6 @@ pdcb->TagMask = 0; pdcb = pdcb->pNextDCB; } while( pdcb != pDCB ); - dc390_Query_to_Waiting (pACB); } diff -Nru a/drivers/scsi/sg.c b/drivers/scsi/sg.c --- a/drivers/scsi/sg.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/sg.c 2004-05-26 15:01:36 -07:00 @@ -7,7 +7,7 @@ * Original driver (sg.c): * Copyright (C) 1992 Lawrence Foard * Version 2 and 3 extensions to driver: - * Copyright (C) 1998 - 2002 Douglas Gilbert + * Copyright (C) 1998 - 2004 Douglas Gilbert * * Modified 19-JAN-1998 Richard Gooch Devfs support * @@ -17,27 +17,18 @@ * any later version. * */ -#include -static int sg_version_num = 30530; /* 2 digits for each component */ + +static int sg_version_num = 30531; /* 2 digits for each component */ +#define SG_VERSION_STR "3.5.31" + /* * D. P. Gilbert (dgilbert@interlog.com, dougg@triode.net.au), notes: * - scsi logging is available via SCSI_LOG_TIMEOUT macros. First * the kernel/module needs to be built with CONFIG_SCSI_LOGGING * (otherwise the macros compile to empty statements). - * Then before running the program to be debugged enter: - * # echo "scsi log timeout 7" > /proc/scsi/scsi - * This will send copious output to the console and the log which - * is usually /var/log/messages. To turn off debugging enter: - * # echo "scsi log timeout 0" > /proc/scsi/scsi - * The 'timeout' token was chosen because it is relatively unused. - * The token 'hlcomplete' should be used but that triggers too - * much output from the sd device driver. To dump the current - * state of the SCSI mid level data structures enter: - * # echo "scsi dump 1" > /proc/scsi/scsi - * To dump the state of sg's data structures use: - * # cat /proc/scsi/sg/debug * */ +#include #include #include @@ -69,7 +60,7 @@ #ifdef CONFIG_SCSI_PROC_FS #include -static char *sg_version_str = "3.5.30 [20040124]"; +static char *sg_version_date = "20040513"; static int sg_proc_init(void); static void sg_proc_cleanup(void); @@ -110,7 +101,7 @@ #define SG_SECTOR_SZ 512 #define SG_SECTOR_MSK (SG_SECTOR_SZ - 1) -#define SG_DEV_ARR_LUMP 6 /* amount to over allocate sg_dev_arr by */ +#define SG_DEV_ARR_LUMP 32 /* amount to over allocate sg_dev_arr by */ static int sg_add(struct class_device *); static void sg_remove(struct class_device *); @@ -1333,85 +1324,44 @@ static int sg_sysfs_valid = 0; -static int -sg_add(struct class_device *cl_dev) +static int sg_alloc(struct gendisk *disk, struct scsi_device *scsidp) { - struct scsi_device *scsidp = to_scsi_device(cl_dev->dev); - struct gendisk *disk; - Sg_device *sdp = NULL; + Sg_device *sdp; unsigned long iflags; - struct cdev * cdev = NULL; + void *old_sg_dev_arr = NULL; int k, error; - disk = alloc_disk(1); - if (!disk) + sdp = vmalloc(sizeof(Sg_device)); + if (!sdp) return -ENOMEM; - cdev = cdev_alloc(); - if (! cdev) - return -ENOMEM; write_lock_irqsave(&sg_dev_arr_lock, iflags); - if (sg_nr_dev >= sg_dev_max) { /* try to resize */ + if (unlikely(sg_nr_dev >= sg_dev_max)) { /* try to resize */ Sg_device **tmp_da; int tmp_dev_max = sg_nr_dev + SG_DEV_ARR_LUMP; - write_unlock_irqrestore(&sg_dev_arr_lock, iflags); - tmp_da = (Sg_device **)vmalloc( - tmp_dev_max * sizeof(Sg_device *)); - if (NULL == tmp_da) { - printk(KERN_ERR - "sg_add: device array cannot be resized\n"); - error = -ENOMEM; - goto out; - } + + tmp_da = vmalloc(tmp_dev_max * sizeof(Sg_device *)); + if (unlikely(!tmp_da)) + goto expand_failed; + write_lock_irqsave(&sg_dev_arr_lock, iflags); - memset(tmp_da, 0, tmp_dev_max * sizeof (Sg_device *)); - memcpy(tmp_da, sg_dev_arr, - sg_dev_max * sizeof (Sg_device *)); - vfree((char *) sg_dev_arr); + memset(tmp_da, 0, tmp_dev_max * sizeof(Sg_device *)); + memcpy(tmp_da, sg_dev_arr, sg_dev_max * sizeof(Sg_device *)); + old_sg_dev_arr = sg_dev_arr; sg_dev_arr = tmp_da; sg_dev_max = tmp_dev_max; } -find_empty_slot: for (k = 0; k < sg_dev_max; k++) if (!sg_dev_arr[k]) break; - if (k >= SG_MAX_DEVS) { - write_unlock_irqrestore(&sg_dev_arr_lock, iflags); - printk(KERN_WARNING - "Unable to attach sg device <%d, %d, %d, %d>" - " type=%d, minor number exceeds %d\n", - scsidp->host->host_no, scsidp->channel, scsidp->id, - scsidp->lun, scsidp->type, SG_MAX_DEVS - 1); - if (NULL != sdp) - vfree((char *) sdp); - error = -ENODEV; - goto out; - } - if (k < sg_dev_max) { - if (NULL == sdp) { - write_unlock_irqrestore(&sg_dev_arr_lock, iflags); - sdp = (Sg_device *)vmalloc(sizeof(Sg_device)); - write_lock_irqsave(&sg_dev_arr_lock, iflags); - if (!sg_dev_arr[k]) - goto find_empty_slot; - } - } else - sdp = NULL; - if (NULL == sdp) { - write_unlock_irqrestore(&sg_dev_arr_lock, iflags); - printk(KERN_ERR "sg_add: Sg_device cannot be allocated\n"); - error = -ENOMEM; - goto out; - } + if (unlikely(k >= SG_MAX_DEVS)) + goto overflow; - SCSI_LOG_TIMEOUT(3, printk("sg_add: dev=%d \n", k)); memset(sdp, 0, sizeof(*sdp)); + SCSI_LOG_TIMEOUT(3, printk("sg_alloc: dev=%d \n", k)); sprintf(disk->disk_name, "sg%d", k); - cdev->owner = THIS_MODULE; - cdev->ops = &sg_fops; - disk->major = SCSI_GENERIC_MAJOR; disk->first_minor = k; sdp->disk = disk; sdp->device = scsidp; @@ -1421,6 +1371,55 @@ sg_nr_dev++; sg_dev_arr[k] = sdp; write_unlock_irqrestore(&sg_dev_arr_lock, iflags); + error = k; + + out: + if (error < 0) + vfree(sdp); + vfree(old_sg_dev_arr); + return error; + + expand_failed: + printk(KERN_ERR "sg_alloc: device array cannot be resized\n"); + error = -ENOMEM; + goto out; + + overflow: + write_unlock_irqrestore(&sg_dev_arr_lock, iflags); + printk(KERN_WARNING + "Unable to attach sg device <%d, %d, %d, %d> type=%d, minor " + "number exceeds %d\n", scsidp->host->host_no, scsidp->channel, + scsidp->id, scsidp->lun, scsidp->type, SG_MAX_DEVS - 1); + error = -ENODEV; + goto out; +} + +static int +sg_add(struct class_device *cl_dev) +{ + struct scsi_device *scsidp = to_scsi_device(cl_dev->dev); + struct gendisk *disk; + Sg_device *sdp = NULL; + struct cdev * cdev = NULL; + int error, k; + + disk = alloc_disk(1); + if (!disk) + return -ENOMEM; + disk->major = SCSI_GENERIC_MAJOR; + + error = -ENOMEM; + cdev = cdev_alloc(); + if (!cdev) + goto out; + cdev->owner = THIS_MODULE; + cdev->ops = &sg_fops; + + error = sg_alloc(disk, scsidp); + if (error < 0) + goto out; + k = error; + sdp = sg_dev_arr[k]; devfs_mk_cdev(MKDEV(SCSI_GENERIC_MAJOR, k), S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP, @@ -1543,6 +1542,7 @@ MODULE_AUTHOR("Douglas Gilbert"); MODULE_DESCRIPTION("SCSI generic (sg) driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(SG_VERSION_STR); MODULE_PARM_DESC(def_reserved_size, "size of buffer reserved for each fd"); MODULE_PARM_DESC(allow_dio, "allow direct I/O (default: 0 (disallow))"); @@ -2844,7 +2844,8 @@ static int sg_proc_seq_show_version(struct seq_file *s, void *v) { - seq_printf(s, "%d\t%s\n", sg_version_num, sg_version_str); + seq_printf(s, "%d\t%s [%s]\n", sg_version_num, SG_VERSION_STR, + sg_version_date); return 0; } diff -Nru a/drivers/scsi/st.c b/drivers/scsi/st.c --- a/drivers/scsi/st.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/st.c 2004-05-26 15:01:36 -07:00 @@ -486,7 +486,7 @@ tape_name(STp), forward ? "forward" : "backward")); SRpnt = st_do_scsi(NULL, STp, cmd, 0, SCSI_DATA_NONE, - STp->timeout, MAX_RETRIES, TRUE); + STp->device->timeout, MAX_RETRIES, TRUE); if (!SRpnt) return (STp->buffer)->syscall_result; @@ -544,7 +544,7 @@ cmd[4] = blks; SRpnt = st_do_scsi(NULL, STp, cmd, transfer, SCSI_DATA_WRITE, - STp->timeout, MAX_WRITE_RETRIES, TRUE); + STp->device->timeout, MAX_WRITE_RETRIES, TRUE); if (!SRpnt) return (STp->buffer)->syscall_result; @@ -867,7 +867,7 @@ memset((void *) &cmd[0], 0, MAX_COMMAND_SIZE); cmd[0] = READ_BLOCK_LIMITS; - SRpnt = st_do_scsi(SRpnt, STp, cmd, 6, SCSI_DATA_READ, STp->timeout, + SRpnt = st_do_scsi(SRpnt, STp, cmd, 6, SCSI_DATA_READ, STp->device->timeout, MAX_READY_RETRIES, TRUE); if (!SRpnt) { retval = (STp->buffer)->syscall_result; @@ -894,7 +894,7 @@ cmd[0] = MODE_SENSE; cmd[4] = 12; - SRpnt = st_do_scsi(SRpnt, STp, cmd, 12, SCSI_DATA_READ, STp->timeout, + SRpnt = st_do_scsi(SRpnt, STp, cmd, 12, SCSI_DATA_READ, STp->device->timeout, MAX_READY_RETRIES, TRUE); if (!SRpnt) { retval = (STp->buffer)->syscall_result; @@ -1116,7 +1116,7 @@ cmd[4] = 1 + STp->two_fm; SRpnt = st_do_scsi(NULL, STp, cmd, 0, SCSI_DATA_NONE, - STp->timeout, MAX_WRITE_RETRIES, TRUE); + STp->device->timeout, MAX_WRITE_RETRIES, TRUE); if (!SRpnt) { result = (STp->buffer)->syscall_result; goto out; @@ -1509,7 +1509,7 @@ cmd[4] = blks; SRpnt = st_do_scsi(SRpnt, STp, cmd, transfer, SCSI_DATA_WRITE, - STp->timeout, MAX_WRITE_RETRIES, !async_write); + STp->device->timeout, MAX_WRITE_RETRIES, !async_write); if (!SRpnt) { retval = STbp->syscall_result; goto out; @@ -1679,7 +1679,7 @@ SRpnt = *aSRpnt; SRpnt = st_do_scsi(SRpnt, STp, cmd, bytes, SCSI_DATA_READ, - STp->timeout, MAX_RETRIES, TRUE); + STp->device->timeout, MAX_RETRIES, TRUE); release_buffering(STp); *aSRpnt = SRpnt; if (!SRpnt) @@ -2081,7 +2081,7 @@ DEBC( printk(KERN_INFO "%s: Long timeout set to %d seconds.\n", name, (value & ~MT_ST_SET_LONG_TIMEOUT))); } else { - STp->timeout = value * HZ; + STp->device->timeout = value * HZ; DEBC( printk(KERN_INFO "%s: Normal timeout set to %d seconds.\n", name, value) ); } @@ -2189,7 +2189,7 @@ cmd[4] = 255; SRpnt = st_do_scsi(SRpnt, STp, cmd, cmd[4], SCSI_DATA_READ, - STp->timeout, 0, TRUE); + STp->device->timeout, 0, TRUE); if (SRpnt == NULL) return (STp->buffer)->syscall_result; @@ -2220,7 +2220,7 @@ (STp->buffer)->b_data[pgo + MP_OFF_PAGE_NBR] &= MP_MSK_PAGE_NBR; SRpnt = st_do_scsi(SRpnt, STp, cmd, cmd[4], SCSI_DATA_WRITE, - (slow ? STp->long_timeout : STp->timeout), 0, TRUE); + (slow ? STp->long_timeout : STp->device->timeout), 0, TRUE); if (SRpnt == NULL) return (STp->buffer)->syscall_result; @@ -2332,7 +2332,7 @@ } if (STp->immediate) { cmd[1] = 1; /* Don't wait for completion */ - timeout = STp->timeout; + timeout = STp->device->timeout; } else timeout = STp->long_timeout; @@ -2512,7 +2512,7 @@ cmd[2] = (arg >> 16); cmd[3] = (arg >> 8); cmd[4] = arg; - timeout = STp->timeout; + timeout = STp->device->timeout; DEBC( if (cmd_in == MTWEOF) printk(ST_DEB_MSG "%s: Writing %d filemarks.\n", name, @@ -2530,7 +2530,7 @@ cmd[0] = REZERO_UNIT; if (STp->immediate) { cmd[1] = 1; /* Don't wait for completion */ - timeout = STp->timeout; + timeout = STp->device->timeout; } DEBC(printk(ST_DEB_MSG "%s: Rewinding tape.\n", name)); fileno = blkno = at_sm = 0; @@ -2543,7 +2543,7 @@ cmd[0] = START_STOP; if (STp->immediate) { cmd[1] = 1; /* Don't wait for completion */ - timeout = STp->timeout; + timeout = STp->device->timeout; } cmd[4] = 3; DEBC(printk(ST_DEB_MSG "%s: Retensioning tape.\n", name)); @@ -2576,7 +2576,7 @@ cmd[1] = (arg ? 1 : 0); /* Long erase with non-zero argument */ if (STp->immediate) { cmd[1] |= 2; /* Don't wait for completion */ - timeout = STp->timeout; + timeout = STp->device->timeout; } else timeout = STp->long_timeout * 8; @@ -2628,7 +2628,7 @@ (STp->buffer)->b_data[9] = (ltmp >> 16); (STp->buffer)->b_data[10] = (ltmp >> 8); (STp->buffer)->b_data[11] = ltmp; - timeout = STp->timeout; + timeout = STp->device->timeout; DEBC( if (cmd_in == MTSETBLK || cmd_in == SET_DENS_AND_BLK) printk(ST_DEB_MSG @@ -2809,7 +2809,7 @@ if (!logical && !STp->scsi2_logical) scmd[1] = 1; } - SRpnt = st_do_scsi(NULL, STp, scmd, 20, SCSI_DATA_READ, STp->timeout, + SRpnt = st_do_scsi(NULL, STp, scmd, 20, SCSI_DATA_READ, STp->device->timeout, MAX_READY_RETRIES, TRUE); if (!SRpnt) return (STp->buffer)->syscall_result; @@ -2911,7 +2911,7 @@ } if (STp->immediate) { scmd[1] |= 1; /* Don't wait for completion */ - timeout = STp->timeout; + timeout = STp->device->timeout; } SRpnt = st_do_scsi(NULL, STp, scmd, 0, SCSI_DATA_NONE, @@ -3408,11 +3408,17 @@ goto out; } up(&STp->lock); - i = scsi_cmd_ioctl(STp->disk, cmd_in, arg); - if (i != -ENOTTY) - return i; - else - return scsi_ioctl(STp->device, cmd_in, (void *) arg); + switch (cmd_in) { + case SCSI_IOCTL_GET_IDLUN: + case SCSI_IOCTL_GET_BUS_NUMBER: + break; + default: + i = scsi_cmd_ioctl(STp->disk, cmd_in, arg); + if (i != -ENOTTY) + return i; + break; + } + return scsi_ioctl(STp->device, cmd_in, (void *) arg); out: up(&STp->lock); @@ -3832,7 +3838,7 @@ tpnt->partition = 0; tpnt->new_partition = 0; tpnt->nbr_partitions = 0; - tpnt->timeout = ST_TIMEOUT; + tpnt->device->timeout = ST_TIMEOUT; tpnt->long_timeout = ST_LONG_TIMEOUT; tpnt->try_dio = try_direct_io && !SDp->host->unchecked_isa_dma; diff -Nru a/drivers/scsi/st.h b/drivers/scsi/st.h --- a/drivers/scsi/st.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/st.h 2004-05-26 15:01:36 -07:00 @@ -100,7 +100,6 @@ unsigned char c_algo; /* compression algorithm */ unsigned char pos_unknown; /* after reset position unknown */ int tape_type; - int timeout; /* timeout for normal commands */ int long_timeout; /* timeout for commands known to take long time */ unsigned long max_pfn; /* the maximum page number reachable by the HBA */ diff -Nru a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c --- a/drivers/scsi/tmscsim.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/tmscsim.c 2004-05-26 15:01:36 -07:00 @@ -168,6 +168,10 @@ * 2.1a 03/11/29 GL, KG Initial fixing for 2.6. Convert to * * use the current PCI-mapping API, update * * command-queuing. * + * 2.1b 04/04/13 GL Fix for 64-bit platforms * + * 2.1b1 04/01/31 GL (applied 05.04) Remove internal * + * command-queuing. * + * 2.1b2 04/02/01 CH (applied 05.04) Fix error-handling * ***********************************************************************/ /* Uncomment SA_INTERRUPT, if the driver refuses to share its IRQ with other devices */ @@ -260,16 +264,10 @@ * undef : traditional save_flags; cli; restore_flags; */ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,30) -# include -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,30) -# include -#else -# include -#endif -#endif +#include +#include -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,99) && defined(MODULE) +#if defined(MODULE) static struct pci_device_id tmscsim_pci_tbl[] = { { .vendor = PCI_VENDOR_ID_AMD, @@ -283,23 +281,10 @@ #endif #define USE_SPINLOCKS 1 -#define NEW_PCI 1 -#define DC390_AFLAGS #define DC390_IFLAGS unsigned long iflags -#define DC390_DFLAGS unsigned long dflags -spinlock_t dc390_drvlock = SPIN_LOCK_UNLOCKED; #define DC390_LOCK_IO(dev) spin_lock_irqsave (((struct Scsi_Host *)dev)->host_lock, iflags) #define DC390_UNLOCK_IO(dev) spin_unlock_irqrestore (((struct Scsi_Host *)dev)->host_lock, iflags) -#define DC390_LOCK_DRV spin_lock_irqsave (&dc390_drvlock, dflags) -#define DC390_UNLOCK_DRV spin_unlock_irqrestore (&dc390_drvlock, dflags) -#define DC390_LOCK_DRV_NI spin_lock (&dc390_drvlock) -#define DC390_UNLOCK_DRV_NI spin_unlock (&dc390_drvlock) -#define DC390_LOCK_ACB /* DC390_LOCK_IO */ -#define DC390_UNLOCK_ACB /* DC390_UNLOCK_IO */ -#define DC390_LOCK_ACB_NI /* spin_lock (&(pACB->lock)) */ -#define DC390_UNLOCK_ACB_NI /* spin_unlock (&(pACB->lock)) */ -#define DC390_LOCKA_INIT /* DC390_LOCKA_INIT */ /* These macros are used for uniform access to 2.0.x and 2.1.x PCI config space*/ @@ -313,10 +298,7 @@ #define PCI_READ_CONFIG_BYTE(pd, rv, bv) pci_read_config_byte (pd, rv, bv) #define PCI_WRITE_CONFIG_WORD(pd, rv, bv) pci_write_config_word (pd, rv, bv) #define PCI_READ_CONFIG_WORD(pd, rv, bv) pci_read_config_word (pd, rv, bv) -#define PCI_BUS_DEV pdev->bus->number, pdev->devfn #define PCI_PRESENT (1) -#define PCI_SET_MASTER pci_set_master (pdev) -#define PCI_FIND_DEVICE(vend, id) (pdev = pci_find_device (vend, id, pdev)) #define PCI_GET_IO_AND_IRQ do{io_port = pci_resource_start (pdev, 0); irq = pdev->irq;} while(0) #include "tmscsim.h" @@ -325,46 +307,42 @@ # define __init #endif -UCHAR dc390_StartSCSI( PACB pACB, PDCB pDCB, PSRB pSRB ); -void dc390_DataOut_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); -void dc390_DataIn_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); +static UCHAR dc390_StartSCSI( PACB pACB, PDCB pDCB, PSRB pSRB ); +static void dc390_DataOut_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); +static void dc390_DataIn_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_Command_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_Status_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_MsgOut_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); -void dc390_MsgIn_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); +static void dc390_MsgIn_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_DataOutPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_DataInPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); -void dc390_CommandPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); +static void dc390_CommandPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_StatusPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); -void dc390_MsgOutPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); +static void dc390_MsgOutPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_MsgInPhase( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_Nop_0( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_Nop_1( PACB pACB, PSRB pSRB, PUCHAR psstatus); static void dc390_SetXferRate( PACB pACB, PDCB pDCB ); -void dc390_Disconnect( PACB pACB ); -void dc390_Reselect( PACB pACB ); -void dc390_SRBdone( PACB pACB, PDCB pDCB, PSRB pSRB ); -void dc390_DoingSRB_Done( PACB pACB, PSCSICMD cmd ); +static void dc390_Disconnect( PACB pACB ); +static void dc390_Reselect( PACB pACB ); +static void dc390_SRBdone( PACB pACB, PDCB pDCB, PSRB pSRB ); +static void dc390_DoingSRB_Done( PACB pACB, PSCSICMD cmd ); static void dc390_ScsiRstDetect( PACB pACB ); static void dc390_ResetSCSIBus( PACB pACB ); static void __inline__ dc390_RequestSense( PACB pACB, PDCB pDCB, PSRB pSRB ); static void __inline__ dc390_InvalidCmd( PACB pACB ); static void __inline__ dc390_EnableMsgOut_Abort (PACB, PSRB); static void dc390_remove_dev (PACB pACB, PDCB pDCB); -irqreturn_t do_DC390_Interrupt( int, void *, struct pt_regs *); +static irqreturn_t do_DC390_Interrupt( int, void *, struct pt_regs *); -int dc390_initAdapter( PSH psh, ULONG io_port, UCHAR Irq, UCHAR index ); -void dc390_initDCB( PACB pACB, PDCB *ppDCB, UCHAR id, UCHAR lun); -void dc390_updateDCB (PACB pACB, PDCB pDCB); +static int dc390_initAdapter( PSH psh, ULONG io_port, UCHAR Irq, UCHAR index ); +static void dc390_initDCB( PACB pACB, PDCB *ppDCB, UCHAR id, UCHAR lun); +static void dc390_updateDCB (PACB pACB, PDCB pDCB); static int DC390_release(struct Scsi_Host *host); static int dc390_shutdown (struct Scsi_Host *host); - -//static PSHT dc390_pSHT_start = NULL; -//static PSH dc390_pSH_start = NULL; -//static PSH dc390_pSH_current = NULL; static PACB dc390_pACB_start= NULL; static PACB dc390_pACB_current = NULL; static ULONG dc390_lastabortedpid = 0; @@ -372,14 +350,11 @@ static UCHAR dc390_adapterCnt = 0; /* Startup values, to be overriden on the commandline */ -int tmscsim[] = {-2, -2, -2, -2, -2, -2}; +static int tmscsim[] = {-2, -2, -2, -2, -2, -2}; -# if defined(MODULE) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,30) +#if defined(MODULE) MODULE_PARM(tmscsim, "1-6i"); MODULE_PARM_DESC(tmscsim, "Host SCSI ID, Speed (0=10MHz), Device Flags, Adapter Flags, Max Tags (log2(tags)-1), DelayReset (s)"); -# endif - -#if defined(MODULE) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,30) MODULE_AUTHOR("C.L. Huang / Kurt Garloff"); MODULE_DESCRIPTION("SCSI host adapter driver for Tekram DC390 and other AMD53C974A based PCI SCSI adapters"); MODULE_LICENSE("GPL"); @@ -438,22 +413,15 @@ #endif /* Devices erroneously pretending to be able to do TagQ */ -UCHAR dc390_baddevname1[2][28] ={ +static UCHAR dc390_baddevname1[2][28] ={ "SEAGATE ST3390N 9546", "HP C3323-300 4269"}; #define BADDEVCNT 2 static char* dc390_adapname = "DC390"; -UCHAR dc390_eepromBuf[MAX_ADAPTER_NUM][EE_LEN]; -UCHAR dc390_clock_period1[] = {4, 5, 6, 7, 8, 10, 13, 20}; -UCHAR dc390_clock_speed[] = {100,80,67,57,50, 40, 31, 20}; - -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,30) -struct proc_dir_entry DC390_proc_scsi_tmscsim ={ - PROC_SCSI_DC390T, 7 ,"tmscsim", - S_IFDIR | S_IRUGO | S_IXUGO, 2 - }; -#endif +static UCHAR dc390_eepromBuf[MAX_ADAPTER_NUM][EE_LEN]; +static UCHAR dc390_clock_period1[] = {4, 5, 6, 7, 8, 10, 13, 20}; +static UCHAR dc390_clock_speed[] = {100,80,67,57,50, 40, 31, 20}; /*********************************************************************** * Functions for access to DC390 EEPROM @@ -518,7 +486,7 @@ } -int __initdata tmscsim_def[] = {7, 0 /* 10MHz */, +static int __initdata tmscsim_def[] = {7, 0 /* 10MHz */, PARITY_CHK_ | SEND_START_ | EN_DISCONNECT_ | SYNC_NEGO_ | TAG_QUEUEING_, MORE2_DRV | GREATER_1G | RST_SCSI_BUS | ACTIVE_NEGATION @@ -549,8 +517,7 @@ /* Override defaults on cmdline: * tmscsim: AdaptID, MaxSpeed (Index), DevMode (Bitmapped), AdaptMode (Bitmapped) */ -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,13) -int __init dc390_setup (char *str) +static int __init dc390_setup (char *str) { int ints[8]; int i, im; @@ -570,24 +537,6 @@ __setup("tmscsim=", dc390_setup); #endif -#else -void __init dc390_setup (char *str, int *ints) -{ - int i, im; - im = ints[0]; - if (im > 6) - { - printk (KERN_NOTICE "DC390: ignore extra params!\n"); - im = 6; - } - for (i = 0; i < im; i++) - tmscsim[i] = ints[i+1]; - /* dc390_checkparams (); */ -} -#endif - - - static void __init dc390_EEpromOutDI( PDEVDECL, PUCHAR regval, UCHAR Carry ) { UCHAR bval; @@ -751,37 +700,6 @@ return q; } #endif - - -/* Append to Query List */ -static void dc390_Query_append( PSCSICMD cmd, PACB pACB ) -{ - dc390_cmd_scp_t *cmdq = (dc390_cmd_scp_t *)&cmd->SCp; - - DEBUG0(printk ("DC390: Append cmd %li to Query\n", cmd->pid)); - - list_add_tail(&cmdq->list, &pACB->cmdq); - pACB->QueryCnt++; - pACB->CmdOutOfSRB++; -} - - -/* Return next cmd from Query list */ -static PSCSICMD dc390_Query_get ( PACB pACB ) -{ - PSCSICMD pcmd; - dc390_cmd_scp_t *cmdq; - if (list_empty(&pACB->cmdq)) - return NULL; - - pcmd = (PSCSICMD) list_entry(pACB->cmdq.next, struct scsi_cmnd_list, scp.list); - DEBUG0(printk ("DC390: Get cmd %li from Query\n", pcmd->pid)); - cmdq = (dc390_cmd_scp_t *)&pcmd->SCp; - list_del(&cmdq->list); - pACB->QueryCnt--; - return pcmd; -} - /* Return next free SRB */ static __inline__ PSRB dc390_Free_get ( PACB pACB ) @@ -891,17 +809,7 @@ dc390_Going_append (pDCB, pSRB); } -/* 2.0 timer compatibility */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,30) - static inline int timer_pending(struct timer_list * timer) - { - return timer->prev != NULL; - } - #define time_after(a,b) ((long)(b) - (long)(a) < 0) - #define time_before(a,b) time_after(b,a) -#endif - -void DC390_waiting_timed_out (unsigned long ptr); +static void DC390_waiting_timed_out (unsigned long ptr); /* Sets the timer to wake us up */ static void dc390_waiting_timer (PACB pACB, unsigned long to) { @@ -954,16 +862,13 @@ } /* Wake up waiting queue */ -void DC390_waiting_timed_out (unsigned long ptr) +static void DC390_waiting_timed_out (unsigned long ptr) { PACB pACB = (PACB)ptr; DC390_IFLAGS; - DC390_AFLAGS; DEBUG0(printk ("DC390: Debug: Waiting queue woken up by timer!\n")); DC390_LOCK_IO(pACB->pScsiHost); - DC390_LOCK_ACB; dc390_Waiting_process (pACB); - DC390_UNLOCK_ACB; DC390_UNLOCK_IO(pACB->pScsiHost); } @@ -1022,7 +927,7 @@ pci_map_page(pdev, virt_to_page(pcmd->sense_buffer), (unsigned long)pcmd->sense_buffer & ~PAGE_MASK, sizeof(pcmd->sense_buffer), DMA_FROM_DEVICE); - pSRB->Segmentx.length = sizeof(pcmd->sense_buffer); + sg_dma_len(&pSRB->Segmentx) = sizeof(pcmd->sense_buffer); pSRB->SGcount = 1; pSRB->pSegmentList = (PSGL) &pSRB->Segmentx; DEBUG1(printk("%s(): Mapped sense buffer %p at %x\n", __FUNCTION__, pcmd->sense_buffer, cmdp->saved_dma_handle)); @@ -1043,7 +948,7 @@ (unsigned long)pcmd->request_buffer & ~PAGE_MASK, pcmd->request_bufflen, scsi_to_pci_dma_dir(pcmd->sc_data_direction)); /* TODO: error handling */ - pSRB->Segmentx.length = pcmd->request_bufflen; + sg_dma_len(&pSRB->Segmentx) = pcmd->request_bufflen; pSRB->SGcount = 1; pSRB->pSegmentList = (PSGL) &pSRB->Segmentx; DEBUG1(printk("%s(): Mapped request buffer %p at %x\n", __FUNCTION__, pcmd->request_buffer, cmdp->saved_dma_handle)); @@ -1113,37 +1018,6 @@ /* KG: deferred PCI mapping to dc390_StartSCSI */ } -/* Put cmnd from Query to Waiting list and send next Waiting cmnd */ -static void dc390_Query_to_Waiting (PACB pACB) -{ - Scsi_Cmnd *pcmd; - PSRB pSRB; - PDCB pDCB; - - if( pACB->ACBFlag & (RESET_DETECT+RESET_DONE+RESET_DEV) ) - return; - - while (pACB->QueryCnt) - { - pSRB = dc390_Free_get ( pACB ); - if (!pSRB) return; - pcmd = dc390_Query_get ( pACB ); - if (!pcmd) { dc390_Free_insert (pACB, pSRB); return; } /* should not happen */ - pDCB = dc390_findDCB (pACB, pcmd->device->id, pcmd->device->lun); - if (!pDCB) - { - dc390_Free_insert (pACB, pSRB); - printk (KERN_ERR "DC390: Command in queue to non-existing device!\n"); - pcmd->result = MK_RES(DRIVER_ERROR,DID_ERROR,0,0); - DC390_UNLOCK_ACB_NI; - pcmd->done (pcmd); - DC390_LOCK_ACB_NI; - } - dc390_BuildSRB (pcmd, pDCB, pSRB); - dc390_Waiting_append ( pDCB, pSRB ); - } -} - /*********************************************************************** * Function : static int DC390_queue_command (Scsi_Cmnd *cmd, * void (*done)(Scsi_Cmnd *)) @@ -1163,24 +1037,17 @@ * ***********************************************************************/ -int DC390_queue_command (Scsi_Cmnd *cmd, void (* done)(Scsi_Cmnd *)) +static int DC390_queue_command (Scsi_Cmnd *cmd, void (* done)(Scsi_Cmnd *)) { PDCB pDCB; PSRB pSRB; PACB pACB = (PACB) cmd->device->host->hostdata; - DC390_AFLAGS; - DEBUG0(/* if(pACB->scan_devices) */ \ printk(KERN_INFO "DC390: Queue Cmd=%02x,Tgt=%d,LUN=%d (pid=%li), buffer=%p\n",\ cmd->cmnd[0],cmd->device->id,cmd->device->lun,cmd->pid, cmd->buffer)); - DC390_LOCK_ACB; - - /* Assume BAD_TARGET; will be cleared later */ - cmd->result = DID_BAD_TARGET << 16; - - /* TODO: Change the policy: Alway accept TEST_UNIT_READY or INQUIRY + /* TODO: Change the policy: Always accept TEST_UNIT_READY or INQUIRY * commands and alloc a DCB for the device if not yet there. DCB will * be removed in dc390_SRBdone if SEL_TIMEOUT */ @@ -1190,17 +1057,6 @@ else if( (pACB->scan_devices) && (cmd->cmnd[0] == READ_6) ) pACB->scan_devices = 0; - if ( ( cmd->device->id >= pACB->pScsiHost->max_id ) || - (cmd->device->lun >= pACB->pScsiHost->max_lun) ) - { -/* printk ("DC390: Ignore target %d lun %d\n", - cmd->device->id, cmd->device->lun); */ - DC390_UNLOCK_ACB; - //return (1); - done (cmd); - return (0); - } - if( (pACB->scan_devices || cmd->cmnd[0] == TEST_UNIT_READY || cmd->cmnd[0] == INQUIRY) && !(pACB->DCBmap[cmd->device->id] & (1 << cmd->device->lun)) ) { @@ -1211,14 +1067,7 @@ { printk (KERN_ERR "DC390: kmalloc for DCB failed, target %02x lun %02x\n", cmd->device->id, cmd->device->lun); - DC390_UNLOCK_ACB; - printk ("DC390: No DCB in queue_command!\n"); -#ifdef USE_NEW_EH - return (1); -#else - done (cmd); - return (0); -#endif + goto fail; } } @@ -1226,10 +1075,7 @@ { printk(KERN_INFO "DC390: Ignore target %02x lun %02x\n", cmd->device->id, cmd->device->lun); - DC390_UNLOCK_ACB; - //return (1); - done (cmd); - return (0); + goto fail; } else { @@ -1238,60 +1084,34 @@ { /* should never happen */ printk (KERN_ERR "DC390: no DCB failed, target %02x lun %02x\n", cmd->device->id, cmd->device->lun); - DC390_UNLOCK_ACB; - printk ("DC390: No DCB in queuecommand (2)!\n"); -#ifdef USE_NEW_EH - return (1); -#else - done (cmd); - return (0); -#endif + goto fail; } } pACB->Cmds++; cmd->scsi_done = done; cmd->result = 0; - - dc390_Query_to_Waiting (pACB); - if( pACB->QueryCnt ) /* Unsent commands ? */ - { - DEBUG0(printk ("DC390: QueryCnt != 0\n")); - dc390_Query_append ( cmd, pACB ); - dc390_Waiting_process (pACB); - } - else if (pDCB->pWaitingSRB) - { - pSRB = dc390_Free_get ( pACB ); - DEBUG0(if (!pSRB) printk ("DC390: No free SRB but Waiting\n"); else printk ("DC390: Free SRB w/ Waiting\n")); - if (!pSRB) dc390_Query_append (cmd, pACB); - else - { - dc390_BuildSRB (cmd, pDCB, pSRB); - dc390_Waiting_append (pDCB, pSRB); - } - dc390_Waiting_process (pACB); - } - else - { - pSRB = dc390_Free_get ( pACB ); - DEBUG0(if (!pSRB) printk ("DC390: No free SRB w/o Waiting\n"); else printk ("DC390: Free SRB w/o Waiting\n")); - if (!pSRB) - { - dc390_Query_append (cmd, pACB); - dc390_Waiting_process (pACB); - } - else - { - dc390_BuildSRB (cmd, pDCB, pSRB); - dc390_SendSRB (pACB, pSRB); - } - } + pSRB = dc390_Free_get(pACB); + if (!pSRB) + goto requeue; + + dc390_BuildSRB(cmd, pDCB, pSRB); + if (pDCB->pWaitingSRB) { + dc390_Waiting_append(pDCB, pSRB); + dc390_Waiting_process(pACB); + } else + dc390_SendSRB(pACB, pSRB); - DC390_UNLOCK_ACB; DEBUG1(printk (KERN_DEBUG " ... command (pid %li) queued successfully.\n", cmd->pid)); return(0); + + requeue: + return 1; + fail: + cmd->result = DID_BAD_TARGET << 16; + done(cmd); + return 0; } /* We ignore mapping problems, as we expect everybody to respect @@ -1384,8 +1204,8 @@ * Note: * In contrary to other externally callable funcs (DC390_), we don't lock ***********************************************************************/ -int DC390_bios_param (struct scsi_device *sdev, struct block_device *bdev, - sector_t capacity, int geom[]) +static int DC390_bios_param (struct scsi_device *sdev, struct block_device *bdev, + sector_t capacity, int geom[]) { int heads, sectors, cylinders; PACB pACB = (PACB) sdev->host->hostdata; @@ -1421,15 +1241,14 @@ return (0); } #else -int DC390_bios_param (struct scsi_device *sdev, struct block_device *bdev, - sector_t capacity, int geom[]) +static int DC390_bios_param (struct scsi_device *sdev, struct block_device *bdev, + sector_t capacity, int geom[]) { return scsicam_bios_param (bdev, capacity, geom); } #endif - -void dc390_dumpinfo (PACB pACB, PDCB pDCB, PSRB pSRB) +static void dc390_dumpinfo (PACB pACB, PDCB pDCB, PSRB pSRB) { USHORT pstat; PDEVDECL1; if (!pDCB) pDCB = pACB->pActiveDCB; @@ -1483,7 +1302,7 @@ * Status: Buggy ! ***********************************************************************/ -int DC390_abort (Scsi_Cmnd *cmd) +static int DC390_abort (Scsi_Cmnd *cmd) { PDCB pDCB; PSRB pSRB, psrb; @@ -1491,28 +1310,10 @@ int status; //ULONG sbac; PACB pACB = (PACB) cmd->device->host->hostdata; - DC390_AFLAGS; - - DC390_LOCK_ACB; printk ("DC390: Abort command (pid %li, Device %02i-%02i)\n", cmd->pid, cmd->device->id, cmd->device->lun); - /* First scan Query list */ - if( pACB->QueryCnt ) - { - struct scsi_cmnd_list *t, *pcmd_l; - list_for_each_entry_safe(pcmd_l, t, &pACB->cmdq, scp.list) - if( (struct scsi_cmnd*)pcmd_l == cmd ) - { - /* Found: Dequeue */ - list_del(&pcmd_l->scp.list); - pACB->QueryCnt--; - status = SCSI_ABORT_SUCCESS; - goto ABO_X; - } - } - pDCB = dc390_findDCB (pACB, cmd->device->id, cmd->device->lun); if( !pDCB ) goto NOT_RUN; @@ -1625,7 +1426,6 @@ } #endif dc390_lastabortedpid = cmd->pid; - DC390_UNLOCK_ACB; //do_DC390_Interrupt (pACB->IRQLevel, 0, 0); #ifndef USE_NEW_EH if (status == SCSI_ABORT_SUCCESS) cmd->scsi_done(cmd); @@ -1708,15 +1508,13 @@ * Returns : 0 on success. ***********************************************************************/ -int DC390_reset (Scsi_Cmnd *cmd) +static int DC390_reset (Scsi_Cmnd *cmd) { UCHAR bval; PACB pACB = (PACB) cmd->device->host->hostdata; - DC390_AFLAGS; printk(KERN_INFO "DC390: RESET ... "); - DC390_LOCK_ACB; if (timer_pending (&pACB->Waiting_Timer)) del_timer (&pACB->Waiting_Timer); bval = DC390_read8 (CtrlReg1); bval |= DIS_INT_ON_SCSI_RST; @@ -1745,7 +1543,6 @@ dc390_Waiting_process( pACB ); printk("done\n"); - DC390_UNLOCK_ACB; return( SCSI_RESET_SUCCESS ); } @@ -1760,14 +1557,14 @@ * Inputs : SCSI id and lun ***********************************************************************/ -void dc390_initDCB( PACB pACB, PDCB *ppDCB, UCHAR id, UCHAR lun ) +static void dc390_initDCB( PACB pACB, PDCB *ppDCB, UCHAR id, UCHAR lun ) { PEEprom prom; UCHAR index; PDCB pDCB, pDCB2; pDCB = kmalloc (sizeof(DC390_DCB), GFP_ATOMIC); - DCBDEBUG(printk (KERN_INFO "DC390: alloc mem for DCB (ID %i, LUN %i): %p\n" \ + DCBDEBUG(printk (KERN_INFO "DC390: alloc mem for DCB (ID %i, LUN %i): %p\n", \ id, lun, pDCB)); *ppDCB = pDCB; @@ -1845,7 +1642,7 @@ * Purpose : Set the configuration dependent DCB parameters ***********************************************************************/ -void dc390_updateDCB (PACB pACB, PDCB pDCB) +static void dc390_updateDCB (PACB pACB, PDCB pDCB) { pDCB->SyncMode &= EN_TAG_QUEUEING | SYNC_NEGO_DONE /*| EN_ATN_STOP*/; if (pDCB->DevMode & TAG_QUEUEING_) { @@ -1869,25 +1666,6 @@ pDCB->CtrlR1 |= PARITY_ERR_REPO; } - -/*********************************************************************** - * Function : static void dc390_updateDCBs () - * - * Purpose : Set the configuration dependent DCB params for all DCBs - ***********************************************************************/ - -static void dc390_updateDCBs (PACB pACB) -{ - int i; - PDCB pDCB = pACB->pLinkDCB; - for (i = 0; i < pACB->DCBCnt; i++) - { - dc390_updateDCB (pACB, pDCB); - pDCB = pDCB->pNextDCB; - } -} - - /*********************************************************************** * Function : static void dc390_initSRB() * @@ -1902,7 +1680,7 @@ } -void dc390_linkSRB( PACB pACB ) +static void dc390_linkSRB( PACB pACB ) { UINT count, i; @@ -1927,11 +1705,10 @@ * io_port, Irq, index: Resources and adapter index ***********************************************************************/ -void __init dc390_initACB (PSH psh, ULONG io_port, UCHAR Irq, UCHAR index) +static void __init dc390_initACB (PSH psh, ULONG io_port, UCHAR Irq, UCHAR index) { PACB pACB; UCHAR i; - DC390_AFLAGS; psh->can_queue = MAX_CMD_QUEUE; psh->cmd_per_lun = MAX_CMD_PER_LUN; @@ -1939,11 +1716,7 @@ psh->io_port = io_port; psh->n_io_port = 0x80; psh->irq = Irq; -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,50) psh->base = io_port; -#else - psh->base = (char*)io_port; -#endif psh->unique_id = io_port; psh->dma_channel = -1; psh->last_reset = jiffies; @@ -1970,8 +1743,6 @@ pACB->pActiveDCB = NULL; pACB->pFreeSRB = pACB->SRB_array; pACB->SRBCount = MAX_SRB_CNT; - pACB->QueryCnt = 0; - INIT_LIST_HEAD(&pACB->cmdq); pACB->AdapterIndex = index; pACB->status = 0; psh->this_id = dc390_eepromBuf[index][EE_ADAPT_SCSI_ID]; @@ -2007,7 +1778,7 @@ * Outputs: 0 on success, -1 on error ***********************************************************************/ -int __init dc390_initAdapter (PSH psh, ULONG io_port, UCHAR Irq, UCHAR index) +static int __init dc390_initAdapter (PSH psh, ULONG io_port, UCHAR Irq, UCHAR index) { PACB pACB, pACB2; UCHAR dstate; @@ -2086,7 +1857,7 @@ * Inputs : host - pointer to this host adapter's structure * io_port - IO ports mapped to this adapter * Irq - IRQ assigned to this adpater - * PDEVDECL - PCI access handle + * struct pci_dev - PCI access handle * index - Adapter index * * Outputs: 0 on success, -1 on error @@ -2095,12 +1866,11 @@ * not in DC390_detect, called from outside ***********************************************************************/ -static int __init DC390_init (PSHT psht, ULONG io_port, UCHAR Irq, PDEVDECL, UCHAR index) +static int __init DC390_init (PSHT psht, ULONG io_port, UCHAR Irq, struct pci_dev *pdev, UCHAR index) { PSH psh; PACB pACB; - DC390_AFLAGS; - + if (dc390_CheckEEpromCheckSum (PDEV, index)) { int speed; @@ -2126,21 +1896,6 @@ scsi_set_device(psh, &pdev->dev); pACB = (PACB) psh->hostdata; - DC390_LOCKA_INIT; - DC390_LOCK_ACB; - -#if 0 - if( !dc390_pSH_start ) - { - dc390_pSH_start = psh; - dc390_pSH_current = psh; - } - else - { - dc390_pSH_current->next = psh; - dc390_pSH_current = psh; - } -#endif DEBUG0(printk(KERN_INFO "DC390: pSH = %8x, Index %02i\n", (UINT) psh, index)); @@ -2154,59 +1909,15 @@ (UINT) pACB, (UINT) pACB->DCBmap, (UINT) pACB->SRB_array)); DEBUG0(printk("DC390: ACB size= %4x, DCB size= %4x, SRB size= %4x\n",\ sizeof(DC390_ACB), sizeof(DC390_DCB), sizeof(DC390_SRB) )); - - DC390_UNLOCK_ACB; return (0); } else { - //dc390_pSH_start = NULL; scsi_unregister( psh ); - DC390_UNLOCK_ACB; return( -1 ); } } - -/*********************************************************************** - * Function : int DC390_detect(Scsi_Host_Template *psht) - * - * Purpose : detects and initializes AMD53C974 SCSI chips - * that were autoprobed, overridden on the LILO command line, - * or specified at compile time. - * - * Inputs : psht - template for this SCSI adapter - * - * Returns : number of host adapters detected - * - ***********************************************************************/ - -#ifndef NEW_PCI -/* Acc. to PCI 2.1 spec it's up to the driver to enable Bus mastering: - * We use pci_set_master () for 2.1.x and this func for 2.0.x: */ -static void __init dc390_set_master (PDEVDECL) -{ - USHORT cmd; - UCHAR lat; - - PCI_READ_CONFIG_WORD (PDEV, PCI_COMMAND, &cmd); - - if (! (cmd & PCI_COMMAND_MASTER)) { - printk("PCI: Enabling bus mastering for device %02x:%02x\n", - PCI_BUS_DEV); - cmd |= PCI_COMMAND_MASTER; - PCI_WRITE_CONFIG_WORD(PDEV, PCI_COMMAND, cmd); - } - PCI_READ_CONFIG_BYTE (PDEV, PCI_LATENCY_TIMER, &lat); - if (lat < 16 /* || lat == 255 */) { - printk("PCI: Setting latency timer of device %02x:%02x from %i to 64\n", - PCI_BUS_DEV, lat); - PCI_WRITE_CONFIG_BYTE(PDEV, PCI_LATENCY_TIMER, 64); - } - -} -#endif /* ! NEW_PCI */ - static void __init dc390_set_pci_cfg (PDEVDECL) { USHORT cmd; @@ -2215,30 +1926,31 @@ PCI_WRITE_CONFIG_WORD (PDEV, PCI_COMMAND, cmd); PCI_WRITE_CONFIG_WORD (PDEV, PCI_STATUS, (PCI_STATUS_SIG_SYSTEM_ERROR | PCI_STATUS_DETECTED_PARITY)); } - int __init DC390_detect (Scsi_Host_Template *psht) { - PDEVDECL0; + struct pci_dev *pdev = NULL; UCHAR irq; ULONG io_port; - //dc390_pSHT_start = psht; dc390_pACB_start = NULL; if ( PCI_PRESENT ) - while (PCI_FIND_DEVICE (PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD53C974)) + while ((pdev = pci_find_device(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD53C974, pdev))) { -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,30) if (pci_enable_device (pdev)) continue; -#endif + + if (pci_set_dma_mask(pdev, 0xffffffff)) { + printk(KERN_ERR "DC390(%i): No suitable DMA available.\n", dc390_adapterCnt); + continue; + } PCI_GET_IO_AND_IRQ; DEBUG0(printk(KERN_INFO "DC390(%i): IO_PORT=%04x,IRQ=%x\n", dc390_adapterCnt, (UINT) io_port, irq)); if( !DC390_init(psht, io_port, irq, PDEV, dc390_adapterCnt)) { - PCI_SET_MASTER; + pci_set_master(pdev); dc390_set_pci_cfg (PDEV); dc390_adapterCnt++; } @@ -2247,495 +1959,12 @@ printk (KERN_ERR "DC390: No PCI BIOS found!\n"); if (dc390_adapterCnt) -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,30) psht->proc_name = "tmscsim"; -#else - psht->proc_dir = &DC390_proc_scsi_tmscsim; -#endif + printk(KERN_INFO "DC390: %i adapters found\n", dc390_adapterCnt); return( dc390_adapterCnt ); } - -/*********************************************************************** - * Functions: dc390_inquiry(), dc390_inquiry_done() - * - * Purpose: When changing speed etc., we have to issue an INQUIRY - * command to make sure, we agree upon the nego parameters - * with the device - ***********************************************************************/ - -static void dc390_inquiry_done (Scsi_Cmnd* cmd) -{ - printk (KERN_INFO "DC390: INQUIRY (ID %02x LUN %02x) returned %08x\n", - cmd->device->id, cmd->device->lun, cmd->result); - if (cmd->result) - { - PACB pACB = (PACB)cmd->device->host->hostdata; - PDCB pDCB = dc390_findDCB (pACB, cmd->device->id, cmd->device->lun); - printk ("DC390: Unsetting DsCn, Sync and TagQ!\n"); - if (pDCB) - { - pDCB->DevMode &= ~(SYNC_NEGO_ | TAG_QUEUEING_ | EN_DISCONNECT_ ); - dc390_updateDCB (pACB, pDCB); - } - } - kfree (cmd); -} - -void dc390_inquiry (PACB pACB, PDCB pDCB) -{ - char* buffer; - Scsi_Cmnd* cmd; - cmd = kmalloc (sizeof(Scsi_Cmnd) + 256, GFP_ATOMIC); - if (!cmd) { printk ("DC390: kmalloc failed in inquiry!\n"); return; } - buffer = (char*)cmd + sizeof(Scsi_Cmnd); - - memset (cmd, 0, sizeof(Scsi_Cmnd) + 256); - cmd->cmnd[0] = INQUIRY; - cmd->cmnd[1] = (pDCB->TargetLUN << 5) & 0xe0; - cmd->cmnd[4] = 0xff; - - cmd->cmd_len = 6; cmd->old_cmd_len = 6; -/* TODO FIXME */ -/* cmd->host = pACB->pScsiHost; */ - cmd->device->id = pDCB->TargetID; - cmd->device->lun = pDCB->TargetLUN; - cmd->serial_number = 1; - cmd->pid = 390; - cmd->bufflen = 128; - cmd->buffer = buffer; - cmd->request_bufflen = 128; - cmd->request_buffer = &buffer[128]; - cmd->done = dc390_inquiry_done; - cmd->scsi_done = dc390_inquiry_done; - cmd->timeout_per_command = HZ; - - cmd->request->rq_status = RQ_SCSI_BUSY; - - pDCB->SyncMode &= ~SYNC_NEGO_DONE; - printk (KERN_INFO "DC390: Queue INQUIRY command to dev ID %02x LUN %02x\n", - pDCB->TargetID, pDCB->TargetLUN); - DC390_queue_command (cmd, dc390_inquiry_done); -} - -/*********************************************************************** - * Functions: dc390_sendstart(), dc390_sendstart_done() - * - * Purpose: When changing speed etc., we have to issue an INQUIRY - * command to make sure, we agree upon the nego parameters - * with the device - ***********************************************************************/ - -static void dc390_sendstart_done (Scsi_Cmnd* cmd) -{ - printk (KERN_INFO "DC390: SENDSTART (ID %02x LUN %02x) returned %08x\n", - cmd->device->id, cmd->device->lun, cmd->result); - kfree (cmd); -} - -void dc390_sendstart (PACB pACB, PDCB pDCB) -{ - char* buffer; - Scsi_Cmnd* cmd; - cmd = kmalloc (sizeof(Scsi_Cmnd) + 256, GFP_ATOMIC); - if (!cmd) { printk ("DC390: kmalloc failed in sendstart!\n"); return; } - buffer = (char*)cmd + sizeof(Scsi_Cmnd); - - memset (cmd, 0, sizeof(Scsi_Cmnd) + 256); - cmd->cmnd[0] = 0x1b; /* START_STOP_UNIT */ - cmd->cmnd[1] = (pDCB->TargetLUN << 5) & 0xe0; - cmd->cmnd[4] = 0x01; /* START */ - - cmd->cmd_len = 6; cmd->old_cmd_len = 6; -/* TODO FIXME */ -/* cmd->host = pACB->pScsiHost; */ - cmd->device->id = pDCB->TargetID; - cmd->device->lun = pDCB->TargetLUN; - cmd->serial_number = 1; - cmd->pid = 310; - cmd->bufflen = 128; - cmd->buffer = buffer; - cmd->request_bufflen = 128; - cmd->request_buffer = &buffer[128]; - cmd->done = dc390_sendstart_done; - cmd->scsi_done = dc390_sendstart_done; - cmd->timeout_per_command = 5*HZ; - - cmd->request->rq_status = RQ_SCSI_BUSY; - - pDCB->SyncMode &= ~SYNC_NEGO_DONE; - printk (KERN_INFO "DC390: Queue SEND_START command to dev ID %02x LUN %02x\n", - pDCB->TargetID, pDCB->TargetLUN); - DC390_queue_command (cmd, dc390_sendstart_done); -} - -/******************************************************************** - * Function: dc390_set_info() - * - * Purpose: Change adapter config - * - * Strings are parsed similar to the output of tmscsim_proc_info () - * '-' means no change - *******************************************************************/ - -static int dc390_scanf (char** buffer, char** pos, char** p0, int* var) -{ - *p0 = *pos; - *var = simple_strtoul (*p0, pos, 10); - if (*p0 == *pos) return -1; - *pos = strsep (buffer, " \t\n:=,;."); - return 0; -} - -#define SCANF(buffer, pos, p0, var, min, max) \ -if (dc390_scanf (&buffer, &pos, &p0, &var)) goto einv; \ -else if (varmax) goto einv2 - -static int dc390_yesno (char** buffer, char** pos, char* var, char bmask) -{ - switch (**pos) - { - case 'Y': *var |= bmask; break; - case 'N': *var &= ~bmask; break; - case '-': break; - default: return -1; - } - *pos = strsep (buffer, " \t\n:=,;"); - return 0; -} - -#define YESNO(buffer, pos, var, bmask) \ - if (dc390_yesno (&buffer, &pos, &var, bmask)) goto einv; \ - else dc390_updateDCB (pACB, pDCB); \ - if (!pos) goto ok - -static int dc390_search (char** buffer, char** pos, char** p0, char* var, char* txt, int max, int scale, char* ign) -{ - int dum; - if (! memcmp (*pos, txt, strlen(txt))) - { - *p0 = strsep (buffer, " \t\n:=,;"); - if (!*p0) return -1; - dum = simple_strtoul (*p0, pos, 10); - if (*p0 == *pos) return -1; - if (dum >= 0 && dum <= max) - { *var = (dum * 100) / scale; } - else return -2; - *pos = strsep (buffer, " \t\n:=,;"); - if (*ign && *pos && strlen(*pos) >= strlen(ign) && - !(memcmp (*pos, ign, strlen(ign)))) - *pos = strsep (buffer, " \t\n:=,;"); - - } - return 0; -} - -#define SEARCH(buffer, pos, p0, var, txt, max) \ -if (dc390_search (&buffer, &pos, &p0, (PUCHAR)(&var), txt, max, 100, "")) goto einv2; \ -else if (!p1) goto ok2 - -#define SEARCH2(buffer, pos, p0, var, txt, max, scale) \ -if (dc390_search (&buffer, &pos, &p0, &var, txt, max, scale, "")) goto einv2; \ -else if (!p1) goto ok2 - -#define SEARCH3(buffer, pos, p0, var, txt, max, scale, ign) \ -if (dc390_search (&buffer, &pos, &p0, &var, txt, max, scale, ign)) goto einv2; \ -else if (!p1) goto ok2 - - -#ifdef DC390_PARSEDEBUG -static char _prstr[256]; -char* prstr (char* p, char* e) -{ - char* c = _prstr; - while (p < e) - if (*p == 0) { *c++ = ':'; p++; } - else if (*p == 10) { *c++ = '\\'; *c++ = 'n'; p++; } - else *c++ = *p++; - *c = 0; - return _prstr; -} -#endif - -int dc390_set_info (char *buffer, int length, PACB pACB) -{ - char *pos = buffer, *p0 = buffer; - char needs_inquiry = 0; - int dum = 0; - char dev; - PDCB pDCB = pACB->pLinkDCB; - DC390_IFLAGS; - DC390_AFLAGS; - pos[length] = 0; - - DC390_LOCK_IO(pACB->pScsiHost); - DC390_LOCK_ACB; - /* UPPERCASE */ - /* Don't use kernel toupper, because of 2.0.x bug: ctmp unexported */ - while (*pos) - { if (*pos >='a' && *pos <= 'z') *pos = *pos + 'A' - 'a'; pos++; } - - /* Remove WS */ - pos = strsep (&buffer, " \t:\n=,;"); - if (!*pos) goto ok; - - next: - if (!memcmp (pos, "RESET", 5)) goto reset; - else if (!memcmp (pos, "INQUIRY", 7)) goto inquiry; - else if (!memcmp (pos, "REMOVE", 6)) goto remove; - else if (!memcmp (pos, "ADD", 3)) goto add; - else if (!memcmp (pos, "START", 5)) goto start; - else if (!memcmp (pos, "DUMP", 4)) goto dump; - - if (isdigit (*pos)) - { - /* Device config line */ - int dev, id, lun; char* pdec; - char olddevmode; - - SCANF (buffer, pos, p0, dev, 0, pACB->DCBCnt-1); - if (*pos) { SCANF (buffer, pos, p0, id, 0, 7); } else goto einv; - if (*pos) { SCANF (buffer, pos, p0, lun, 0, 7); } else goto einv; - if (!*pos) goto einv; - - PARSEDEBUG(printk (KERN_INFO "DC390: config line %i %i %i:\"%s\"\n", dev, id, lun, prstr (pos, &buffer[length]))); - pDCB = pACB->pLinkDCB; - for (dum = 0; dum < dev; dum++) pDCB = pDCB->pNextDCB; - /* Sanity Check */ - if (pDCB->TargetID != id || pDCB->TargetLUN != lun) - { - printk (KERN_ERR "DC390: no such device: Idx=%02i ID=%02i LUN=%02i\n", - dev, id, lun); - goto einv2; - } - - if (pDCB->pWaitingSRB || pDCB->pGoingSRB) - { - printk ("DC390: Cannot change dev (%i-%i) cfg: Pending requests\n", - pDCB->TargetID, pDCB->TargetLUN); - goto einv; - } - - olddevmode = pDCB->DevMode; - YESNO (buffer, pos, pDCB->DevMode, PARITY_CHK_); - needs_inquiry++; - YESNO (buffer, pos, pDCB->DevMode, SYNC_NEGO_); - if ((olddevmode & SYNC_NEGO_) == (pDCB->DevMode & SYNC_NEGO_)) needs_inquiry--; - needs_inquiry++; - YESNO (buffer, pos, pDCB->DevMode, EN_DISCONNECT_); - if ((olddevmode & EN_DISCONNECT_) == (pDCB->DevMode & EN_DISCONNECT_)) needs_inquiry--; - YESNO (buffer, pos, pDCB->DevMode, SEND_START_); - needs_inquiry++; - YESNO (buffer, pos, pDCB->DevMode, TAG_QUEUEING_); - if ((olddevmode & TAG_QUEUEING_) == (pDCB->DevMode & TAG_QUEUEING_)) needs_inquiry--; - - dc390_updateDCB (pACB, pDCB); - if (!*pos) goto ok; - - olddevmode = pDCB->NegoPeriod; - /* Look for decimal point (Speed) */ - pdec = pos; - while (pdec++ < &buffer[length]) if (*pdec == '.') break; - /* NegoPeriod */ - if (*pos != '-') - { - SCANF (buffer, pos, p0, dum, 72, 800); - pDCB->NegoPeriod = dum >> 2; - if (pDCB->NegoPeriod != olddevmode) needs_inquiry++; - if (!pos) goto ok; - if (memcmp (pos, "NS", 2) == 0) pos = strsep (&pos, " \t\n:=,;."); - } - else pos = strsep (&pos, " \t\n:=,;."); - if (!*pos) goto ok; - - /* Sync Speed in MHz */ - if (*pos != '-') - { - SCANF (buffer, pos, p0, dum, 1, 13); - pDCB->NegoPeriod = (1000/dum) >> 2; - if (pDCB->NegoPeriod != olddevmode && !pos) needs_inquiry++; - if (!*pos) goto ok; - /* decimal */ - if (pos-1 == pdec) - { - int dumold = dum; - dum = simple_strtoul (pos, &p0, 10) * 10; - for (; p0-pos > 1; p0--) dum /= 10; - pDCB->NegoPeriod = (100000/(100*dumold + dum)) >> 2; - if (pDCB->NegoPeriod < 19) pDCB->NegoPeriod = 19; - pos = strsep (&pos, " \t\n:=,;"); - if (!*pos) goto ok; - } - if (*pos == 'M') pos = strsep (&pos, " \t\n:=,;"); - if (pDCB->NegoPeriod != olddevmode) needs_inquiry++; - } - else pos = strsep (&pos, " \t\n:=,;"); - /* dc390_updateDCB (pACB, pDCB); */ - if (!*pos) goto ok; - - olddevmode = pDCB->SyncOffset; - /* SyncOffs */ - if (*pos != '-') - { - SCANF (buffer, pos, p0, dum, 0, 0x0f); - pDCB->SyncOffset = dum; - if (pDCB->SyncOffset > olddevmode) needs_inquiry++; - } - else pos = strsep (&pos, " \t\n:=,;"); - if (!*pos) goto ok; - dc390_updateDCB (pACB, pDCB); - - //olddevmode = pDCB->MaxCommand; - /* MaxCommand (Tags) */ - if (*pos != '-') - { - SCANF (buffer, pos, p0, dum, 1, 32 /*pACB->TagMaxNum*/); - if (pDCB->SyncMode & EN_TAG_QUEUEING) - pDCB->MaxCommand = dum; - else printk (KERN_INFO "DC390: Can't set MaxCmd larger than one without Tag Queueing!\n"); - } - else pos = strsep (&pos, " \t\n:=,;"); - - } - else - { - char* p1 = pos; UCHAR dum, newadaptid; - PARSEDEBUG(printk (KERN_INFO "DC390: chg adapt cfg \"%s\"\n", prstr (pos, &buffer[length]))); - dum = GLITCH_TO_NS (pACB->glitch_cfg); - /* Adapter setting */ - SEARCH (buffer, pos, p0, pACB->pScsiHost->max_id, "MAXID", 8); - SEARCH (buffer, pos, p0, pACB->pScsiHost->max_lun, "MAXLUN", 8); - SEARCH (buffer, pos, p0, newadaptid, "ADAPTERID", 7); - SEARCH (buffer, pos, p0, pACB->TagMaxNum, "TAGMAXNUM", 32); - SEARCH (buffer, pos, p0, pACB->ACBFlag, "ACBFLAG", 255); - SEARCH3 (buffer, pos, p0, dum, "GLITCHEATER", 40, 1000, "NS"); - SEARCH3 (buffer, pos, p0, pACB->sel_timeout, "SELTIMEOUT", 400, 163, "MS"); - SEARCH3 (buffer, pos, p0, dc390_eepromBuf[pACB->AdapterIndex][EE_DELAY], "DELAYRESET", 180, 100, "S"); - ok2: - pACB->glitch_cfg = NS_TO_GLITCH (dum); - if (pACB->sel_timeout < 60) pACB->sel_timeout = 60; - DC390_write8 (Scsi_TimeOut, pACB->sel_timeout); - if (newadaptid != pACB->pScsiHost->this_id) - { - pACB->pScsiHost->this_id = newadaptid; - dc390_ResetDevParam (pACB); - } - //dum = 0; while (1 << dum <= pACB->TagMaxNum) dum ++; - //pACB->TagMaxNum &= (1 << --dum); - dc390_updateDCBs (pACB); - // All devs should be INQUIRED now - if (pos == p1) goto einv; - } - if (*pos) goto next; - - ok: - DC390_UNLOCK_ACB; - if (needs_inquiry) - { dc390_updateDCB (pACB, pDCB); dc390_inquiry (pACB, pDCB); } - DC390_UNLOCK_IO(pACB->pScsiHost); - return (length); - - einv2: - pos = p0; - einv: - DC390_UNLOCK_ACB; - DC390_UNLOCK_IO(pACB->pScsiHost); - printk (KERN_WARNING "DC390: parse error near \"%s\"\n", (pos? pos: "NULL")); - return (-EINVAL); - - reset: - { - Scsi_Cmnd cmd; - /* TODO FIXME */ - /* cmd.host = pACB->pScsiHost; */ - printk (KERN_WARNING "DC390: Driver reset requested!\n"); - DC390_UNLOCK_ACB; - DC390_reset (&cmd); - DC390_UNLOCK_IO(pACB->pScsiHost); - } - return (length); - - dump: - { - dc390_dumpinfo (pACB, 0, 0); - DC390_UNLOCK_ACB; - DC390_UNLOCK_IO(pACB->pScsiHost); - } - return (length); - - inquiry: - { - pos = strsep (&pos, " \t\n.:;="); if (!*pos) goto einv; - dev = simple_strtoul (pos, &p0, 10); - if (dev >= pACB->DCBCnt) goto einv_dev; - for (dum = 0; dum < dev; dum++) pDCB = pDCB->pNextDCB; - printk (KERN_NOTICE " DC390: Issue INQUIRY command to Dev(Idx) %i SCSI ID %i LUN %i\n", - dev, pDCB->TargetID, pDCB->TargetLUN); - DC390_UNLOCK_ACB; - dc390_inquiry (pACB, pDCB); - DC390_UNLOCK_IO(pACB->pScsiHost); - } - return (length); - - remove: - { - pos = strsep (&pos, " \t\n.:;="); if (!*pos) goto einv; - dev = simple_strtoul (pos, &p0, 10); - if (dev >= pACB->DCBCnt) goto einv_dev; - for (dum = 0; dum < dev; dum++) pDCB = pDCB->pNextDCB; - printk (KERN_NOTICE " DC390: Remove DCB for Dev(Idx) %i SCSI ID %i LUN %i\n", - dev, pDCB->TargetID, pDCB->TargetLUN); - /* TO DO: We should make sure no pending commands are left */ - dc390_remove_dev (pACB, pDCB); - DC390_UNLOCK_ACB; - DC390_UNLOCK_IO(pACB->pScsiHost); - } - return (length); - - add: - { - int id, lun; - pos = strsep (&pos, " \t\n.:;="); - if (*pos) { SCANF (buffer, pos, p0, id, 0, 7); } else goto einv; - if (*pos) { SCANF (buffer, pos, p0, lun, 0, 7); } else goto einv; - pDCB = dc390_findDCB (pACB, id, lun); - if (pDCB) { printk ("DC390: ADD: Device already existing\n"); goto einv; } - dc390_initDCB (pACB, &pDCB, id, lun); - DC390_UNLOCK_ACB; - dc390_inquiry (pACB, pDCB); - DC390_UNLOCK_IO(pACB->pScsiHost); - } - return (length); - - start: - { - int id, lun; - pos = strsep (&pos, " \t\n.:;="); - if (*pos) { SCANF (buffer, pos, p0, id, 0, 7); } else goto einv; - if (*pos) { SCANF (buffer, pos, p0, lun, 0, 7); } else goto einv; - pDCB = dc390_findDCB (pACB, id, lun); - if (pDCB) printk ("DC390: SendStart: Device already existing ...\n"); - else dc390_initDCB (pACB, &pDCB, id, lun); - DC390_UNLOCK_ACB; - dc390_sendstart (pACB, pDCB); - dc390_inquiry (pACB, pDCB); - DC390_UNLOCK_IO(pACB->pScsiHost); - } - return (length); - - einv_dev: - printk (KERN_WARNING "DC390: Ignore cmnd to invalid Dev(Idx) %i. Valid range: 0 - %i.\n", - dev, pACB->DCBCnt - 1); - DC390_UNLOCK_ACB; - DC390_UNLOCK_IO(pACB->pScsiHost); - return (-EINVAL); -} - -#undef SEARCH -#undef YESNO -#undef SCANF - /******************************************************************** * Function: DC390_proc_info(char* buffer, char **start, * off_t offset, int length, int hostno, int inout) @@ -2763,15 +1992,13 @@ else SPRINTF(" No ") -int DC390_proc_info (struct Scsi_Host *shpnt, char *buffer, char **start, - off_t offset, int length, int inout) +static int DC390_proc_info (struct Scsi_Host *shpnt, char *buffer, char **start, + off_t offset, int length, int inout) { int dev, spd, spd1; char *pos = buffer; - struct scsi_cmnd_list *cl; PACB pACB; PDCB pDCB; - DC390_AFLAGS; pACB = dc390_pACB_start; @@ -2785,13 +2012,11 @@ if (pACB == (PACB)-1) return(-ESRCH); if(inout) /* Has data been written to the file ? */ - return dc390_set_info(buffer, length, pACB); + return -ENOSYS; SPRINTF("Tekram DC390/AM53C974 PCI SCSI Host Adapter, "); SPRINTF("Driver Version %s\n", DC390_VERSION); - DC390_LOCK_ACB; - SPRINTF("SCSI Host Nr %i, ", shpnt->host_no); SPRINTF("%s Adapter Nr %i\n", dc390_adapname, pACB->AdapterIndex); SPRINTF("IOPortBase 0x%04x, ", pACB->IOPortBase); @@ -2839,9 +2064,6 @@ SPRINTF (" %02i\n", pDCB->MaxCommand); pDCB = pDCB->pNextDCB; } - SPRINTF ("Commands in Queues: Query: %li:", pACB->QueryCnt); - list_for_each_entry(cl, &pACB->cmdq, scp.list) - SPRINTF (" %li", ((struct scsi_cmnd*)cl)->pid); if (timer_pending(&pACB->Waiting_Timer)) SPRINTF ("Waiting queue timer running\n"); else SPRINTF ("\n"); pDCB = pACB->pLinkDCB; @@ -2876,8 +2098,6 @@ SPRINTF("\n"); #endif - - DC390_UNLOCK_ACB; *start = buffer + offset; if (pos - buffer < offset) @@ -2919,7 +2139,7 @@ return( 0 ); } -void dc390_freeDCBs (struct Scsi_Host *host) +static void dc390_freeDCBs (struct Scsi_Host *host) { PDCB pDCB, nDCB; PACB pACB = (PACB)(host->hostdata); @@ -2938,13 +2158,12 @@ } -int DC390_release (struct Scsi_Host *host) +static int DC390_release (struct Scsi_Host *host) { - DC390_AFLAGS DC390_IFLAGS; + DC390_IFLAGS; PACB pACB = (PACB)(host->hostdata); DC390_LOCK_IO(host); - DC390_LOCK_ACB; /* TO DO: We should check for outstanding commands first. */ dc390_shutdown (host); @@ -2957,7 +2176,6 @@ release_region(host->io_port,host->n_io_port); dc390_freeDCBs (host); - DC390_UNLOCK_ACB; DC390_UNLOCK_IO(host); scsi_unregister(host); return( 1 ); diff -Nru a/drivers/scsi/tmscsim.h b/drivers/scsi/tmscsim.h --- a/drivers/scsi/tmscsim.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/tmscsim.h 2004-05-26 15:01:36 -07:00 @@ -214,16 +214,12 @@ PSRB pTmpSRB; /* 0x2c: */ -ULONG QueryCnt; -struct list_head cmdq; - -/* 0x38: */ UCHAR msgin123[4]; UCHAR DCBmap[MAX_SCSI_ID]; UCHAR Connected; UCHAR pad; -/* 0x3c: */ +/* 0x30: */ #if defined(USE_SPINLOCKS) && USE_SPINLOCKS > 1 && (defined(CONFIG_SMP) || DEBUG_SPINLOCKS > 0) spinlock_t lock; #endif @@ -234,20 +230,20 @@ UCHAR Ignore_IRQ; /* Not used */ PDEVDECL1; /* Pointer to PCI cfg. space */ -/* 0x4c/0x48: */ +/* 0x40/0x3c: */ ULONG Cmds; UINT SelLost; UINT SelConn; UINT CmdInQ; UINT CmdOutOfSRB; -/* 0x60/0x5c: */ +/* 0x54/0x50: */ struct timer_list Waiting_Timer; -/* 0x74/0x70: */ +/* 0x68/0x64: */ DC390_SRB TmpSRB; -/* 0xd8/0xd4: */ +/* 0xcc/0xc8: */ DC390_SRB SRB_array[MAX_SRB_CNT]; /* 50 SRBs */ -/* 0xfb0/0xfac: */ +/* 0xfa4/0xfa0: */ }; typedef struct _ACB DC390_ACB, *PACB; @@ -406,15 +402,8 @@ * SISC query queue */ typedef struct { - struct list_head list; dma_addr_t saved_dma_handle; } dc390_cmd_scp_t; - -struct scsi_cmnd_list -{ - char dummy[offsetof(struct scsi_cmnd, SCp)]; - dc390_cmd_scp_t scp; -}; /* ** Inquiry Data format diff -Nru a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c --- a/drivers/scsi/wd7000.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/scsi/wd7000.c 2004-05-26 15:01:36 -07:00 @@ -165,6 +165,7 @@ * Removed now obsolete wd7000.h */ +#include #include #include #include @@ -846,7 +847,7 @@ static inline Scb *alloc_scbs(struct Scsi_Host *host, int needed) { register Scb *scb, *p = NULL; - register unsigned long flags; + unsigned long flags; register unsigned long timeout = jiffies + WAITnexttimeout; register unsigned long now; int i; @@ -898,7 +899,7 @@ static inline void free_scb(Scb * scb) { - register unsigned long flags; + unsigned long flags; spin_lock_irqsave(&scbpool_lock, flags); @@ -936,7 +937,7 @@ */ { register int i, ogmb; - register unsigned long flags; + unsigned long flags; unchar start_ogmb; Mailbox *ogmbs = host->mb.ogmb; int *next_ogmb = &(host->next_ogmb); diff -Nru a/drivers/serial/pxa.c b/drivers/serial/pxa.c --- a/drivers/serial/pxa.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/serial/pxa.c 2004-05-26 15:01:36 -07:00 @@ -33,7 +33,6 @@ #include #include #include -#include #include #include @@ -386,9 +385,6 @@ if (retval) return retval; - CKEN |= up->cken; - udelay(1); - /* * Clear the FIFO buffers and disable them. * (they will be reenabled in set_termios()) @@ -461,8 +457,6 @@ UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); serial_out(up, UART_FCR, 0); - - CKEN &= ~up->cken; } static void @@ -576,10 +570,14 @@ serial_pxa_pm(struct uart_port *port, unsigned int state, unsigned int oldstate) { + struct uart_pxa_port *up = (struct uart_pxa_port *)port; if (state) { /* sleep */ + CKEN &= ~up->cken; } else { /* wake */ + CKEN |= up->cken; + udelay(1); } } @@ -760,13 +758,12 @@ .cken = CKEN6_FFUART, .port = { .type = PORT_PXA, - .iotype = SERIAL_IO_MEM, + .iotype = UPIO_MEM, .membase = (void *)&FFUART, .mapbase = __PREG(FFUART), .irq = IRQ_FFUART, .uartclk = 921600 * 16, .fifosize = 64, - .flags = ASYNC_SKIP_TEST, .ops = &serial_pxa_pops, .line = 0, }, @@ -775,13 +772,12 @@ .cken = CKEN7_BTUART, .port = { .type = PORT_PXA, - .iotype = SERIAL_IO_MEM, + .iotype = UPIO_MEM, .membase = (void *)&BTUART, .mapbase = __PREG(BTUART), .irq = IRQ_BTUART, .uartclk = 921600 * 16, .fifosize = 64, - .flags = ASYNC_SKIP_TEST, .ops = &serial_pxa_pops, .line = 1, }, @@ -790,13 +786,12 @@ .cken = CKEN5_STUART, .port = { .type = PORT_PXA, - .iotype = SERIAL_IO_MEM, + .iotype = UPIO_MEM, .membase = (void *)&STUART, .mapbase = __PREG(STUART), .irq = IRQ_STUART, .uartclk = 921600 * 16, .fifosize = 64, - .flags = ASYNC_SKIP_TEST, .ops = &serial_pxa_pops, .line = 2, }, @@ -830,6 +825,10 @@ static void __exit serial_pxa_exit(void) { + int i; + + for (i = 0; i < ARRAY_SIZE(serial_pxa_ports); i++) + uart_remove_one_port(&serial_pxa_reg, &serial_pxa_ports[i].port); uart_unregister_driver(&serial_pxa_reg); } diff -Nru a/drivers/usb/gadget/pxa2xx_udc.c b/drivers/usb/gadget/pxa2xx_udc.c --- a/drivers/usb/gadget/pxa2xx_udc.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/usb/gadget/pxa2xx_udc.c 2004-05-26 15:01:36 -07:00 @@ -51,6 +51,7 @@ #include #include #include +#include #include #include diff -Nru a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c --- a/drivers/usb/input/hiddev.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/usb/input/hiddev.c 2004-05-26 15:01:35 -07:00 @@ -612,7 +612,7 @@ uref = &uref_multi->uref; if (cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) { if (copy_from_user(uref_multi, (void *) arg, - sizeof(uref_multi))) + sizeof(*uref_multi))) goto fault; } else { if (copy_from_user(uref, (void *) arg, sizeof(*uref))) diff -Nru a/drivers/usb/misc/emi26.c b/drivers/usb/misc/emi26.c --- a/drivers/usb/misc/emi26.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/usb/misc/emi26.c 2004-05-26 15:01:35 -07:00 @@ -194,7 +194,7 @@ /* return 1 to fail the driver inialization * and give real driver change to load */ - return 1; + err = 1; wraperr: kfree(buf); diff -Nru a/drivers/usb/misc/emi62.c b/drivers/usb/misc/emi62.c --- a/drivers/usb/misc/emi62.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/usb/misc/emi62.c 2004-05-26 15:01:36 -07:00 @@ -229,6 +229,8 @@ goto wraperr; } + kfree(buf); + /* return 1 to fail the driver inialization * and give real driver change to load */ return 1; diff -Nru a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c --- a/drivers/video/aty/atyfb_base.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/video/aty/atyfb_base.c 2004-05-26 15:01:36 -07:00 @@ -1938,6 +1938,19 @@ if (i < 0) continue; + rp = &pdev->resource[0]; + if (rp->flags & IORESOURCE_IO) + rp = &pdev->resource[1]; + addr = rp->start; + if (!addr) + continue; + + res_start = rp->start; + res_size = rp->end - rp->start + 1; + if (!request_mem_region + (res_start, res_size, "atyfb")) + continue; + info = kmalloc(sizeof(struct fb_info), GFP_ATOMIC); if (!info) { @@ -1960,19 +1973,6 @@ info->fix = atyfb_fix; info->par = default_par; - rp = &pdev->resource[0]; - if (rp->flags & IORESOURCE_IO) - rp = &pdev->resource[1]; - addr = rp->start; - if (!addr) - continue; - - res_start = rp->start; - res_size = rp->end - rp->start + 1; - if (!request_mem_region - (res_start, res_size, "atyfb")) - continue; - #ifdef __sparc__ /* * Map memory-mapped registers. @@ -2000,6 +2000,7 @@ if (!default_par->mmap_map) { printk ("atyfb_init: can't alloc mmap_map\n"); + kfree(default_par); kfree(info); release_mem_region(res_start, res_size); return -ENXIO; @@ -2217,6 +2218,9 @@ ioremap(info->fix.mmio_start, 0x1000); if (!default_par->ati_regbase) { +#ifdef __sparc__ + kfree(default_par->mmap_map); +#endif kfree(default_par); kfree(info); release_mem_region(res_start, res_size); @@ -2247,6 +2251,10 @@ (char *) ioremap(addr, 0x800000); if (!info->screen_base) { +#ifdef __sparc__ + kfree(default_par->mmap_map); +#endif + kfree(default_par); kfree(info); release_mem_region(res_start, res_size); return -ENXIO; @@ -2258,6 +2266,7 @@ if (default_par->mmap_map) kfree(default_par->mmap_map); #endif + kfree(default_par); kfree(info); release_mem_region(res_start, res_size); return -ENXIO; @@ -2326,6 +2335,7 @@ memset(default_par, 0, sizeof(struct atyfb_par)); info->fix = atyfb_fix; + info->par = default_par; /* * Map the video memory (physical address given) to somewhere in the @@ -2357,6 +2367,7 @@ } if (!aty_init(info, "ISA bus")) { + kfree(default_par); kfree(info); /* This is insufficient! kernel_map has added two large chunks!! */ return -ENXIO; diff -Nru a/drivers/video/matrox/matroxfb_DAC1064.c b/drivers/video/matrox/matroxfb_DAC1064.c --- a/drivers/video/matrox/matroxfb_DAC1064.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/video/matrox/matroxfb_DAC1064.c 2004-05-26 15:01:35 -07:00 @@ -660,7 +660,7 @@ ACCESS_FBINFO(features.accel.has_cacheflush) = 1; ACCESS_FBINFO(outputs[0]).output = &m1064; - ACCESS_FBINFO(outputs[0]).src = MATROXFB_SRC_CRTC1; + ACCESS_FBINFO(outputs[0]).src = ACCESS_FBINFO(outputs[0]).default_src; ACCESS_FBINFO(outputs[0]).data = MINFO; ACCESS_FBINFO(outputs[0]).mode = MATROXFB_OUTPUT_MODE_MONITOR; @@ -859,7 +859,7 @@ { ACCESS_FBINFO(outputs[0]).output = &m1064; } - ACCESS_FBINFO(outputs[0]).src = MATROXFB_SRC_CRTC1; + ACCESS_FBINFO(outputs[0]).src = ACCESS_FBINFO(outputs[0]).default_src; ACCESS_FBINFO(outputs[0]).data = MINFO; ACCESS_FBINFO(outputs[0]).mode = MATROXFB_OUTPUT_MODE_MONITOR; diff -Nru a/drivers/video/matrox/matroxfb_Ti3026.c b/drivers/video/matrox/matroxfb_Ti3026.c --- a/drivers/video/matrox/matroxfb_Ti3026.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/video/matrox/matroxfb_Ti3026.c 2004-05-26 15:01:35 -07:00 @@ -692,7 +692,7 @@ ACCESS_FBINFO(outputs[0]).data = MINFO; ACCESS_FBINFO(outputs[0]).output = &ti3026_output; - ACCESS_FBINFO(outputs[0]).src = MATROXFB_SRC_CRTC1; + ACCESS_FBINFO(outputs[0]).src = ACCESS_FBINFO(outputs[0]).default_src; ACCESS_FBINFO(outputs[0]).mode = MATROXFB_OUTPUT_MODE_MONITOR; if (ACCESS_FBINFO(devflags.noinit)) diff -Nru a/drivers/video/matrox/matroxfb_base.c b/drivers/video/matrox/matroxfb_base.c --- a/drivers/video/matrox/matroxfb_base.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/video/matrox/matroxfb_base.c 2004-05-26 15:01:36 -07:00 @@ -1272,6 +1272,7 @@ static int dfp; /* "matrox:dfp */ static int dfp_type = -1; /* "matrox:dfp:xxx */ static int memtype = -1; /* "matrox:memtype:xxx" */ +static char outputs[8]; /* "matrox:outputs:xxx" */ #ifndef MODULE static char videomode[64]; /* "matrox:mode:xxxxx" or "matrox:xxxxx" */ @@ -1537,6 +1538,39 @@ static int hotplug = 0; +static void setDefaultOutputs(WPMINFO2) { + unsigned int i; + const char* ptr; + + ACCESS_FBINFO(outputs[0]).default_src = MATROXFB_SRC_CRTC1; + if (ACCESS_FBINFO(devflags.g450dac)) { + ACCESS_FBINFO(outputs[1]).default_src = MATROXFB_SRC_CRTC1; + ACCESS_FBINFO(outputs[2]).default_src = MATROXFB_SRC_CRTC1; + } else if (dfp) { + ACCESS_FBINFO(outputs[2]).default_src = MATROXFB_SRC_CRTC1; + } + ptr = outputs; + for (i = 0; i < MATROXFB_MAX_OUTPUTS; i++) { + char c = *ptr++; + + if (c == 0) { + break; + } + if (c == '0') { + ACCESS_FBINFO(outputs[i]).default_src = MATROXFB_SRC_NONE; + } else if (c == '1') { + ACCESS_FBINFO(outputs[i]).default_src = MATROXFB_SRC_CRTC1; + } else if (c == '2' && ACCESS_FBINFO(devflags.crtc2)) { + ACCESS_FBINFO(outputs[i]).default_src = MATROXFB_SRC_CRTC2; + } else { + printk(KERN_ERR "matroxfb: Unknown outputs setting\n"); + break; + } + } + /* Nullify this option for subsequent adapters */ + outputs[0] = 0; +} + static int initMatrox2(WPMINFO struct board* b){ unsigned long ctrlptr_phys = 0; unsigned long video_base_phys = 0; @@ -1577,20 +1611,18 @@ ACCESS_FBINFO(devflags.crtc2) = (b->flags & DEVF_CRTC2) != 0; ACCESS_FBINFO(devflags.maven_capable) = (b->flags & DEVF_MAVEN_CAPABLE) != 0; ACCESS_FBINFO(devflags.dualhead) = (b->flags & DEVF_DUALHEAD) != 0; + ACCESS_FBINFO(devflags.dfp_type) = dfp_type; + ACCESS_FBINFO(devflags.g450dac) = (b->flags & DEVF_G450DAC) != 0; + ACCESS_FBINFO(devflags.textstep) = ACCESS_FBINFO(devflags.vgastep) * ACCESS_FBINFO(devflags.textmode); + ACCESS_FBINFO(devflags.textvram) = 65536 / ACCESS_FBINFO(devflags.textmode); + setDefaultOutputs(PMINFO2); if (b->flags & DEVF_PANELLINK_CAPABLE) { ACCESS_FBINFO(outputs[2]).data = MINFO; ACCESS_FBINFO(outputs[2]).output = &panellink_output; - if (dfp) - ACCESS_FBINFO(outputs[2]).src = MATROXFB_SRC_CRTC1; - else - ACCESS_FBINFO(outputs[2]).src = MATROXFB_SRC_NONE; + ACCESS_FBINFO(outputs[2]).src = ACCESS_FBINFO(outputs[2]).default_src; ACCESS_FBINFO(outputs[2]).mode = MATROXFB_OUTPUT_MODE_MONITOR; ACCESS_FBINFO(devflags.panellink) = 1; } - ACCESS_FBINFO(devflags.dfp_type) = dfp_type; - ACCESS_FBINFO(devflags.g450dac) = (b->flags & DEVF_G450DAC) != 0; - ACCESS_FBINFO(devflags.textstep) = ACCESS_FBINFO(devflags.vgastep) * ACCESS_FBINFO(devflags.textmode); - ACCESS_FBINFO(devflags.textvram) = 65536 / ACCESS_FBINFO(devflags.textmode); if (ACCESS_FBINFO(capable.cross4MB) < 0) ACCESS_FBINFO(capable.cross4MB) = b->flags & DEVF_CROSS4MB; @@ -1813,6 +1845,13 @@ to yres_virtual * xres_virtual < 2^32 */ } matroxfb_init_fix(PMINFO2); + /* Normalize values (namely yres_virtual) */ + matroxfb_check_var(&vesafb_defined, &ACCESS_FBINFO(fbcon)); + /* And put it into "current" var. Do NOT program hardware yet, or we'll not take over + * vgacon correctly. fbcon_startup will call fb_set_par for us, WITHOUT check_var, + * and unfortunately it will do it BEFORE vgacon contents is saved, so it won't work + * anyway. But we at least tried... */ + ACCESS_FBINFO(fbcon.var) = vesafb_defined; err = -EINVAL; printk(KERN_INFO "matroxfb: %dx%dx%dbpp (virtual: %dx%d)\n", @@ -1834,6 +1873,9 @@ * until someone tells me what is proper thing to do */ printk(KERN_INFO "fb%d: initializing hardware\n", ACCESS_FBINFO(fbcon.node)); + /* We have to use FB_ACTIVATE_FORCE, as we had to put vesafb_defined to the fbcon.var + * already before, so register_framebuffer works correctly. */ + vesafb_defined.activate |= FB_ACTIVATE_FORCE; fb_set_var(&ACCESS_FBINFO(fbcon), &vesafb_defined); } return 0; @@ -2288,6 +2330,8 @@ mem = simple_strtoul(this_opt+4, NULL, 0); else if (!strncmp(this_opt, "mode:", 5)) strlcpy(videomode, this_opt+5, sizeof(videomode)); + else if (!strncmp(this_opt, "outputs:", 8)) + strlcpy(outputs, this_opt+8, sizeof(outputs)); else if (!strncmp(this_opt, "dfp:", 4)) { dfp_type = simple_strtoul(this_opt+4, NULL, 0); dfp = 1; @@ -2463,6 +2507,8 @@ MODULE_PARM_DESC(dfp, "Specifies whether to use digital flat panel interface of G200/G400 (0 or 1) (default=0)"); MODULE_PARM(dfp_type, "i"); MODULE_PARM_DESC(dfp_type, "Specifies DFP interface type (0 to 255) (default=read from hardware)"); +MODULE_PARM(outputs, "c8"); +MODULE_PARM_DESC(outputs, "Specifies which CRTC is mapped to which output (string of up to three letters, consisting of 0 (disabled), 1 (CRTC1), 2 (CRTC2)) (default=111 for Gx50, 101 for G200/G400 with DFP, and 100 for all other devices)"); #ifdef CONFIG_PPC_PMAC MODULE_PARM(vmode, "i"); MODULE_PARM_DESC(vmode, "Specify the vmode mode number that should be used (640x480 default)"); diff -Nru a/drivers/video/matrox/matroxfb_base.h b/drivers/video/matrox/matroxfb_base.h --- a/drivers/video/matrox/matroxfb_base.h 2004-05-26 15:01:36 -07:00 +++ b/drivers/video/matrox/matroxfb_base.h 2004-05-26 15:01:36 -07:00 @@ -479,6 +479,7 @@ struct matrox_altout* output; void* data; unsigned int mode; + unsigned int default_src; } outputs[MATROXFB_MAX_OUTPUTS]; #define MATROXFB_MAX_FB_DRIVERS 5 diff -Nru a/drivers/video/matrox/matroxfb_crtc2.c b/drivers/video/matrox/matroxfb_crtc2.c --- a/drivers/video/matrox/matroxfb_crtc2.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/video/matrox/matroxfb_crtc2.c 2004-05-26 15:01:36 -07:00 @@ -628,15 +628,6 @@ m2info->mmio.vbase = ACCESS_FBINFO(mmio.vbase); m2info->mmio.len = ACCESS_FBINFO(mmio.len); - /* - * If we have unused output, connect CRTC2 to it... - */ - if (ACCESS_FBINFO(outputs[1]).output && - ACCESS_FBINFO(outputs[1]).src == MATROXFB_SRC_NONE && - ACCESS_FBINFO(outputs[2]).src == MATROXFB_SRC_NONE) { - ACCESS_FBINFO(outputs[1]).src = MATROXFB_SRC_CRTC2; - } - matroxfb_dh_init_fix(m2info); if (register_framebuffer(&m2info->fbcon)) { return -ENXIO; diff -Nru a/drivers/video/matrox/matroxfb_g450.c b/drivers/video/matrox/matroxfb_g450.c --- a/drivers/video/matrox/matroxfb_g450.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/video/matrox/matroxfb_g450.c 2004-05-26 15:01:36 -07:00 @@ -591,11 +591,11 @@ if (ACCESS_FBINFO(devflags.g450dac)) { down_write(&ACCESS_FBINFO(altout.lock)); tvo_fill_defaults(PMINFO2); - ACCESS_FBINFO(outputs[1]).src = MATROXFB_SRC_CRTC1; + ACCESS_FBINFO(outputs[1]).src = ACCESS_FBINFO(outputs[1]).default_src; ACCESS_FBINFO(outputs[1]).data = MINFO; ACCESS_FBINFO(outputs[1]).output = &matroxfb_g450_altout; ACCESS_FBINFO(outputs[1]).mode = MATROXFB_OUTPUT_MODE_MONITOR; - ACCESS_FBINFO(outputs[2]).src = MATROXFB_SRC_CRTC1; + ACCESS_FBINFO(outputs[2]).src = ACCESS_FBINFO(outputs[2]).default_src; ACCESS_FBINFO(outputs[2]).data = MINFO; ACCESS_FBINFO(outputs[2]).output = &matroxfb_g450_dvi; ACCESS_FBINFO(outputs[2]).mode = MATROXFB_OUTPUT_MODE_MONITOR; diff -Nru a/drivers/video/matrox/matroxfb_maven.c b/drivers/video/matrox/matroxfb_maven.c --- a/drivers/video/matrox/matroxfb_maven.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/video/matrox/matroxfb_maven.c 2004-05-26 15:01:35 -07:00 @@ -1188,7 +1188,7 @@ md->client = clnt; down_write(&ACCESS_FBINFO(altout.lock)); ACCESS_FBINFO(outputs[1]).output = &maven_altout; - ACCESS_FBINFO(outputs[1]).src = MATROXFB_SRC_NONE; + ACCESS_FBINFO(outputs[1]).src = ACCESS_FBINFO(outputs[1]).default_src; ACCESS_FBINFO(outputs[1]).data = md; ACCESS_FBINFO(outputs[1]).mode = MATROXFB_OUTPUT_MODE_MONITOR; up_write(&ACCESS_FBINFO(altout.lock)); @@ -1249,6 +1249,7 @@ err = -ENOMEM; goto ERROR0; } + memset(new_client, 0, sizeof(*new_client) + sizeof(*data)); data = (struct maven_data*)(new_client + 1); i2c_set_clientdata(new_client, data); new_client->addr = address; diff -Nru a/drivers/video/pxafb.c b/drivers/video/pxafb.c --- a/drivers/video/pxafb.c 2004-05-26 15:01:35 -07:00 +++ b/drivers/video/pxafb.c 2004-05-26 15:01:35 -07:00 @@ -153,7 +153,7 @@ * 12 or 16-bit True Colour. We encode the RGB value * according to the RGB bitfield information. */ - if (regno <= 16) { + if (regno < 16) { u32 *pal = fbi->fb.pseudo_palette; val = chan_to_field(red, &fbi->fb.var.red); @@ -448,7 +448,7 @@ { struct pxafb_lcd_reg new_regs; u_long flags; - u_int pcd = get_pcd(var->pixclock); + u_int lines_per_panel, pcd = get_pcd(var->pixclock); DPRINTK("Configuring PXA LCD\n"); @@ -509,8 +509,16 @@ LCCR1_BegLnDel(var->left_margin) + LCCR1_EndLnDel(var->right_margin); + /* + * If we have a dual scan LCD, we need to halve + * the YRES parameter. + */ + lines_per_panel = var->yres; + if (fbi->lccr0 & LCCR0_SDS) + lines_per_panel /= 2; + new_regs.lccr2 = - LCCR2_DisHght(var->yres) + + LCCR2_DisHght(lines_per_panel) + LCCR2_VrtSnchWdth(var->vsync_len) + LCCR2_BegFrmDel(var->upper_margin) + LCCR2_EndFrmDel(var->lower_margin); @@ -540,9 +548,7 @@ fbi->dmadesc_fbhigh_dma = fbi->palette_dma - 2*16; fbi->dmadesc_palette_dma = fbi->palette_dma - 1*16; - #define BYTES_PER_PANEL ((fbi->lccr0 & LCCR0_SDS) == LCCR0_Dual ? \ - (var->xres * var->yres * var->bits_per_pixel / 8 / 2) : \ - (var->xres * var->yres * var->bits_per_pixel / 8)) +#define BYTES_PER_PANEL (lines_per_panel * fbi->fb.fix.line_length) /* populate descriptors */ fbi->dmadesc_fblow_cpu->fdadr = fbi->dmadesc_fblow_dma; @@ -733,8 +739,7 @@ LCSR = 0xffffffff; /* Clear LCD Status Register */ LCCR0 &= ~LCCR0_LDM; /* Enable LCD Disable Done Interrupt */ - //TODO?enable_irq(IRQ_LCD); /* Enable LCD IRQ */ - LCCR0 &= ~LCCR0_ENB; /* Disable LCD Controller */ + LCCR0 |= LCCR0_DIS; /* Disable LCD Controller */ schedule_timeout(20 * HZ / 1000); remove_wait_queue(&fbi->ctrlr_wait, &wait); @@ -1137,25 +1142,25 @@ } } else if (!strncmp(this_opt, "pixclock:", 9)) { inf->pixclock = simple_strtoul(this_opt+9, NULL, 0); - dev_info(dev, "override pixclock: %uld\n", inf->pixclock); + dev_info(dev, "override pixclock: %u\n", inf->pixclock); } else if (!strncmp(this_opt, "left:", 5)) { inf->left_margin = simple_strtoul(this_opt+5, NULL, 0); - dev_info(dev, "override left: %d\n", inf->left_margin); + dev_info(dev, "override left: %u\n", inf->left_margin); } else if (!strncmp(this_opt, "right:", 6)) { inf->right_margin = simple_strtoul(this_opt+6, NULL, 0); - dev_info(dev, "override right: %d\n", inf->right_margin); + dev_info(dev, "override right: %u\n", inf->right_margin); } else if (!strncmp(this_opt, "upper:", 6)) { inf->upper_margin = simple_strtoul(this_opt+6, NULL, 0); - dev_info(dev, "override upper: %d\n", inf->upper_margin); + dev_info(dev, "override upper: %u\n", inf->upper_margin); } else if (!strncmp(this_opt, "lower:", 6)) { inf->lower_margin = simple_strtoul(this_opt+6, NULL, 0); - dev_info(dev, "override lower: %d\n", inf->lower_margin); + dev_info(dev, "override lower: %u\n", inf->lower_margin); } else if (!strncmp(this_opt, "hsynclen:", 9)) { inf->hsync_len = simple_strtoul(this_opt+9, NULL, 0); - dev_info(dev, "override hsynclen: %d\n", inf->hsync_len); + dev_info(dev, "override hsynclen: %u\n", inf->hsync_len); } else if (!strncmp(this_opt, "vsynclen:", 9)) { inf->vsync_len = simple_strtoul(this_opt+9, NULL, 0); - dev_info(dev, "override vsynclen: %d\n", inf->vsync_len); + dev_info(dev, "override vsynclen: %u\n", inf->vsync_len); } else if (!strncmp(this_opt, "hsync:", 6)) { if ( simple_strtoul(this_opt+6, NULL, 0) == 0 ) { dev_info(dev, "override hsync: Active Low\n"); diff -Nru a/drivers/video/tgafb.c b/drivers/video/tgafb.c --- a/drivers/video/tgafb.c 2004-05-26 15:01:36 -07:00 +++ b/drivers/video/tgafb.c 2004-05-26 15:01:36 -07:00 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include