[PATCH] 2.5.10 IDE 43
authorMartin Dalecki <dalecki@evision-ventures.com>
Sun, 28 Apr 2002 03:21:49 +0000 (20:21 -0700)
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Sun, 28 Apr 2002 03:21:49 +0000 (20:21 -0700)
commit5ef2759cc3fa1b1ba548a786ba92c1c96709e88a
treec881bc4c40dd8a606d89c59d5dbd8ad22c3e1b52
parent9dbf001571b2cdd54fef92dfccf2385a184ac8d7
[PATCH] 2.5.10 IDE 43

Some of the following is a bit of sensitive... but anyway it has to be done.

- Scarp "portability" macros ide_request_irq() and ide_free_irq().  What a
   great of a surprise in the face of a kernel nowadays ported to nearly any
   major CPU out there, but apparently no platform needs something special here.
   All of them are just using the normal request_irq() and free_irq(). If some
   unusual platform (read obsolete door blocker) I have overlooked intentionally
   needs something special - please just hack the platform specific
   request_irq() and free_irq()-  they are *far off* from being performance
   relevant. (Hint: You could use cooked default irq values to detect there
   whatever the caller was the ATA driver to decide what to do about it.)

- Kill ide_check_region() ide_request_region() and ide_release_region()
   altogether. Add comments explaining the code there.  Same arguments as above
   apply. Additionally we want to be able at some time to do for example mmapped
   PCI address space access on IA32 instead of port IO.

- Rewrite the initialization code to don't use check_region at all. Add some
   comments there, which explain what's actually happening.

- Fix creeping in of a c99 construct.

- Make the main interrupt handler take a channel as data instead of the
   hwgroup. This is the entity an interrupt is physically associated with. PCI
   interrupt sharing is handled in a generically anyway. Analogously the main
   data entity of a device request queue (q->queuedata) is the device and not
   the hwgroup.  However right now we are only able to push it down to the
   channel level. The intention is to advance the choose_drive() function to
   just check for equal interrupt values for serialization of request and
   thus to get rid of the hwgroup altogether.
37 files changed:
arch/mips/lib/ide-no.c
arch/mips/lib/ide-std.c
arch/mips64/lib/ide-no.c
arch/mips64/lib/ide-std.c
arch/ppc/kernel/ppc4xx_setup.c
arch/ppc/platforms/chrp_setup.c
arch/ppc/platforms/k2_setup.c
arch/ppc/platforms/lopec_setup.c
arch/ppc/platforms/mcpn765_setup.c
arch/ppc/platforms/menf1_setup.c
arch/ppc/platforms/pmac_setup.c
arch/ppc/platforms/pplus_setup.c
arch/ppc/platforms/prep_setup.c
arch/ppc/platforms/rpxclassic.h
arch/ppc/platforms/rpxlite.h
arch/ppc/platforms/sandpoint_setup.c
drivers/ide/ide-probe.c
drivers/ide/ide.c
drivers/ide/trm290.c
include/asm-alpha/ide.h
include/asm-arm/ide.h
include/asm-cris/ide.h
include/asm-i386/ide.h
include/asm-ia64/ide.h
include/asm-m68k/ide.h
include/asm-mips/ide.h
include/asm-mips64/ide.h
include/asm-parisc/ide.h
include/asm-ppc/ide.h
include/asm-ppc64/ide.h
include/asm-s390/ide.h
include/asm-s390x/ide.h
include/asm-sh/ide.h
include/asm-sparc/ide.h
include/asm-sparc64/ide.h
include/asm-x86_64/ide.h
include/linux/ide.h