1. 26 Apr, 2008 7 commits
  2. 17 Apr, 2008 13 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove obsoleted "idex=noprobe" kernel parameter (take 2) · f01674e4
      Bartlomiej Zolnierkiewicz authored
      * Remove obsoleted "idex=noprobe" kernel parameter.
      
      * Remove no longer needed hwif->noprobe quirk from ide_hwif_configure()
        and hwif->noprobe checking from cmd640.c.
      
      v2:
      * "ide?=noprobe" -> "ide?=ata66" in Documentation/kernel-parameters.txt.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f01674e4
    • Bartlomiej Zolnierkiewicz's avatar
      cmd640: init hwif->{io_ports,irq} explicitly · 6d3803b6
      Bartlomiej Zolnierkiewicz authored
      Do explicit port setup instead of depending on init_ide_data().
      
      This way hwif->io_ports[] and hwif->irq are always correctly set
      regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI.
      
      While at it fix printk().
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6d3803b6
    • Bartlomiej Zolnierkiewicz's avatar
      cmd640: cleanup setup_device_ptrs() · daaad24f
      Bartlomiej Zolnierkiewicz authored
      This loop is no longer needed.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      daaad24f
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2) · 0e33555f
      Bartlomiej Zolnierkiewicz authored
      * Add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS to drivers/ide/Kconfig and use
        it instead of defining IDE_ARCH_OBSOLETE_DEFAULTS in <arch/ide.h>.
      
      v2:
      * Define ide_default_irq() in ide-probe.c/ns87415.c if not already defined
        and drop defining ide_default_irq() for CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=n.
      
        [ Thanks to Stephen Rothwell and David Miller for noticing the problem. ]
      
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0e33555f
    • Bartlomiej Zolnierkiewicz's avatar
      ppc/sandpoint: remove ppc_ide_md hooks · 7ef8df81
      Bartlomiej Zolnierkiewicz authored
      * Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag for Motorola-Sandpoint platform
        to sl82c105 host driver.
      
      * Disable ide_generic host driver in arch/ppc/configs/sandpoint_defconfig
        and enable sl82c105 one.
      
      * Remove ppc_ide_md hooks from arch/ppc/platforms/sandpoint.c - no need for
        them (sl82c105 host driver takes care of all this setup).
      
      * Then remove no longer needed <linux/ide.h> include.
      
      * Also update arch/ppc/platforms/sandpoint.h.
      
      Unfortunately (unlike lopec's case) sl82c105 host driver was not enabled
      in defconfing so there is a funcionality change.
      
      [ Not a big deal since sl82c105 is superior over ide_generic. ]
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7ef8df81
    • Bartlomiej Zolnierkiewicz's avatar
      ppc/lopec: remove ppc_ide_md hooks · 5510b125
      Bartlomiej Zolnierkiewicz authored
      * Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag for Motorola-LoPEC platform
        to sl82c105 host driver.
      
      * Remove ppc_ide_md hooks from arch/ppc/platforms/lopec.c - no need for
        them (sl82c105 host driver takes care of all this setup).
      
      * Then remove no longer needed <linux/ide.h> include.
      
      Looking at arch/ppc/configs/lopec_defconfig:
      
      ...
      CONFIG_IDE_GENERIC=y
      CONFIG_BLK_DEV_IDEPCI=y
      # CONFIG_IDEPCI_SHARE_IRQ is not set
      # CONFIG_BLK_DEV_OFFBOARD is not set
      CONFIG_BLK_DEV_GENERIC=y
      # CONFIG_BLK_DEV_OPTI621 is not set
      CONFIG_BLK_DEV_SL82C105=y
      ...
      
      there should be no functional changes unless somebody preferred to disable
      sl82c105 host driver and use only ide_generic one (but why would anybody
      want to do such thing :-).
      
      PS It seems that lopec_defconfig hasn't been updated for ages but if somebody
      is going to do it please look into disabling IDE_GENERIC and BLK_DEV_GENERIC
      config options.  Thanks.
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5510b125
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove IDE_*_REG macros · 23579a2a
      Bartlomiej Zolnierkiewicz authored
      * Add IDE_{ALTSTATUS,IREASON,BCOUNTL,BCOUNTH}_OFFSET defines.
      
      * Remove IDE_*_REG macros - this results in more readable
        and slightly smaller code.
      
      There should be no functional changes caused by this patch.
      
      Cc: Borislav Petkov <petkovbb@gmail.com>
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      23579a2a
    • Akira Iguchi's avatar
      scc_pata.c: do setup itself instead of ide_setup_pci_device() · 3d53ba87
      Akira Iguchi authored
      scc_pata has the different BAR configuration and using ide_setup_pci_device()
      is inappropriate. 
      
      (ide_setup_pci_device() expects a normal PCI IDE controller with
      BAR0..BAR3 either non-existant or being primary/secondary port bases
      in I/O space.)
      
      This patch do all needed setup itself instead of calling ide_setup_pci_device().
      
      [bart: minor checkpatch.pl fixes]
      Signed-off-by: default avatarKou Ishizaki <kou.ishizaki@toshiba.co.jp>
      Signed-off-by: default avatarAkira Iguchi <akira2.iguchi@toshiba.co.jp>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3d53ba87
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove ->hold field from ide_hwif_t (take 2) · 2304dc64
      Bartlomiej Zolnierkiewicz authored
      ->hold is write-only now, remove it.
      
      v2:
      * v1 missed bast-ide, palm_bk3710, ide-cs and delkin_cb host drivers.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      2304dc64
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3) · 93de00fd
      Bartlomiej Zolnierkiewicz authored
      hdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS
      and given the number of bugs we can assume that there are no real users:
      
      * DMA has no chance of working because DMA resources are released by
        ide_unregister() and they are never allocated again.
      
      * Since ide_init_hwif_ports() is used for ->io_ports[] setup the ioctls
        don't work for almost all hosts with "non-standard" (== non ISA-like)
        layout of IDE taskfile registers (there is a lot of such host drivers).
      
      * ide_port_init_devices() is not called when probing IDE devices so:
        - drive->autotune is never set and IDE host/devices are not programmed
          for the correct PIO/DMA transfer modes (=> possible data corruption)
        - host specific I/O 32-bit and IRQ unmasking settings are not applied
          (=> possible data corruption)
        - host specific ->port_init_devs method is not called (=> no luck with
          ht6560b, qd65xx and opti621 host drivers)
      
      * ->rw_disk method is not preserved (=> no HPT3xxN chipsets support).
      
      * ->serialized flag is not preserved (=> possible data corruption when
         using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366
         (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers).
      
      * ->ack_intr method is not preserved (=> needed by ide-cris, buddha,
        gayle and macide host drivers).
      
      * ->sata_scr[] and sata_misc[] is cleared by ide_unregister() and it
        isn't initialized again (SiI3112 support needs them).
      
      * To issue an ioctl() there need to be at least one IDE device present
        in the system.
      
      * ->cable_detect method is not preserved + it is not called when probing
        IDE devices so cable detection is broken (however since DMA support is
        also broken it doesn't really matter ;-).
      
      * Some objects which may have already been freed in ide_unregister()
        are restored by ide_hwif_restore() (i.e. ->hwgroup).
      
      * ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[]
        slot cannot be found.
      
      * When IDE host drivers are modular unregistered port may be re-used by
        different host driver that owned it first causing subtle bugs.
      
      Since we now have a proper warm-plug support remove these ioctls,
      then remove no longer needed:
      - ide_register_hw() and ide_hwif_restore() functions
      - 'init_default' and 'restore' arguments of ide_unregister()
      - zeroeing of hwif->{dma,extra}_* fields in ide_unregister()
      
      As an added bonus IDE core code size shrinks by ~3kB (x86-32).
      
      v2:
      * fix ide_unregister() arguments in cleanup_module() (Andrew Morton).
      
      v3:
      * fix ide_unregister() arguments in palm_bk3710.c.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      93de00fd
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters (take 2) · 9a0e77f2
      Bartlomiej Zolnierkiewicz authored
      * Remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters
        and update Documentation/ide/ide.txt.
      
      * Remove no longer needed ide_forced chipset type.
      
      v2:
      * is_chipset_set[] -> is_chipset_set in ide.c.
      
      * Documentation/ide/ide.txt fix.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      9a0e77f2
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove dead/obsolete ->busproc method · 50672e5d
      Bartlomiej Zolnierkiewicz authored
      ->busproc method is used by HDIO_SET_BUSSTATE ioctl but it has no chance
      of working as intended (in 2.4.x days) because to issue an ioctl there
      is a device node needed and:
      
      - for BUSSTATE_TRISTATE+OFF it is too late (devices are already gone)
      
      - for BUSSTATE_TRISTATE+ON it is too early (devices are not registered yet)
      
      Just remove ->busproc method for now (it was only implemented by hpt366,
      siimage and tc86c001 host drivers).
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      50672e5d
    • Bartlomiej Zolnierkiewicz's avatar
      ide: use ide_find_port() instead of ide_deprecated_find_port() · 4f0eee4d
      Bartlomiej Zolnierkiewicz authored
      * Use ide_find_port() instead of ide_deprecated_find_port() in bast-ide/
        palm_bk3710/ide-cs/delkin_cb host drivers and in ide_register_hw().
      
      * Remove no longer needed ide_deprecated_find_port().
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4f0eee4d
  3. 16 Apr, 2008 1 commit
  4. 07 Apr, 2008 1 commit
    • Sergei Shtylyov's avatar
      siimage: fix kernel oops on PPC 44x · c976816b
      Sergei Shtylyov authored
      Fix kernel oops due to machine check occuring in init_chipset_siimage() on PPC
      44x platforms.  These 32-bit CPUs have 36-bit physical address and PCI I/O and
      memory spaces are mapped beyond 4 GB; arch/ppc/ code has a fixup in ioremap()
      that creates an illusion of the PCI I/O and memory resources being mapped below
      4 GB, while arch/powerpc/ code got rid of this fixup with PPC 44x having instead
      CONFIG_RESOURCES_64BIT=y -- this causes the resources to be truncated to 32-bit
      'unsigned long' type in this driver, and so non-existant memory being ioremap'ed
      and then accessed...
      
      Thanks to Valentine Barshak for providing an initial patch and explanations.
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c976816b
  5. 02 Apr, 2008 1 commit
  6. 26 Feb, 2008 2 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: skip probing port if "hdx=noprobe" was used for both devices on it · c53ea18d
      Bartlomiej Zolnierkiewicz authored
      * Skip probing port if "hdx=noprobe" parameter was used for both devices on it.
      
      * Obsolete "idex=noprobe" parameter - it only works for ide_generic, cmd640
        and PCI hosts in Compatibility mode (on alpha/x86/ia64/m32r/mips/ppc32).
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c53ea18d
    • Sam Ravnborg's avatar
      hpt366: fix section mismatch warnings · b66cae76
      Sam Ravnborg authored
      hpt366: fix section mismatch warnings
      
      Fix following warnings:
      WARNING: o-sparc64/vmlinux.o(.data+0x195a38): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt370
      WARNING: o-sparc64/vmlinux.o(.data+0x195a40): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt370a
      WARNING: o-sparc64/vmlinux.o(.data+0x195a48): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt372
      WARNING: o-sparc64/vmlinux.o(.data+0x195a50): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt372n
      
      Replace a static array with a small switch resulting in
      more readable code.
      Mark the pci table __devinitconst.
      
      A lot of variables are const but annotated __devinitdata.
      Annotating them __devinitconst would cause a section type
      conflict error when build for 64 bit powerpc.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b66cae76
  7. 18 Feb, 2008 1 commit
  8. 10 Feb, 2008 2 commits
  9. 05 Feb, 2008 2 commits
  10. 02 Feb, 2008 10 commits