--- zzzz-none-000/linux-2.6.19.2/drivers/scsi/aic7xxx/aic7xxx_osm.h 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/drivers/scsi/aic7xxx/aic7xxx_osm.h 2007-01-11 07:38:19.000000000 +0000 @@ -256,6 +256,7 @@ AHC_DEV_PERIODIC_OTAG = 0x40, /* Send OTAG to prevent starvation */ } ahc_linux_dev_flags; +struct ahc_linux_target; struct ahc_linux_device { /* * The number of transactions currently @@ -328,6 +329,12 @@ #define AHC_OTAG_THRESH 500 }; +struct ahc_linux_target { + struct scsi_device *sdev[AHC_NUM_LUNS]; + struct ahc_transinfo last_tinfo; + struct ahc_softc *ahc; +}; + /********************* Definitions Required by the Core ***********************/ /* * Number of SG segments we require. So long as the S/G segments for @@ -526,6 +533,8 @@ #define PCIR_SUBVEND_0 0x2c #define PCIR_SUBDEV_0 0x2e +extern struct pci_driver aic7xxx_pci_driver; + typedef enum { AHC_POWER_STATE_D0, @@ -815,7 +824,7 @@ } } -void ahc_platform_set_tags(struct ahc_softc *ahc, struct scsi_device *sdev, +void ahc_platform_set_tags(struct ahc_softc *ahc, struct ahc_devinfo *devinfo, ahc_queue_alg); int ahc_platform_abort_scbs(struct ahc_softc *ahc, int target, char channel, int lun, u_int tag, @@ -825,7 +834,7 @@ void ahc_platform_flushwork(struct ahc_softc *ahc); void ahc_done(struct ahc_softc*, struct scb*); void ahc_send_async(struct ahc_softc *, char channel, - u_int target, u_int lun, ac_code); + u_int target, u_int lun, ac_code, void *); void ahc_print_path(struct ahc_softc *, struct scb *); void ahc_platform_dump_card_state(struct ahc_softc *ahc);