[PATCH] sym2 version 2.2.0
Docs
- The sym53c8xx= kernel parameter no longer exists
- Correct a typo
Bugfixes
- The driver really isn't capable of dealing with 64-bit bus addresses
yet, so bail out early
- Get rid of SYM_SCAN_TARGETS_HILO (which had no effect) and set the
shost->reverse_ordering flag instead
- Associate a scsi_device with the target in slave_alloc instead of
slave_configure
Printk cleanups
- Use dev_warn/dev_info where possible
- Delete PRINT_ADDR, PRINT_TARGET and PRINT_LUN
- Remove sym_print_target() and sym_print_lun()
- Make sym_print_addr() call dev_info
Memory allocation related
- Delete non-dma allocators; use kmalloc/kcalloc directly instead
- Move memory allocation wrappers from sym_glue to sym_malloc
- Get rid of m_addr_t; use void * or dma_addr_t as appropriate
- Change m_pool_ident_t from a struct pci_dev * to a struct device *
- Use dma_alloc_coherent() instead of pci_alloc_consistent()
Negotiation related
- Move scsi_transport_spi.h include from sym_glue.c to sym_glue.h
- Store the current transfer contract settings in the starget attributes
- Delete sym2_get_offset(), sym2_get_period(), sym2_get_width(),
sym2_get_dt(), sym2_get_iu() and sym2_get_qas()
- Use spi_support_wide() (and friends) instead of scsi_device_wide()
- We don't need tinfo.prev -- we can tell if the contract changed
- Delete SYM_OPT_ANNOUNCE_TRANSFER_RATE
- Use spi_display_xfer_agreement()
- Use sdev->scsi_level instead of the never-set tinfo.curr.scsi_version
- Instead of checking current xfer settings against our goal, use a
check_nego flag.
- Get rid of sym_tinfo and use sym_trans directly.
- Split the sym_trans options into flags
- Change width from an u8 into a flag
- Delete sym_misc.c
- Remove sym_xpt_async_nego_wide
Linuxisation
- Use udelay() directly instead of indirecting through UDELAY and sym_udelay
- Rename some scsi_cmnd pointers from ccb or csio to cmd
- Use simple_strtoul() instead of a handwritten parser
- SKIP_SPACES was always being used with 1 as a parameter, and was implicitly
modifying ptr and len.
- GET_INT_ARG was doing the same with ptr and len.
- Use pci_iomap(), pci_iounmap(), ioread8() et al
- Delete the sym_data_dmamap_*() macros
- Replace SYM_CONF_IOMAPPED with CONFIG_SCSI_SYM53C8XX_IOMAPPED
- Delete unused SYM_HAVE_SCCB, SYM_HAVE_M_SVTOB, SYM_HAVE_M_SPOOL
Misc cleanup
- Move sym_conf.h into sym53c8xx.h
- Eliminate the unused SYM_SETUP_MAX_LUN, SYM_SCMD_PTR
- SYM_SETUP_PCI_PARITY and SYM_SETUP_SCSI_PARITY are always defined; simplify
- Rename sym_pci_chip to sym_chip
- Write sym_get_hcb() to hide nasty macro abuse
- sym_lp() doesn't need to take the sym_hcb as an argument
- sym_get_ccb() works better if you give it the cmd instead of the id/lun
- We don't use cmd->host_scribble, host->dma_channel, host->n_io_port,
host->io_port, host->base or host->irq; stop initialising them.
- sym_tune_dev_queuing() works better if you give it the tcb rather than
the hcb and target
- Get rid of sym_driver_name(), just use SYM_DRIVER_NAME directly
- OUTB/INB/etc macros implicitly use the hcb pointer; pass it explictly instead
- Map the BARs early instead of mapping and unmapping them as necessary
- Automatically fall back to ioport accesses if iomem isn't available
- Get rid of tcb_p, lcb_p and ccb_p typedefs
- Delete support for big endian chips -- 8xx chips can't be in BE mode
- Inline sym_slot into sym_device
- Inline sym_printb_hex() into sym_printl_hex()
- Don't cast function return values to void
- Introduce sym_nvram_type()
- Pass the hcb and starget to sym_check_goals since we already have them
in the caller
- Some 0/NULL cleanup
- Embed the sense buffer in the CCB so it doesn't need to be allocated
separately
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Showing
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment