An error occurred fetching the project authors.
  1. 06 Jan, 2009 2 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: dynamic allocation of device structures · 5e7f3a46
      Bartlomiej Zolnierkiewicz authored
      Allocate device structures dynamically instead of having them embedded
      in ide_hwif_t:
      
      * Remove needless zeroing of port structure from ide_init_port_data().
      
      * Add ide_hwif_t.devices[MAX_DRIVES] (table of pointers to the devices).
      
      * Add ide_port_{alloc,free}_devices() helpers and use them respectively
        in ide_{host,free}_alloc().
      
      * Convert all users of ->drives[] to use ->devices[] instead.
      
      While at it:
      
      * Use drive->dn for the slave device check in scc_pata.c.
      
      As a nice side-effect this patch cuts ~1kB (x86-32) from the resulting
      code size:
      
         text    data     bss     dec     hex filename
        53963    1244     237   55444    d894 drivers/ide/ide-core.o.before
        52981    1244     237   54462    d4be drivers/ide/ide-core.o.after
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5e7f3a46
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove ide_driver_t typedef · 7f3c868b
      Bartlomiej Zolnierkiewicz authored
      While at it:
      - s/struct ide_driver_s/struct ide_driver/
      - use to_ide_driver() macro in ide-proc.c
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7f3c868b
  2. 29 Dec, 2008 5 commits
  3. 02 Nov, 2008 1 commit
  4. 17 Oct, 2008 1 commit
  5. 13 Oct, 2008 1 commit
  6. 10 Oct, 2008 7 commits
    • Elias Oltmanns's avatar
      ide: Remove ide_spin_wait_hwgroup() and use special requests instead · 92f1f8fd
      Elias Oltmanns authored
      Use a special request for serialisation purposes and get rid of the
      awkward ide_spin_wait_hwgroup(). This also involves converting the
      ide_devset structure so it can be shared by the /proc and the ioctl code.
      Signed-off-by: default avatarElias Oltmanns <eo@nebensachen.de>
      [bart: use rq->cmd[] directly]
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      92f1f8fd
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove SECTOR_WORDS define · 151a6701
      Bartlomiej Zolnierkiewicz authored
      Just use SECTOR_SIZE instead.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      151a6701
    • Bartlomiej Zolnierkiewicz's avatar
      ide: /proc/ide/hd*/settings rework · 8185d5aa
      Bartlomiej Zolnierkiewicz authored
      * Add struct ide_devset, S_* flags, *DEVSET() & ide*_devset_*() macros.
      
      * Add 'const struct ide_devset **settings' to ide_driver_t.
      
      * Use 'const struct ide_devset **settings' in ide_drive_t instead of
        'struct ide_settings_s *settings'.  Then convert core code and device
        drivers to use struct ide_devset and co.:
      
        - device settings are no longer allocated dynamically for each device
          but instead there is an unique struct ide_devset instance per setting
      
        - device driver keeps the pointer to the table of pointers to its
          settings in ide_driver_t.settings
      
        - generic settings are kept in ide_generic_setting[]
      
        - ide_proc_[un]register_driver(), ide_find_setting_by_name(),
          ide_{read,write}_setting() and proc_ide_{read,write}_settings()
          are updated accordingly
      
        - ide*_add_settings() are removed
      
      * Remove no longer used __ide_add_setting(), ide_add_setting(),
        __ide_remove_setting() and auto_remove_settings().
      
      * Remove no longer used TYPE_*, SETTING_*, ide_procset_t
        and ide_settings_t.
      
      * ->keep_settings, ->using_dma, ->unmask, ->noflush, ->dsc_overlap,
        ->nice1, ->addressing, ->wcache and ->nowerr ide_drive_t fields
        can now be bitfield flags.
      
      While at it:
      
      * Rename ide_find_setting_by_name() to ide_find_setting().
      
      * Rename write_wcache() to set_wcache().
      
      There should be no functional changes caused by this patch.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8185d5aa
    • Bartlomiej Zolnierkiewicz's avatar
      ide: preparations for /proc/ide/hd*/settings rework · 263138a0
      Bartlomiej Zolnierkiewicz authored
      After rework settings will be no longer created dynamically
      for each device so we need to make some fixups first.
      
      * Use set_[ksettings,unmaskirq]() as a set function for
        ["keepsettings","unmaskirq"] setting.
      
      * Allow writes to ["io_32bit","unmaskirq"] settings also when
        drive->no_[io_32bit,unmask] is set (this is checked later inside
        set_[io_32bit,unmaskirq]() anywyay and keeps consistency with
        the corresponding HDIO_SET_[32BIT,UNMASKINTR] ioctls).
      
      * Use max possible multi sectors value (16) as an allowed max for
        "multcount" setting.  set_multcount() set function checks against
        device's max possbile value anyway and it makes the proc setting
        consistent with the corresponding HDIO_SET_MULTCOUNT ioctl.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      263138a0
    • Bartlomiej Zolnierkiewicz's avatar
      ide: include <linux/hdreg.h> only when needed · 3ceca727
      Bartlomiej Zolnierkiewicz authored
      * 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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3ceca727
    • Bartlomiej Zolnierkiewicz's avatar
      ide: WIN_* -> ATA_CMD_* · aaaade3f
      Bartlomiej Zolnierkiewicz authored
      * Use ATA_CMD_* defines instead of WIN_* ones.
      
      While at it:
      
      * EXABYTE_ENABLE_NEXT -> ATA_EXABYTE_ENABLE_NEST
      
      * SETFEATURES_{EN,DIS}_WCACHE -> SETFEATURES_WC_{ON,OFF}
      
      * SETFEATURES_{EN,DIS}_AAM -> SETFEATURES_AAM_{ON,OFF}
      
      * SMART_* -> ATA_SMART_*
      
      * Remove stale comment from ide-proc.c.
      
      Partially based on earlier work by Chris Wedgwood.
      Acked-by: default avatarChris Wedgwood <cw@f00f.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      aaaade3f
    • Bartlomiej Zolnierkiewicz's avatar
      ide: make drive->id an union (take 2) · 4dde4492
      Bartlomiej Zolnierkiewicz authored
      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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4dde4492
  7. 24 Jul, 2008 1 commit
  8. 23 Jul, 2008 2 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: filter out "default" transfer mode values in set_xfer_rate() · 3b2a5c71
      Bartlomiej Zolnierkiewicz authored
      * Filter out "default" transfer mode values (0x00 - default PIO mode,
        0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted
        /proc/ide/hd?/settings:current_speed setting.
      
        Allowing "default" transfer mode values is a dangerous thing to do as
        we don't support programming controller to the "default" transfer mode
        and devices often use different values for the default and maximum PIO
        mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay
        programmed for higher PIO mode while device will use the lower PIO mode.
      
        There is no functionality loss as by using special IOCTLs device can
        still be programmed to "default" transfer modes (it is only useful for
        debugging/testing purposes anyway).
      
      * Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was
        previously used by few host drivers to program the controller to PIO0
        timings for "default" transfer mode == 0x01 (although some host drivers
        would program invalid PIO timings instead).
      
      * Cleanup ide_set_xfer_rate() and add BUG_ON().
      Suggested-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3b2a5c71
    • Bartlomiej Zolnierkiewicz's avatar
      ide: filter out invalid transfer mode values in set_xfer_rate() · c30daac1
      Bartlomiej Zolnierkiewicz authored
      Filter out invalid transfer mode values (0x02-0x07) in write handler
      for obsoleted /proc/ide/hd?/settings:current_speed setting.
      
      While at it:
      
      * Use XFER_UDMA_6 define.
      Suggested-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c30daac1
  9. 30 Jun, 2008 1 commit
  10. 10 Jun, 2008 1 commit
  11. 29 Apr, 2008 1 commit
  12. 27 Apr, 2008 1 commit
  13. 26 Apr, 2008 2 commits
  14. 17 Apr, 2008 2 commits
  15. 06 Feb, 2008 1 commit
  16. 02 Feb, 2008 2 commits
  17. 01 Feb, 2008 1 commit
  18. 26 Jan, 2008 1 commit
  19. 19 Oct, 2007 1 commit
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add ide_device_add() · 8447d9d5
      Bartlomiej Zolnierkiewicz authored
      * Add ide_device_add() helper and convert host drivers to use it
        instead of open-coded variants.
      
      * Make ide_pci_setup_ports() and do_ide_setup_pci_device()
        take 'u8 *idx' argument instead of 'ata_index_t *index'.
      
      * Remove no longer needed ata_index_t.
      
      * Unexport probe_hwif_init() and make it static.
      
      * Unexport ide_proc_register_port().
      
      There should be no functionality changes caused by this patch
      (sgiioc4.c: ide_proc_register_port() requires hwif->present
       to be set and it won't be set if probe_hwif_init() fails).
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8447d9d5
  20. 09 Jul, 2007 1 commit
  21. 24 May, 2007 1 commit
  22. 09 May, 2007 2 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add ide_proc_register_port() · 5cbf79cd
      Bartlomiej Zolnierkiewicz authored
      * create_proc_ide_interfaces() tries to add /proc entries for every probed
        and initialized IDE port, replace it by ide_proc_register_port() which does
        it only for the given port (also rename destroy_proc_ide_interface() to
        ide_proc_unregister_port() for consistency)
        
      * convert {create,destroy}_proc_ide_interface[s]() users to use new functions
      
      * pmac driver depended on proc_ide_create() to add /proc port entries, fix it
        
      * au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic
        driver (CONFIG_IDE_GENERIC=y) to add port /proc entries, fix them
      
      * there is now no need to add /proc entries for IDE ports in proc_ide_create()
        so don't do it
      
      * proc_ide_create() needs now to be called before drivers are probed - fix it,
        while at it make proc_ide_create() create /proc "ide" directory
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5cbf79cd
    • Bartlomiej Zolnierkiewicz's avatar
      ide: move IDE settings handling to ide-proc.c · 7662d046
      Bartlomiej Zolnierkiewicz authored
      * move
      	__ide_add_setting()
      	ide_add_setting()
      	__ide_remove_setting()
      	auto_remove_settings()
      	ide_find_setting_by_name()
      	ide_read_setting()
      	ide_write_setting()
      	set_xfer_rate()
      	ide_add_generic_settings()
      	ide_register_subdriver()
      	ide_unregister_subdriver()
      
        from ide.c to ide-proc.c
      
      * set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it
      
      * rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),
        update device drivers to use new names
      
      * add CONFIG_IDE_PROC_FS=n versions of ide_proc_[un]register_driver()
        and ide_add_generic_settings()
      
      * make ide_find_setting_by_name(), ide_{read,write}_setting()
        and ide_{add,remove}_proc_entries() static
      
      * cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,
        also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc
      
      * remove bogus comment from ide.h
      
      * cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t
      
      Besides saner code this patch results in the IDE core smaller by ~2 kB
      (on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS=n.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7662d046
  23. 27 Apr, 2007 1 commit
  24. 14 Feb, 2007 1 commit
    • Tim Schmielau's avatar
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau authored
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: default avatarTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a