11 Oct, 2008

38 commits

  • * Set IDE_AFLAG_NO_DOORLOCK in idetape_get_mode_sense_result(), check it
    in ide_tape_set_media_lock() and cleanup idetape_create_prevent_cmd().

    * Set IDE_AFLAG_NO_DOORLOCK in ide_floppy_create_read_capacity_cmd() and
    check it instead of IDE_AFLAG_CLIK_DRIVE in ide_floppy_set_media_lock().

    * Add ide_set_media_lock() helper and convert ide-{floppy,tape}.c to use it.

    * Remove no longer used ide*_create_prevent_cmd()/ide*_set_media_lock().

    * Update comment in accordingly.

    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Add IDE_AFLAG_{SRFP,WP} drive->atapi_flags and use them
    instead of ->{srfp,wp} struct ide_floppy_obj fields.

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ide_queue_pc_tail() and convert ide-{floppy,tape}.c to use it
    instead of ide*_queue_pc_tail().

    * Remove no longer used ide*_queue_pc_tail().

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Move REQ_IDETAPE_* enums to .

    * Add ide_queue_pc_head() and convert ide-{floppy,tape}.c to use it
    instead of ide*_queue_pc_head().

    * Remove no longer used ide*_queue_pc_head().

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add IDE_PC_BUFFER_SIZE define.

    * Add ide_init_pc() and convert ide-{floppy,tape}.c to use it
    instead of ide*_init_pc().

    * Remove no longer used IDE*_PC_BUFFER_SIZE and ide*_init_pc().

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Make ->io_buffers method return number of bytes transferred.

    * Use ide_end_request() instead of idefloppy_end_request()
    in ide_floppy_io_buffers() and then move the call out to
    ide_pc_intr().

    * Add ide_io_buffers() helper and convert ide-{floppy,scsi}.c
    to use it instead of ide*_io_buffers().

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ide_check_atapi_device() to ide-atapi.c and convert
    ide-{floppy,tape}.c to use it instead of ide*_identify_device().

    While at it:

    * Add DRV_NAME defines to ide-{floppy,tape}.c.

    Cc: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Move ioctls handling to ide-ioctls.c
    (except HDIO_DRIVE_TASKFILE for now).

    * Make ide_{cmd,task}() static.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add struct ide_ioctl_devset representing ioctl device setting.

    * Add ide_setting_ioctl() helper for matching given ioctl
    and its parameters against table of ioctl device settings.

    * Convert ide_setting_ioctl() and idedisk_ioctl() to use
    ide_setting_ioctl().

    * Un-export ide_setting_mtx.

    While at it:

    * {get,set}_lba_addressing() -> {get,set}_addressing()

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • It is always set to BUSSTATE_ON.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Keep pointer to ->init_chipset method also in
    struct ide_host and set it in ide_host_alloc_all().

    * Add ide_pci_suspend() and ide_pci_resume() helpers
    (default ->suspend and ->resume implementations).

    * ->init_chipset can no longer be marked __devinit.

    * Add proper PCI PM support to IDE PCI host drivers
    (rz1000.c and tc86c001.c are skipped for now since
    they need to be converted from using ->init_hwif
    to use ->init_chipset instead).

    v2:
    * Cleanup CONFIG_PM #ifdef-s per akpm's suggestion.

    Cc: Andrew Morton
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Rename lba_capacity_is_ok() to ata_id_is_lba_capacity_ok()
    and move it to (remove needless parens while at it).

    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Rename ide_id_to_hd_driveid() to ata_id_to_hd_driveid()
    and move it to .

    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ata_id_flush_ext_enabled() inline helper to .

    * ide_id_has_flush_cache_ext() -> ata_id_flush_ext_enabled()

    The latter one also checks if the command is marked as
    supported in word 83 and validity of words 83 & 86.

    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ata_id_flush_enabled() inline helper to .

    * ide_id_has_flush_cache() -> ata_id_flush_enabled()

    The latter one also checks if the command is marked as
    supported in word 83 and validity of words 83 & 86.

    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • All devices supporting CACHE FLUSH EXT command should also support
    CACHE FLUSH command so it is sufficient to check only for CACHE FLUSH
    in ide_id_has_flush_cache().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ata_id_lba48_enabled() inline helper to .

    * idedisk_supports_lba48() -> ata_id_lba48_enabled()

    The latter one also checks validity of words 83 & 86.

    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Use optimized ATA version check from Sergei in ata_id_is_sata().

    * ide_dev_is_sata() -> ata_id_is_sata()

    Cc: Jeff Garzik
    Cc: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Remove (id[ATA_ID_FIELD_VALID] & 2) check from ide_dev_has_iordy()
    (it is for validity of words 64-70, IORDY is in word 49).

    * ide_dev_has_iordy() -> ata_id_has_iordy()

    Cc: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Use drive->media and drive->scsi to check if ->dsc_overlap
    can be set by HDIO_SET_NICE ioctl in generic_ide_ioctl().

    * Remove unused ->supports_dsc_overlap field from ide_driver_t.

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Just use SECTOR_SIZE instead.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * 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: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • 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: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Include directly in
    instead of through .

    * Include only when needed.

    Cc: Christoph Hellwig
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Change ide_get_paired_drive() to return NULL if peer device
    is not present and update all users accordingly.

    While at it:

    * ide_get_paired_drive() -> ide_get_pair_dev()

    * Use ide_get_pair_dev() in cs5530.c, sc1200.c and via82cxxx.c.

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • They just obfuscate the code.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Make ide_busy_sleep() take timeout value as a parameter
    and also allow use of AltStatus Register if requested with
    altstatus parameter. Update existing users accordingly.

    * Convert ide_driveid_update() and actual_try_to_identify()
    to use ide_busy_sleep().

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Remove ->remap_0_to_1 and ->sect0 (they are always zero now).

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * ERR_STAT -> ATA_ERR
    * INDEX_STAT -> ATA_IDX
    * ECC_STAT -> ATA_CORR
    * DRQ_STAT -> ATA_DRQ
    * SEEK_STAT -> ATA_DSC
    * WRERR_STAT -> ATA_DF
    * READY_STAT -> ATA_DRDY
    * BUSY_STAT -> ATA_BUSY

    * MARK_ERR -> ATA_AMNF
    * TRK0_ERR -> ATA_TRK0NF
    * ABRT_ERR -> ATA_ABORTED
    * MCR_ERR -> ATA_MCR
    * ID_ERR -> ATA_IDNF
    * MC_ERR -> ATA_MC
    * ECC_ERR -> ATA_UNC
    * ICRC_ERR -> ATA_ICRC

    * BBD_ERR -> ATA_BBK

    Also:

    * ILI_ERR -> ATAPI_ILI
    * EOM_ERR -> ATAPI_EOM
    * LFS_ERR -> ATAPI_LFS

    * CD -> ATAPI_COD
    * IO -> ATAPI_IO

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Factor out HDIO_[OBSOLETE,GET]_IDENTITY ioctls handling
    to ide_get_identity_ioctl().

    * Use temporary buffer in ide_get_identity_ioctl() instead
    of accessing drive->id directly.

    * Add ide_id_to_hd_driveid() inline to convert raw id into
    struct hd_driveid format (needed on big-endian).

    * Use ide_id_to_hd_driveid() in ide_get_identity_ioctl(),
    cleanup ide_fix_driveid() and switch ide to use use raw id.

    * Remove no longer needed drive->driveid.

    This leaves us with 3 users of struct hd_driveid in tree:
    - arch/um/drivers/ubd_kern.c
    - drivers/block/xsysace.c
    - drivers/usb/storage/isd200.c

    While at it:

    * Use ata_id_u{32,64}() and ata_id_has_{dma,lba,iordy}() macros.

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    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: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: skcipher - Use RNG interface instead of get_random_bytes
    crypto: rng - RNG interface and implementation
    crypto: api - Add fips_enable flag
    crypto: skcipher - Move IV generators into their own modules
    crypto: cryptomgr - Test ciphers using ECB
    crypto: api - Use test infrastructure
    crypto: cryptomgr - Add test infrastructure
    crypto: tcrypt - Add alg_test interface
    crypto: tcrypt - Abort and only log if there is an error
    crypto: crc32c - Use Intel CRC32 instruction
    crypto: tcrypt - Avoid using contiguous pages
    crypto: api - Display larval objects properly
    crypto: api - Export crypto_alg_lookup instead of __crypto_alg_lookup
    crypto: Kconfig - Replace leading spaces with tabs

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
    dlm: choose better identifiers
    dlm: remove bkl
    dlm: fix address compare
    dlm: fix locking of lockspace list in dlm_scand
    dlm: detect available userspace daemon
    dlm: allow multiple lockspace creates

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
    dm: detect lost queue
    dm: publish dm_vcalloc
    dm: publish dm_table_unplug_all
    dm: publish dm_get_mapinfo
    dm: export struct dm_dev
    dm crypt: avoid unnecessary wait when splitting bio
    dm crypt: tidy ctx pending
    dm crypt: fix async inc_pending
    dm crypt: move dec_pending on error into write_io_submit
    dm crypt: remove inc_pending from write_io_submit
    dm crypt: tidy write loop pending
    dm crypt: tidy crypt alloc
    dm crypt: tidy inc pending
    dm exception store: use chunk_t for_areas
    dm exception store: introduce area_location function
    dm raid1: kcopyd should stop on error if errors handled
    dm mpath: remove is_active from struct dm_path
    dm mpath: use more error codes

    Fixed up trivial conflict in drivers/md/dm-mpath.c manually.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:
    GFS2: Support for I/O barriers
    GFS2: Add UUID to GFS2 sb
    GFS2: high time to take some time over atime
    GFS2: The war on bloat
    GFS2: GFS2 will panic if you misspell any mount options
    GFS2: Direct IO write at end of file error
    GFS2: Use an IS_ERR test rather than a NULL test
    GFS2: Fix race relating to glock min-hold time
    GFS2: Fix & clean up GFS2 rename
    GFS2: rm on multiple nodes causes panic
    GFS2: Fix metafs mounts
    GFS2: Fix debugfs glock file iterator

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (37 commits)
    [SCSI] zfcp: fix double dbf id usage
    [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev
    [SCSI] zfcp: fix erp list usage without using locks
    [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport
    [SCSI] zfcp: fix deadlock caused by shared work queue tasks
    [SCSI] zfcp: put threshold data in hba trace
    [SCSI] zfcp: Simplify zfcp data structures
    [SCSI] zfcp: Simplify get_adapter_by_busid
    [SCSI] zfcp: remove all typedefs and replace them with standards
    [SCSI] zfcp: attach and release SAN nameserver port on demand
    [SCSI] zfcp: remove unused references, declarations and flags
    [SCSI] zfcp: Update message with input from review
    [SCSI] zfcp: add queue_full sysfs attribute
    [SCSI] scsi_dh: suppress comparison warning
    [SCSI] scsi_dh: add Dell product information into rdac device handler
    [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option
    [SCSI] qla2xxx: fix printk format warnings
    [SCSI] qla2xxx: Update version number to 8.02.01-k8.
    [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing.
    [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling.
    ...

    Linus Torvalds
     
  • * 'for-2.6.28' of git://git.kernel.dk/linux-2.6-block: (132 commits)
    doc/cdrom: Trvial documentation error, file not present
    block_dev: fix kernel-doc in new functions
    block: add some comments around the bio read-write flags
    block: mark bio_split_pool static
    block: Find bio sector offset given idx and offset
    block: gendisk integrity wrapper
    block: Switch blk_integrity_compare from bdev to gendisk
    block: Fix double put in blk_integrity_unregister
    block: Introduce integrity data ownership flag
    block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1
    bio.h: Remove unused conditional code
    block: remove end_{queued|dequeued}_request()
    block: change elevator to use __blk_end_request()
    gdrom: change to use __blk_end_request()
    memstick: change to use __blk_end_request()
    virtio_blk: change to use __blk_end_request()
    blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure
    block: add lld busy state exporting interface
    block: Fix blk_start_queueing() to not kick a stopped queue
    include blktrace_api.h in headers_install
    ...

    Linus Torvalds
     

10 Oct, 2008

2 commits

  • This merges phase 1 of the x86 tree, which is a collection of branches:

    x86/alternatives, x86/cleanups, x86/commandline, x86/crashdump,
    x86/debug, x86/defconfig, x86/doc, x86/exports, x86/fpu, x86/gart,
    x86/idle, x86/mm, x86/mtrr, x86/nmi-watchdog, x86/oprofile,
    x86/paravirt, x86/reboot, x86/sparse-fixes, x86/tsc, x86/urgent and
    x86/vmalloc

    and as Ingo says: "these are the easiest, purely independent x86 topics
    with no conflicts, in one nice Octopus merge".

    * 'x86-v28-for-linus-phase1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (147 commits)
    x86: mtrr_cleanup: treat WRPROT as UNCACHEABLE
    x86: mtrr_cleanup: first 1M may be covered in var mtrrs
    x86: mtrr_cleanup: print out correct type v2
    x86: trivial printk fix in efi.c
    x86, debug: mtrr_cleanup print out var mtrr before change it
    x86: mtrr_cleanup try gran_size to less than 1M, v3
    x86: mtrr_cleanup try gran_size to less than 1M, cleanup
    x86: change MTRR_SANITIZER to def_bool y
    x86, debug printouts: IOMMU setup failures should not be KERN_ERR
    x86: export set_memory_ro and set_memory_rw
    x86: mtrr_cleanup try gran_size to less than 1M
    x86: mtrr_cleanup prepare to make gran_size to less 1M
    x86: mtrr_cleanup safe to get more spare regs now
    x86_64: be less annoying on boot, v2
    x86: mtrr_cleanup hole size should be less than half of chunk_size, v2
    x86: add mtrr_cleanup_debug command line
    x86: mtrr_cleanup optimization, v2
    x86: don't need to go to chunksize to 4G
    x86_64: be less annoying on boot
    x86, olpc: fix endian bug in openfirmware workaround
    ...

    Linus Torvalds
     
  • * 'upstream-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs
    libata-eh: clear UNIT ATTENTION after reset
    ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list
    libata: reorder ata_device to remove 8 bytes of padding on 64 bits
    [libata] pata_bf54x: Add proper PM operation
    pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC
    libata: Implement disk shock protection support
    [libata] Introduce ata_id_has_unload()
    PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver
    ata_piix: drop merged SCR access and use slave_link instead
    libata: implement slave_link
    libata: misc updates to prepare for slave link
    libata: reimplement link iterator
    libata: make SCR access ops per-link

    Linus Torvalds