1. 08 4月, 2009 4 次提交
    • S
      ide: refactor tf_read() method · 3153c26b
      Sergei Shtylyov 提交于
      Simplify tf_read() method, making it deal only with 'struct ide_taskfile' and
      the validity flags that the upper layer passes, and factoring out the code that
      deals with the high order bytes into ide_tf_readback() to be called from the
      only two functions interested, ide_complete_cmd() and ide_dump_sector().
      
      This should stop the needless code duplication in this method and so make
      it about twice smaller than it was; along with simplifying the setup for
      the method call, this should save both time and space...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3153c26b
    • S
      ide: refactor tf_load() method · c9ff9e7b
      Sergei Shtylyov 提交于
      Simplify tf_load() method, making it deal only with 'struct ide_taskfile' and
      the validity flags that the upper layer passes, and moving the code that deals
      with the high order bytes into the only function interested, do_rw_taskfile().
      
      This should stop the needless code duplication in this method and so make
      it about twice smaller than it was; along with simplifying the setup for the
      method call, this should save both time and space...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c9ff9e7b
    • S
      ide: replace IDE_TFLAG_* flags by IDE_VALID_* · 60f85019
      Sergei Shtylyov 提交于
      Replace IDE_TFLAG_{IN|OUT}_* flags meaning to the taskfile register validity on
      input/output by the IDE_VALID_* flags and introduce 4 symmetric 8-bit register
      validity indicator subfields, 'valid.{input/output}.{tf|hob}', into the 'struct
      ide_cmd' instead of using the 'tf_flags' field for that purpose (this field can
      then be turned from 32-bit into 8-bit one).
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      60f85019
    • G
      ide: Fix host drivers that need IRQF_SHARED · aa07573b
      Geert Uytterhoeven 提交于
      commit 255115fb ("ide: allow host drivers to
      specify IRQ flags") added irq_flags fields to struct ide_port_info and struct
      ide_host.  Drivers can now set ide_port_info.irq_flags = IRQF_SHARED, while
      init_irq() passes ide_host.irq_flags to request_irq().
      
      Unfortunately ide_host.irq_flags is never set, causing (on ARAnyM):
      
      | Uniform Multi-Platform E-IDE driver
      | ide: Falcon IDE controller
      | Probing IDE interface ide0...
      | hda: Sarge m68k, ATA DISK drive
      | init_irq: sa = 0
      | ide0: disabled, unable to get IRQ 15
      | ide0: failed to initialize IDE interface
      | ide0: disabling port
      
      Solve this by copying ide_port_info.irq_flags to ide_host.irq_flags in
      ide_host_alloc().
      
      This bug probably affects the following IDE host drivers:
        - buddha
        - delkin_cb
        - falconide
        - gayle
        - ide-cs
        - macide
        - q40ide
        - scc_pata
        - sgiioc4
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      aa07573b
  2. 01 4月, 2009 3 次提交
  3. 27 3月, 2009 8 次提交
  4. 25 3月, 2009 13 次提交
  5. 05 3月, 2009 1 次提交
  6. 03 2月, 2009 2 次提交
  7. 19 1月, 2009 1 次提交
    • A
      ide: fix IDE PMAC breakage · bb54affa
      Andreas Schwab 提交于
      Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> writes:
      
      > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      > ---
      >  drivers/ide/ide-probe.c |    9 ++-------
      >  1 file changed, 2 insertions(+), 7 deletions(-)
      >
      > Index: b/drivers/ide/ide-probe.c
      > ===================================================================
      > --- a/drivers/ide/ide-probe.c
      > +++ b/drivers/ide/ide-probe.c
      > @@ -640,14 +640,9 @@ static int ide_register_port(ide_hwif_t 
      >  	/* register with global device tree */
      >  	dev_set_name(&hwif->gendev, hwif->name);
      >  	hwif->gendev.driver_data = hwif;
      > -	if (hwif->gendev.parent == NULL) {
      > -		if (hwif->dev)
      > -			hwif->gendev.parent = hwif->dev;
      > -		else
      > -			/* Would like to do = &device_legacy */
      > -			hwif->gendev.parent = NULL;
      > -	}
      > +	hwif->gendev.parent = hwif->dev;
      
      This [bart: commit 96d40941 ("ide: small
      ide_register_port() cleanup")] breaks ide-pmac.  It overwrites the parent
      that pmac_ide_macio_attach has set.
      Signed-off-by: NAndreas Schwab <schwab@suse.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      bb54affa
  8. 15 1月, 2009 1 次提交
  9. 07 1月, 2009 7 次提交