Hi,

ChangeLog:

* sync with linux-2.6 tree
* merge "convert IDE device drivers to driver model" serie
  (except the last patch which is the actual conversion :)
* fix ATAPI Power Management

BK users:

        bk pull bk://bart.bkbits.net/ide-dev-2.6

This will update the following files:

 drivers/ide/ide-default.c      |   73 ---------
 drivers/ide/Kconfig            |    8 -
 drivers/ide/Makefile           |    3
 drivers/ide/ide-cd.c           |  220 +++++++++++++++++----------
 drivers/ide/ide-cd.h           |    4
 drivers/ide/ide-disk.c         |  327 +++++++++++++++--------------------------
 drivers/ide/ide-dma.c          |    4
 drivers/ide/ide-floppy.c       |  172 +++++++++++++++++----
 drivers/ide/ide-io.c           |  215 +++++++++++++++++++++++++-
 drivers/ide/ide-iops.c         |   20 ++
 drivers/ide/ide-probe.c        |  184 +++++++++++++++--------
 drivers/ide/ide-proc.c         |   20 +-
 drivers/ide/ide-tape.c         |  227 +++++++++++++++++++++-------
 drivers/ide/ide-taskfile.c     |   20 +-
 drivers/ide/ide.c              |  166 ++++----------------
 drivers/ide/pci/pdc202xx_new.c |    6
 drivers/ide/pci/pdc202xx_old.c |   17 --
 drivers/ide/pci/via82cxxx.c    |    7
 drivers/ide/setup-pci.c        |   15 -
 drivers/scsi/ide-scsi.c        |  111 ++++++++++++-
 include/linux/ide.h            |   15 -
 21 files changed, 1081 insertions(+), 753 deletions(-)

through these ChangeSets:

<[EMAIL PROTECTED](none)> (05/02/06 1.2130)
   [ide] fix ATAPI Power Management

   I've introduced bug in ATAPI Power Management handling,
   idedisk_pm_idle shouldn't be done for ATAPI devices.

<[EMAIL PROTECTED](none)> (05/02/06 1.2129)
   [ide] fix pdc202xx_{new,old}.c after linux-2.6 merge

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.18)
   [ide] kill ide-default

   * add ide_drives list to list devices without a driver
   * add __ide_add_setting() and use it for adding no auto remove entries
   * kill ide-default pseudo-driver

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.17)
   [ide] get driver from rq->rq_disk->private_data

   * add ide_driver_t * to device drivers objects
   * set it to point at driver's ide_driver_t
   * store address of this entry in disk->private_data
   * fix ide_{cd,disk,floppy,tape,scsi}_g accordingly
   * use rq->rq_disk->private_data instead of drive->driver
     to obtain driver (this allows us to kill ide-default)

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.16)
   [ide] kill ide_drive_t->disk

   * move ->disk from ide_drive_t to driver specific objects
   * make drivers allocate struct gendisk and setup rq->rq_disk
     (there is no need to do this for REQ_DRIVE_TASKFILE requests)
   * add ide_init_disk() helper and kill alloc_disks() in ide-probe.c
   * kill no longer needed ide_open() and ide_fops[] in ide.c

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.15)
   [ide] add ide_{un}register_region()

   Add ide_{un}register_region() and fix ide-{tape,scsi}.c to register
   block device number ranges.  In ata_probe() only probe for modules.

   Behavior is unchanged because:
   * if driver is already loaded and attached to drive ata_probe()
     is not called et all
   * if driver is loaded by ata_probe() it will register new number range
     for a drive and this range will be found by kobj_lookup()

   If this is not clear please read http://lwn.net/Articles/25711/
   and see drivers/base/map.c.

   This patch makes it possible to move drive->disk allocation from
   ide-probe.c to device drivers.

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.14)
   [ide] destroy_proc_ide_device() cleanup

   When this function is called device is already unbinded from a
   driver so there are no driver /proc entries to remove.

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.13)
   [ide] drive->dsc_overlap fix

   drive->dsc_overlap is supported only by ide-{cd,tape} drivers.
   Add missing clearing of ->dsc_overlap to ide_{cd,tape}_release()
   and move ->dsc_overlap setup from ide_register_subdriver() to
   ide_cdrom_setup() (ide-tape enables it unconditionally).

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.12)
   [ide] drive->nice1 fix

   It is drive's property independent of the driver being used so move
   drive->nice1 setup from ide_register_subdriver() to probe_hwif() in
   ide-probe.c.  As a result changing a driver which controls the drive
   no longer affects this flag.

<[EMAIL PROTECTED](none)> (05/02/04 1.2040.4.11)
   [ide] ide-tape: fix character device ->open() vs ->cleanup() race

   Similar to the same race but for the block device.

   * store pointer to struct ide_tape_obj in idetape_chrdevs[]
   * rename idetape_chrdevs[] to idetape_devs[] and kill idetape_chrdev_t
   * add ide_tape_chrdev_get() for getting reference to the tape
   * store tape pointer in file->private_data and fix all users of it
   * fix idetape_chrdev_{open,release}() to get/put reference to the tape

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.10)
   [ide] fix via82cxxx resume failure

   With David Woodhouse <[EMAIL PROTECTED]>.

   On resume from sleep, via_set_speed() doesn't reinstate the correct
   mode, because it thinks the drive is already configured correctly.

   Also kill redundant printk, ide_config_drive_speed() warns about errors.

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.9)
   [ide] ide-scsi: add basic refcounting

   * pointers to a SCSI host and a drive are added to idescsi_scsi_t
   * pointer to the SCSI host is stored in disk->private_data
   * ide_scsi_{get,put}() is used to {get,put} reference to the SCSI host

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.8)
   [ide] ide-tape: add basic refcounting

   Similar changes as for ide-cd.c.

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.7)
   [ide] ide-floppy: add basic refcounting

   Similar changes as for ide-cd.c.

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.6)
   [ide] ide-disk: add basic refcounting

   Similar changes as for ide-cd.c (except that struct ide_disk_obj is added).

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.5)
   [ide] ide-cd: add basic refcounting

   * based on reference counting in drivers/scsi/{sd,sr}.c
   * fixes race between ->open() and ->cleanup() (ide_unregister_subdriver()
     tests for drive->usage != 0 but there is no protection against new users)
   * struct kref and pointer to a drive are added to struct ide_cdrom_info
   * pointer to drive's struct ide_cdrom_info is stored in disk->private_data
   * ide_cd_{get,put}() is used to {get,put} reference to struct ide_cdrom_info
   * ide_cd_release() is a release method for struct ide_cdrom_info

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.4)
   [ide] make ide_generic_ioctl() take ide_drive_t * as an argument

   As a result disk->private_data can be used by device drivers now.

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.3)
   [ide] kill setup_driver_defaults()

   * move default_do_request() to ide-default.c
   * fix drivers to set ide_driver_t->{do_request,end_request,error,abort}
   * kill setup_driver_defaults()

<[EMAIL PROTECTED](none)> (05/02/03 1.2040.4.2)
   [ide] kill ide_driver_t->capacity

   * add private /proc/ide/hd?/capacity handlers to ide-{cd,disk,floppy}.c
   * use generic proc_ide_read_capacity() for ide-{scsi,tape}.c
   * kill ->capacity, default_capacity() and generic_subdriver_entries[]

<[EMAIL PROTECTED](none)> (05/01/21 1.1966.85.144)
   [ide] kill ide_driver_t->pre_reset

   Add ide_drive_t->post_reset flag and use it to signal post reset
   condition to the ide-tape driver (the only user of ->pre_reset).

<[EMAIL PROTECTED](none)> (05/01/21 1.1966.85.143)
   [ide] fix some rare ide-default vs ide-disk races

   Some rare races between ide-default and ide-disk are possible, i.e.:
   * ide-default is used, I/O request is triggered (ie. /proc/ide/hd?/identify),
     drive->special is cleared silently (so CHS is not initialized properly),
     ide-disk is loaded and fails if drive uses CHS
   * ide-disk is used, drive is resetted, ide-disk is unloaded, ide-default
     takes control over drive and on the first I/O request silently clears
    drive->special without restoring settings

   Fix them by moving idedisk_{special,pre_reset}() and company to IDE core.

<[EMAIL PROTECTED](none)> (05/01/21 1.1966.85.142)
   [ide] generic Power Management for IDE devices

   Move PM code from ide-cd.c and ide-disk.c to IDE core so:
   * PM is supported for other ATAPI devices (floppy, tape)
   * PM is supported even if specific driver is not loaded

<[EMAIL PROTECTED](none)> (05/01/21 1.1966.85.141)
   [ide] fix drive->ready_stat for ATAPI

   ATAPI devices ignore DRDY bit so drive->ready_stat must be set to zero.
   It is currently done by device drivers (including ide-default fake driver)
   but for PMAC driver it is too late as wait_for_ready() may be called during
   probe: probe_hwif()->pmac_ide_dma_check()->pmac_ide_{mdma,udma}_enable()->
   ->pmac_ide_do_setfeature()->wait_for_ready().

   Fixup drive->ready_stat just after detecting ATAPI device.

<[EMAIL PROTECTED](none)> (05/01/21 1.1966.85.140)
   [ide] ignore BIOS enable bits for Promise controllers

   Since there are no Promise binary drivers for 2.6.x kernels:
   * ignore BIOS enable bits completely
   * remove CONFIG_PDC202XX_FORCE
   * kill IDEPCI_FLAG_FORCE_PDC hack

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to