1. 04 1月, 2013 1 次提交
    • G
      Drivers: ide: remove __dev* attributes. · fe31edc8
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fe31edc8
  2. 06 10月, 2012 1 次提交
  3. 07 6月, 2012 2 次提交
  4. 14 10月, 2011 1 次提交
  5. 19 1月, 2010 1 次提交
  6. 12 1月, 2010 1 次提交
    • B
      icside: bring back ->maskproc method · f75d4a23
      Bartlomiej Zolnierkiewicz 提交于
      Bring back ->maskproc method since it is still needed for proper operation,
      as noticed by Russell King:
      
      > This change is bogus.
      >
      >         writeb(0, base + ICS_ARCIN_V6_INTROFFSET_1);
      >         readb(base + ICS_ARCIN_V6_INTROFFSET_2);
      >
      >         writeb(0, base + ICS_ARCIN_V6_INTROFFSET_2);
      >         readb(base + ICS_ARCIN_V6_INTROFFSET_1);
      >
      > This sequence of code does:
      >
      > 1. enable interrupt 1
      > 2. disable interrupt 2
      > 3. enable interrupt 2
      > 4. disable interrupt 1
      >
      > which results in the interrupt for the second channel being enabled -
      > leaving channel 1 blocked.
      >
      > Firstly, icside shares its two IDE channels with one DMA engine - so it's
      > a simplex interface.  IDE supports those (or did when the code was written)
      > serializing requests between the two interfaces.  libata does not.
      >
      > Secondly, the interrupt lines on icside float when there's no drive connected
      > or when the drive has its NIEN bit set, which means that you get spurious
      > screaming interrupts which can kill off all expansion card interrupts on
      > the machine unless you disable the channel interrupt on the card.
      >
      > Since libata can not serialize the operation of the two channels like IDE
      > can, the libata version of the icside driver does not contain the interrupt
      > stearing logic.  Instead, it looks at the status after reset, and if
      > nothing was found on that channel, it masks the interrupt from that
      > channel.
      
      This patch reverts changes done in commit dff8817b (I became confused due to
      non-standard & undocumented ->maskproc method, anyway sorry about that).
      Noticed-by: NRussell King <rmk@arm.linux.org.uk>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f75d4a23
  7. 16 6月, 2009 1 次提交
  8. 07 6月, 2009 1 次提交
  9. 18 5月, 2009 3 次提交
  10. 17 5月, 2009 1 次提交
  11. 01 4月, 2009 3 次提交
  12. 27 3月, 2009 6 次提交
  13. 03 2月, 2009 1 次提交
  14. 07 1月, 2009 2 次提交
  15. 01 12月, 2008 1 次提交
  16. 27 10月, 2008 1 次提交
  17. 22 10月, 2008 1 次提交
  18. 14 10月, 2008 2 次提交
  19. 11 10月, 2008 2 次提交
    • B
      ide: include <linux/hdreg.h> only when needed · 3ceca727
      Bartlomiej Zolnierkiewicz 提交于
      * Include <linux/ata.h> directly in <linux/ide.h>
        instead of through <linux/hdreg.h>.
      
      * Include <linux/hdreg.h> only when needed.
      
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3ceca727
    • B
      ide: make drive->id an union (take 2) · 4dde4492
      Bartlomiej Zolnierkiewicz 提交于
      Make drive->id an unnamed union so id can be accessed either by using
      'u16 *id' or 'struct hd_driveid *driveid'.  Then convert all existing
      drive->id users accordingly (using 'u16 *id' when possible).
      
      This is an intermediate step to make ide 'struct hd_driveid'-free.
      
      While at it:
      
      - Add missing KERN_CONTs in it821x.c.
      
      - Use ATA_ID_WORDS and ATA_ID_*_LEN defines.
      
      - Remove unnecessary checks for drive->id.
      
      - s/drive_table/table/ in ide_in_drive_list().
      
      - Cleanup ide_config_drive_speed() a bit.
      
      - s/drive1/dev1/ & s/drive0/dev0/ in ide_undecoded_slave().
      
      v2:
      Fix typo in drivers/ide/ppc/pmac.c. (From Stephen Rothwell)
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4dde4492
  20. 25 7月, 2008 1 次提交
  21. 24 7月, 2008 6 次提交
    • B
      ide: add ide_host_free() helper (take 2) · 8a69580e
      Bartlomiej Zolnierkiewicz 提交于
      * Add ide_host_free() helper and convert ide_host_remove() to use it.
      
      * Fix handling of ide_host_register() failure in ide_host_add(),
        icside.c, ide-generic.c, falconide.c and sgiioc4.c.
      
      While at it:
      
      * Fix handling of ide_host_alloc_all() failure in ide-generic.c.
      
      * Fix handling of ide_host_alloc() failure in falconide.c
        (also return the correct error value if no device is found).
      
      v2:
      * falconide build fix. (From Stephen Rothwell)
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8a69580e
    • B
      ide: add struct ide_host (take 3) · 48c3c107
      Bartlomiej Zolnierkiewicz 提交于
      * Add struct ide_host which keeps pointers to host's ports.
      
      * Add ide_host_alloc[_all]() and ide_host_remove() helpers.
      
      * Pass 'struct ide_host *host' instead of 'u8 *idx' to
        ide_device_add[_all]() and rename it to ide_host_register[_all]().
      
      * Convert host drivers and core code to use struct ide_host.
      
      * Remove no longer needed ide_find_port().
      
      * Make ide_find_port_slot() static.
      
      * Unexport ide_unregister().
      
      v2:
      * Add missing 'struct ide_host *host' to macide.c.
      
      v3:
      * Fix build problem in pmac.c (s/ide_alloc_host/ide_host_alloc/)
        (Noticed by Stephen Rothwell).
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      48c3c107
    • B
      ide: add struct ide_tp_ops (take 2) · 374e042c
      Bartlomiej Zolnierkiewicz 提交于
      * Add struct ide_tp_ops for transport methods.
      
      * Add 'const struct ide_tp_ops *tp_ops' to struct ide_port_info
        and ide_hwif_t.
      
      * Set the default hwif->tp_ops in ide_init_port_data().
      
      * Set host driver specific hwif->tp_ops in ide_init_port().
      
      * Export ide_exec_command(), ide_read_status(), ide_read_altstatus(),
        ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}()
        and ata_{in,out}put_data().
      
      * Convert host drivers and core code to use struct ide_tp_ops.
      
      * Remove no longer needed default_hwif_transport().
      
      * Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops.
      
      While at it:
      
      * Use struct ide_port_info in falconide.c and q40ide.c.
      
      * Rename ata_{in,out}put_data() to ide_{in,out}put_data().
      
      v2:
      
      * Fix missing convertion in ns87415.c.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      374e042c
    • B
      ide: remove ->INB, ->OUTB and ->OUTBSYNC methods · 761052e6
      Bartlomiej Zolnierkiewicz 提交于
      * Remove no longer needed ->INB, ->OUTB and ->OUTBSYNC methods.
      
      Then:
      
      * Remove no longer used default_hwif_[mm]iops() and ide_[mm_]outbsync().
      
      * Cleanup SuperIO handling in ns87415.c.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      761052e6
    • B
      ide: add ->read_status method · b73c7ee2
      Bartlomiej Zolnierkiewicz 提交于
      * Remove ide_read_status() inline helper.
      
      * Add ->read_status method for reading ATA Status register
        and use it instead of ->INB.
      
      While at it:
      
      * Don't use HWGROUP() macro.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b73c7ee2
    • B
      ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3) · c97c6aca
      Bartlomiej Zolnierkiewicz 提交于
      * Add 'hw_regs_t **hws' argument to ide_device_add[_all]() and convert
        host drivers + ide_legacy_init_one() + ide_setup_pci_device[s]() to use
        it instead of calling ide_init_port_hw() directly.
      
        [ However if host has > 1 port we must still set hwif->chipset to hint
          consecutive ide_find_port() call that the previous slot is occupied. ]
      
      * Unexport ide_init_port_hw().
      
      v2:
      * Use defines instead of hard-coded values in buddha.c, gayle.c and q40ide.c.
        (Suggested by Geert Uytterhoeven)
      
      * Better patch description.
      
      v3:
      * Fix build problem in ide-cs.c. (Noticed by Stephen Rothwell)
      
      There should be no functional changes caused by this patch.
      
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c97c6aca
  22. 17 7月, 2008 1 次提交