]>
 
 
pilppa.org Git - linux-2.6-omap-h63xx.git/log 
 
 
 
 
 
 
Andi Kleen  [Mon, 4 Feb 2008 15:48:03 +0000  (16:48 +0100)] 
 
x86: move NUMAQ io handling into arch/x86/pci/numa.c 
 
numa.c is the only user of the {in,out}*_quad functions. And it has only a few call 
sites. Change them to open code the magic NUMAQ port access. 
 
Signed-off-by: Andi Kleen <ak@suse.de>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Cyrill Gorcunov  [Mon, 4 Feb 2008 15:48:03 +0000  (16:48 +0100)] 
 
x86: cleanup - eliminate numbers in LDT allocation code
This patch eliminates numbers in LDT allocation code
trying to make it clear to understand from where
these numbers come.
No code changed:
   text    data     bss     dec     hex filename
   1896       0       0    1896     768 ldt.o.before
   1896       0       0    1896     768 ldt.o.after
md5:
 
6cbec8705008ddb4b704aade60bceda3   ldt.o.before.asm
 
6cbec8705008ddb4b704aade60bceda3   ldt.o.after.asm
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> 
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
 
Jeremy Fitzhardinge  [Mon, 4 Feb 2008 15:48:02 +0000  (16:48 +0100)] 
 
x86: update reference for PAE tlb flushing 
 
Remove bogus reference to "Pentium-II erratum A13" and point to the 
actual canonical source of information about what requirements x86 
processors have for PAE pagetable updates. 
 
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Jeremy Fitzhardinge  [Mon, 4 Feb 2008 15:48:02 +0000  (16:48 +0100)] 
 
x86: pud_clear: only reload cr3 if necessary 
 
Rather than unconditionally reloading cr3, only do so if the pud we're 
updating is within the active pgd. 
 
This eliminates TLB flushes most of the time.  The 
performance-critical uses of pud_clear are during execve and exit, but 
in those cases cr3 is referring to some other pagetable.  The only 
other use of pud_clear is during a large (1Gbyte+) munmap, and those 
are sufficiently rare that a couple of cr3 reloads won't hurt. 
 
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Jeremy Fitzhardinge  [Mon, 4 Feb 2008 15:48:02 +0000  (16:48 +0100)] 
 
x86: revert "defer cr3 reload when doing pud_clear()" 
 
Revert "defer cr3 reload when doing pud_clear()" since I'm going to 
replace it. 
 
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Jeremy Fitzhardinge  [Mon, 4 Feb 2008 15:48:02 +0000  (16:48 +0100)] 
 
x86: unify PAE/non-PAE pgd_ctor 
 
The constructors for PAE and non-PAE pgd_ctors are more or less 
identical, and can be made into the same function. 
 
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>  
Cc: William Irwin <wli@holomorphy.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Rob Landley  [Mon, 4 Feb 2008 15:48:02 +0000  (16:48 +0100)] 
 
documentation: add Documentation/x86-64/00-INDEX 
 
Signed-off-by: Rob Landley <rob@landley.net>  
Cc: Vojtech Pavlik <vojtech@suse.cz>  
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Pavel Machek  [Mon, 4 Feb 2008 15:48:01 +0000  (16:48 +0100)] 
 
x86: remove misleading comments in trampoline_*.S 
 
Both trampolines actually *do* set up stack. (Is the "we jump into 
compressed/head.S" comment still true?) 
 
Signed-off-by: Pavel Machek <pavel@suse.cz>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Harvey Harrison  [Mon, 4 Feb 2008 15:48:01 +0000  (16:48 +0100)] 
 
x86: sparse errors from string_32.h
include/asm/string_32.h:216:26: warning: cast truncates bits from constant value (
cccccccc  becomes cc)
include/asm/string_32.h:219:27: warning: cast truncates bits from constant value (
cccccccc  becomes cccc)
include/asm/string_32.h:222:27: warning: cast truncates bits from constant value (
cccccccc  becomes cccc)
include/asm/string_32.h:223:30: warning: cast truncates bits from constant value (
cccccccc  becomes cc)
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> 
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
 
Harvey Harrison  [Mon, 4 Feb 2008 15:48:01 +0000  (16:48 +0100)] 
 
x86: remove long dead cyrix mtrr code 
 
cyrix_arr_init was #if 0 all the way back to at least v2.6.12. 
 
This was the only place where arr3_protected was set to anything 
but zero.  Eliminate this variable. 
 
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:48:00 +0000  (16:48 +0100)] 
 
asm-generic/tlb.h: remove <linux/quicklist.h> 
 
Remove unused <linux/quicklist.h> from <asm-generic/tlb.h>; per 
Christoph Lameter this should have been part of a previous patch 
reversal but apparently didn't get removed. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:48:00 +0000  (16:48 +0100)] 
 
x86 setup: print missing CPU features in cleartext 
 
Instead of obscure numbers, print the list of missing CPU features in 
cleartext.  To conserve space, use a host program (mkcpustr.c) to 
produce a compact list of mandatory features only. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:48:00 +0000  (16:48 +0100)] 
 
x86: unify CPU feature string names 
 
Move the CPU feature string names to a separate file (common to 32 
and 64 bits); additionally, make <asm/cpufeature.h> includable by host 
code in preparation for including the CPU feature strings in the boot 
code. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:48:00 +0000  (16:48 +0100)] 
 
x86: reintroduce volatile keyword in prototype to clflush()
The volatile keyword was removed from the clflush() prototype
in commit 
e34907ae180f4fe6c28bb4516c679c2f81b0c9ed ; the comment there
states:
    x86: remove volatile keyword from clflush.
    the p parameter is an explicit memory reference, and is
    enough to prevent gcc to being nasty here. The volatile
    seems completely not needed.
This reflects incorrect understanding of the function of the volatile
keyword there.  The purpose of the volatile keyword is informing gcc
that it is safe to pass a volatile pointer to this function.
Signed-off-by: H. Peter Anvin <hpa@zytor.com> 
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
 
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:59 +0000  (16:47 +0100)] 
 
x86: cpuid, msr: use inode mutex instead of big kernel lock 
 
Instead of grabbing the BKL on seek, use the inode mutex in the style 
of generic_file_llseek(). 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:59 +0000  (16:47 +0100)] 
 
x86: cpuid: allow querying %ecx-sensitive CPUID levels 
 
After /dev/*/cpuid was introduced, Intel changed the semantics of the 
CPUID instruction to be sentitive to %ecx as well as %eax.  This patch 
allows querying of %ecx-sensitive levels by placing the %ecx value in 
the upper 32 bits of the file position (lower 32 bits always were used 
for the %eax value.) 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:59 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_64.h 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in include/asm-x86/uaccess_64.h. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:59 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_32.h 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in include/asm-x86/uaccess_32.h. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:58 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in include/asm-x86/system.h 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in include/asm-x86/system.h. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:58 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in include/asm-x86/msr.h 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in include/asm-x86/msr.h. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:58 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in include/asm-x86/i387.h 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in include/asm-x86/i387.h. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:58 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in include/asm-x86/futex.h 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in include/asm-x86/futex.h. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:58 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in arch/x86/mm/init_32.c 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in arch/x86/mm/init_32.c. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:57 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_64.c 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in arch/x86/lib/usercopy_64.c. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:57 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_32.c 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in arch/x86/lib/usercopy_32.c. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:57 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in arch/x86/lib/mmx_32.c 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in arch/x86/lib/mmx_32.c. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:56 +0000  (16:47 +0100)] 
 
x86: use _ASM_EXTABLE macro in arch/x86/kernel/test_nx.c 
 
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding 
__ex_table entires in arch/x86/kernel/test_nx.c. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
H. Peter Anvin  [Mon, 4 Feb 2008 15:47:56 +0000  (16:47 +0100)] 
 
x86: add _ASM_EXTABLE macro to <asm/asm.h> 
 
Instead of open-coding the __ex_table information at each callsite, 
construct a common macro that can work regardless of CPU size. 
 
Signed-off-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Ian Campbell  [Mon, 4 Feb 2008 15:47:56 +0000  (16:47 +0100)] 
 
x86: define OBJCOPYFLAGS explicitly for each target. 
 
Do this rather than defining a global version and overriding it in 
almost all cases in order to make subsequent patches simpler. 
 
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>  
Acked-by: H. Peter Anvin <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Harvey Harrison  [Mon, 4 Feb 2008 15:47:56 +0000  (16:47 +0100)] 
 
x86: reduce ifdef sections in fault.c 
 
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Yinghai Lu  [Mon, 4 Feb 2008 15:47:56 +0000  (16:47 +0100)] 
 
x86: print out node_data addr and bootmap_start addr 
 
print out node_data addr and bootmap_start addr. 
 
helpful for debugging early crashes on high-end NUMA systems. 
 
Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Thomas Gleixner  [Mon, 4 Feb 2008 15:47:55 +0000  (16:47 +0100)] 
 
x86: CPA remove bogus NX clear 
 
In split_large_page we clear the NX bit for the new split ptes, but we 
need to preserve the original setting of it for the split ptes. 
 
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Florian Fainelli  [Mon, 4 Feb 2008 15:47:55 +0000  (16:47 +0100)] 
 
x86: mach-rdc321x Kconfig fix 
 
The mach-rdc321x uses the leds-gpio driver and explicitely 
selects it, this driver also depends on the leds class module, 
select it as well. 
 
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Sam Ravnborg  [Mon, 4 Feb 2008 15:47:55 +0000  (16:47 +0100)] 
 
x86: rename module scx200_32 to scx200 
 
The module scx200 were renamed to scx200_32 by the 
merge of the 32 and 64 bit x86 arch trees. 
 
Keep the _32 prefix on the .c file as it is 32 bit 
specific and fix the module name in the Makefile. 
 
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>  
Cc: "H. Peter Anvin" <hpa@zytor.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Sam Ravnborg  [Mon, 4 Feb 2008 15:47:55 +0000  (16:47 +0100)] 
 
x86: restore correct module name for apm 
 
The apm module were renamed to apm_32 during the merge of 32 and 64 bit 
x86 which is unfortunate. As apm is 32 bit specific we like to keep the 
_32 in the filename but the module should be named apm. 
 
Fix this in the Makefile. 
 
Reported-by: "A.E.Lawrence" <lawrence_a_e@ntlworld.com>  
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>  
Cc: Cc: Ingo Molnar <mingo@elte.hu>  
Cc: "H. Peter Anvin" <hpa@zytor.com>  
Cc: "A.E.Lawrence" <lawrence_a_e@ntlworld.com>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>  
Ingo Molnar  [Mon, 4 Feb 2008 15:47:54 +0000  (16:47 +0100)] 
 
x86: VMI fix
Jeff Chua bisected down a vmware guest boot breakage (hang) to
this paravirt change:
  commit 
8d947344c47a40626730bb80d136d8daac9f2060 
  Author: Glauber de Oliveira Costa <gcosta@redhat.com>
  Date:   Wed Jan 30 13:31:12 2008 +0100
    x86: change write_idt_entry signature
fix the off-by-one indexing bug ...
Bisected-by: Jeff Chua <jeff.chua.linux@gmail.com> 
Tested-by: Jeff Chua <jeff.chua.linux@gmail.com> 
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
 
Ingo Molnar  [Mon, 4 Feb 2008 15:47:54 +0000  (16:47 +0100)] 
 
x86: relax RAM check in ioremap()
Kevin Winchester reported the loss of direct rendering, due to:
[    0.588184] agpgart: Detected AGP bridge 0
[    0.588184] agpgart: unable to get memory for graphics translation table.
[    0.588184] agpgart: agp_backend_initialize() failed.
[    0.588207] agpgart-amd64: probe of 0000:00:00.0 failed with error -12
and bisected it down to:
  commit 
266b9f8727976769e2ed2dad77ac9295f37e321e 
  Author: Thomas Gleixner <tglx@linutronix.de>
  Date:   Wed Jan 30 13:34:06 2008 +0100
      x86: fix ioremap RAM check
this check was too strict and caused an ioremap() failure.
the problem is due to the somewhat unclean way of how the GART code
reserves a memory range for its aperture, and how it utilizes it
later on.
Allow RAM pages to be ioremap()-ed too, as long as they are reserved.
Bisected-by: Kevin Winchester <kjwinchester@gmail.com> 
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Tested-by: Kevin Winchester <kjwinchester@gmail.com> 
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
 
Linus Torvalds  [Sat, 2 Feb 2008 20:58:57 +0000  (07:58 +1100)] 
 
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 
 
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (95 commits) 
  ide-tape: remove idetape_config_t typedef 
  ide-tape: remove mtio.h related comments 
  ide-tape: make function name more accurate 
  ide-tape: remove unused sense packet commands. 
  ide-tape: use generic byteorder macros 
  ide-tape: remove EXPERIMENTAL driver status 
  ide-tape: use generic scsi commands 
  ide-tape: remove struct idetape_block_size_page_t 
  ide-tape: remove structs os_partition_t, os_dat_entry_t, os_dat_t 
  ide-tape: remove struct idetape_parameter_block_descriptor_t 
  ide-tape: remove struct idetape_medium_partition_page_t 
  ide-tape: remove struct idetape_data_compression_page_t 
  ide-tape: remove struct idetape_inquiry_result_t 
  ide-tape: remove struct idetape_capabilities_page_t 
  ide-tape: remove IDETAPE_DEBUG_BUGS 
  ide-tape: remove IDETAPE_DEBUG_INFO 
  ide-tape: dump gcw fields on error in idetape_identify_device() 
  ide-tape: remove struct idetape_mode_parameter_header_t 
  ide-tape: remove struct idetape_request_sense_result_t 
  ide-tape: remove dead code 
  ... 
 
Nick Piggin  [Sat, 2 Feb 2008 14:01:17 +0000  (15:01 +0100)] 
 
fix writev regression: pan hanging unkillable and un-straceable 
 
Frederik Himpe reported an unkillable and un-straceable pan process. 
 
Zero length iovecs can go into an infinite loop in writev, because the 
iovec iterator does not always advance over them. 
 
The sequence required to trigger this is not trivial. I think it 
requires that a zero-length iovec be followed by a non-zero-length iovec 
which causes a pagefault in the atomic usercopy. This causes the writev 
code to drop back into single-segment copy mode, which then tries to 
copy the 0 bytes of the zero-length iovec; a zero length copy looks like 
a failure though, so it loops. 
 
Put a test into iov_iter_advance to catch zero-length iovecs. We could 
just put the test in the fallback path, but I feel it is more robust to 
skip over zero-length iovecs throughout the code (iovec iterator may be 
used in filesystems too, so it should be robust). 
 
Signed-off-by: Nick Piggin <npiggin@suse.de>  
Signed-off-by: Ingo Molnar <mingo@elte.hu>  
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>  
Linus Torvalds  [Sat, 2 Feb 2008 20:51:38 +0000  (07:51 +1100)] 
 
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 
 
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: 
  ieee1394: sbp2: fix bogus s/g access change 
 
Borislav Petkov  [Sat, 2 Feb 2008 18:56:51 +0000  (19:56 +0100)] 
 
ide-tape: remove idetape_config_t typedef 
 
Since this is used only in idetape_blkdev_ioctl(), remove the typedef and make 
the struct function-local. 
 
Bart: 
- s/sizeof(struct idetape_config)/sizeof(config)/ 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:51 +0000  (19:56 +0100)] 
 
ide-tape: remove mtio.h related comments 
 
Those are already in mtio.h. 
 
Bart: 
- undo 'unsigned int/unsigned long' -> 'uint/ulong' conversion 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:51 +0000  (19:56 +0100)] 
 
ide-tape: make function name more accurate 
 
idetape_active_next_stage() was rather ambiguous wrt its purpose. Make that 
more explicit and remove superfluous comment. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:51 +0000  (19:56 +0100)] 
 
ide-tape: remove unused sense packet commands. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:50 +0000  (19:56 +0100)] 
 
ide-tape: use generic byteorder macros 
 
This is not a network driver. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:50 +0000  (19:56 +0100)] 
 
ide-tape: remove EXPERIMENTAL driver status 
 
ide-tape has depended on EXPERIMENTAL for ages. Change that since the driver is 
being only maintained now. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:50 +0000  (19:56 +0100)] 
 
ide-tape: use generic scsi commands 
 
Also, remove those which weren't used. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:50 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_block_size_page_t 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:50 +0000  (19:56 +0100)] 
 
ide-tape: remove structs os_partition_t, os_dat_entry_t, os_dat_t 
 
They seem just to sit there completely unused. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:50 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_parameter_block_descriptor_t 
 
Also, shorten function name idetape_get_blocksize_from_block_descriptor() and 
move its definition up thereby getting rid of its forward declaration. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:49 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_medium_partition_page_t 
 
There should be no functional changes resulting from this patch. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:49 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_data_compression_page_t 
 
There should be no functional changes resulting from this patch. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:49 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_inquiry_result_t 
 
There should be no functional changes resulting from this patch. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:49 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_capabilities_page_t 
 
All those 2-byte values denoting the different capabilities are being written to 
the local copy of the caps buffer without being converted to big endian for 
simplicity of usage and shorter code later.  Also, we add some comments stating 
which are the fields of the caps page in question in order to alleviate the 
cryptic pointer casting exercises as in e.g. idetape_get_mode_sense_results(). 
 
There should be no functional changes resulting from this patch. 
 
Bart: 
- remove two needless "!!" 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:49 +0000  (19:56 +0100)] 
 
ide-tape: remove IDETAPE_DEBUG_BUGS 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:49 +0000  (19:56 +0100)] 
 
ide-tape: remove IDETAPE_DEBUG_INFO 
 
The device capabilities are probed for during device initialization so this 
info is available through proc/ioctl() und it is redundant here. 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:48 +0000  (19:56 +0100)] 
 
ide-tape: dump gcw fields on error in idetape_identify_device() 
 
Cc: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:48 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_mode_parameter_header_t 
 
Bart: 
- remove 'capabilities->speed' chunk 
- re-add brackets to block_descrp assignment 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:48 +0000  (19:56 +0100)] 
 
ide-tape: remove struct idetape_request_sense_result_t 
 
Bart: 
- remove unnecessary comment change 
- remove two needless "!!" 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:48 +0000  (19:56 +0100)] 
 
ide-tape: remove dead code 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Borislav Petkov  [Sat, 2 Feb 2008 18:56:48 +0000  (19:56 +0100)] 
 
ide-tape: move historical changelog to Documentation/ide/ChangeLog.ide-tape.1995-2002 
 
Also, cleanup whitespace and update comments. 
 
Bart: 
- remove reference to drivers/block/ide.c 
- move driver documentation to Documentation/ide/ide-tape.txt 
 
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:47 +0000  (19:56 +0100)] 
 
ide-cs: use ide_std_init_ports() 
 
No reason to use ide_init_hwif_ports() in ide-cs (as a nice side-effect 
this makes ide-cs work on archs that don't define IDE_ARCH_OBSOLETE_INIT). 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:47 +0000  (19:56 +0100)] 
 
ide: move check_dma_crc() to ide-dma.c 
 
* Move check_dma_crc() to ide-dma.c and add inline version for 
  CONFIG_BLK_DEV_IDEDMA=n case. 
 
* Rename check_dma_crc() to ide_check_dma_crc(). 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:47 +0000  (19:56 +0100)] 
 
ide: remove ide_auto_reduce_xfer() 
 
While at it: 
 
* Remove needless '!drive->crc_count' check. 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:47 +0000  (19:56 +0100)] 
 
ide: move drive->crc_count check out from check_dma_crc() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:46 +0000  (19:56 +0100)] 
 
ide: remove ide_ata66_check() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:46 +0000  (19:56 +0100)] 
 
ide: remove set_transfer() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:46 +0000  (19:56 +0100)] 
 
ide: unexport SELECT_DRIVE() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:46 +0000  (19:56 +0100)] 
 
ide-scsi: remove needless SELECT_DRIVE() call 
 
SELECT_DRIVE() is called by IDE core code in start_request() before device 
driver's ->do_request method.  In ide-scsi case ->do_request is implemented 
by idescsi_do_request() which is also the only user of idescsi_issue_pc(). 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:46 +0000  (19:56 +0100)] 
 
ide: use __ide_set_handler() in ide_execute_command() 
 
* Use __ide_set_handler() in ide_execute_command(). 
 
While at it: 
 
* Fix whitespace damage in ide_execute_command(). 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:45 +0000  (19:56 +0100)] 
 
ide: remove SATA_*_REG macros 
 
* siimage.c: use hwif->sata_scr[SATA_{ERROR,STATUS}_OFFSET] instead of 
  SATA_{ERROR,STATUS}_REG macros. 
 
* Remove no longer needed SATA_*_REG macros. 
 
While at it: 
 
* Remove needless SATA Status register read from sil_sata_reset_poll(). 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:45 +0000  (19:56 +0100)] 
 
ide: remove ->nice0 and ->nice2 fields from ide_drive_t 
 
* ->nice0 and ->nice2 ide_drive_t fields are always zero so remove them. 
 
* IDE_NICE_0 and IDE_NICE_2 defines from <linux/hdreg.h> are no longer 
  used by any kernel code so cover them with #ifndef/#endif __KERNEL__. 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:45 +0000  (19:56 +0100)] 
 
ide: convert ->straight8 field in ide_hwif_t to bit flag 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:45 +0000  (19:56 +0100)] 
 
ide: remove unused ->auto_poll field from ide_hwif_t 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:45 +0000  (19:56 +0100)] 
 
ide-probe: remove needless Status register reads 
 
* Cache value read from the Status register in 'stat' variable in do_probe() 
  and enable_nest(), then remove remove needless Status register reads. 
 
While at it: 
 
* Add proper KERN_* levels to printk() calls. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:44 +0000  (19:56 +0100)] 
 
ide-cris: use ide_execute_command() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:44 +0000  (19:56 +0100)] 
 
trm290: use ide_execute_command() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:44 +0000  (19:56 +0100)] 
 
ide-scsi: use ide_execute_command() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:44 +0000  (19:56 +0100)] 
 
ide-tape: use ide_execute_command() 
 
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>  
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:43 +0000  (19:56 +0100)] 
 
ide: move create_proc_ide_drives() call to ide_device_add_all() 
 
* Un-static create_proc_ide_drives() and call it from ide_device_add_all(). 
 
While at it: 
* Rename create_proc_ide_drives() to ide_proc_port_register_devices(). 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:43 +0000  (19:56 +0100)] 
 
ide: move hwif->present check out from ide_proc_register_port() 
 
Move hwif->present check out from ide_proc_register_port() to 
ide_device_add_all(). 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:43 +0000  (19:56 +0100)] 
 
ide: factor out devices setup from ide_acpi_init() 
 
* Factor out devices setup from ide_acpi_init() to 
  ide_acpi_port_init_devices(). 
 
* Call ide_acpi_port_init_devices() in ide_device_add_all(). 
 
While at it: 
* Remove no longer needed 'drive' field from struct ide_acpi_drive_link. 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:43 +0000  (19:56 +0100)] 
 
ide-acpi: remove dead code from do_drive_get_GTF() 
 
These pointers are always setup in ide_acpi_init(). 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:42 +0000  (19:56 +0100)] 
 
ide-acpi: remove needless exports 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:41 +0000  (19:56 +0100)] 
 
ide: move ide_acpi_init() call to ide_device_add_all() 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:41 +0000  (19:56 +0100)] 
 
ide: factor out devices setup from init_irq() 
 
* Factor out devices setup from init_irq() to ide_port_setup_devices(). 
 
While at it: 
* Do devices setup after printing port information. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:41 +0000  (19:56 +0100)] 
 
ide: factor out adding drive to hwgroup from init_irq() 
 
Factor out adding drive to hwgroup from init_irq() to 
ide_add_drive_to_hwgroup(). 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:41 +0000  (19:56 +0100)] 
 
ide: move hwif->rqsize init from ide_init_queue() to init_irq() 
 
Move hwif->rqsize init from ide_init_queue() to init_irq(). 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:41 +0000  (19:56 +0100)] 
 
ide: merge init_gendisk() into hwif_register_devices() 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:40 +0000  (19:56 +0100)] 
 
ide: call init_gendisk() after ide_acpi_init() 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:40 +0000  (19:56 +0100)] 
 
ide: move blk_register_region() call out from init_gendisk() 
 
Move blk_register_region() call out from init_gendisk() to hwif_init(). 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:40 +0000  (19:56 +0100)] 
 
ide: skip not present devices in init_gendisk() 
 
No need to initialize drive->gendev and waste memory on IDE settings 
for not present devices. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:40 +0000  (19:56 +0100)] 
 
ide: remove incorrect init_gendisk() comment 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:40 +0000  (19:56 +0100)] 
 
ide: add ->port_init_devs method to ide_hwif_t 
 
* Add ->port_init_devs method to ide_hwif_t for a host specific 
  initialization of devices on a port.  Call the new method from 
  ide_port_init_devices(). 
 
* Convert ht6560b, qd65xx and opti621 host drivers to use the new 
  ->port_init_devs method. 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:40 +0000  (19:56 +0100)] 
 
ide: add IDE_HFLAG_NO_{IO32_BIT,UNMASK_IRQS} host flags 
 
* Use the same bit for IDE_HFLAG_CS5520 and IDE_HFLAG_VDMA host flags 
  (both are used only by cs5520 host driver currently). 
 
* Add IDE_HFLAG_NO_IO32_BIT host flag and use it instead of ->no_io_32bit 
  ide_hwif_t field. 
 
* Add IDE_HFLAG_NO_UNMASK_IRQS host flag, then convert dtc2278 and rz1000 
  host drivers to use it. 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:39 +0000  (19:56 +0100)] 
 
ide: factor out code initializing devices from ide_init_port() 
 
* Factor out code initializing devices from ide_init_port() to 
  ide_port_init_devices(). 
 
* Call the new function from ide_device_add_all(). 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:39 +0000  (19:56 +0100)] 
 
ide: fix ide_unregister() usage in host drivers 
 
bast-ide.c/ide-cs.c/delkin_cb.c: 
 
* Don't set 'restore' flag for ide_unregister() when initializing new 
  interface. 
 
rapide.c/ide-pnp.c/ide-cs.c/ide_platform.c/au1xxx-ide.c/delkin_cb.c/scc_pata.c: 
 
* Don't set 'init_default' and 'restore' flags for ide_unregister() when 
  removing interface. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:39 +0000  (19:56 +0100)] 
 
ide: add ide_deprecated_find_port() helper 
 
* Factor out code for finding ide_hwifs[] slot from ide_register_hw() 
  to ide_deprecated_find_port(). 
 
* Convert bast-ide, ide-cs and delkin_cb host drivers to use ide_device_add() 
  instead of ide_register_hw() (while at it drop doing "ide_unregister()" loop 
  which tries to unregister _all_ IDE interfaces if useable ide_hwifs[] slot 
  cannot be find). 
 
This patch leaves us with only two ide_register_hw() users: 
- drivers/macintosh/mediabay.c 
- drivers/ide/ide.c 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:39 +0000  (19:56 +0100)] 
 
ide: add 'init_default' and 'restore' arguments to ide_unregister() 
 
* Add 'init_default' (flag for calling init_hwif_default()) and 'restore' 
  (flag for calling ide_hwif_restore()) arguments to ide_unregister(). 
 
* Update ide_unregister() users to set 'init_default' and 'restore' flags. 
 
* No need to set 'init_default' flag in ide_register_hw() if the setup done 
  by init_hwif_default() is going to be overridden by ide_init_port_hw(). 
 
* No need to set 'init_default' and 'restore' flags in cleanup_module(). 
 
There should be no functionality changes caused by this patch. 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>  
Bartlomiej Zolnierkiewicz  [Sat, 2 Feb 2008 18:56:38 +0000  (19:56 +0100)] 
 
ide: remove redundant init_hwif_default() call from ide_register_hw() 
 
ide_init_port_hw() call overrides setup done by init_hwif_default(). 
 
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>