On Mon, Feb 20, 2006 at 11:02:32AM -0700, Dax Kelson wrote:This appears to be the most current version of the driver:
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc4/2.6.16-rc4-mm1/broken-out/areca-raid-linux-scsi-driver.patch
Is this the current TODO list?
=================
Issues not yet patched:
13. uintNN_t int types: use kernel types except for userspace
interfaces
14. use kernel-doc
18. Put arcmsr.txt in Documentation/scsi/, not in scsi/arcmsr/.
19. Maybe use sysfs (/sys) instead of /proc.
20. check stack usage, init/exit sections;
- remove internal queueing
- fix hardware datastructures
- remove odd ioctls
- remove useless forward prototypes
- give types like ACB useful names
- give variable useful names, especially follow kernel conventions,
e.g. a struct pci_dev is usually named pdev
- kill ->proc_info method
- use normal comment style even for comments not fitting into the
kernel-doc item above. kill useless separator comments without
text
- convert arcmsr_show_firmware_info to useful one value per
file attributes. best follow the schemes used in aacraid or
lpfc
- convert arcmsr_show_driver_state to useful one value per
file attributes.
- remove never called release method in the host template
- audit whether setting unchecked_isa_dma to false really makes
sense (I strongly doubt it)
- remove shutdown notifier, add pci_driver ->shutdown method instead
- remove CameCase PCI Ids. The vendor Id should go into pci_ids.h,
the device ids either removed or spelled the normal linux way
- arcmsr_do_interrupt should stop walking the global host list
and use the private data passed to request_irq
- the global host list should go away completely
- arcmsr_bios_param looks like duplicating the generic CAM version?
- locking needs to be redone. If the driver really needs more than
one per-host lock we'll want a very good explanation
- arcmsr_device_probe needs to be rewritten to do goto-based
error unwinding.
- msi should be a module options if at all, but defintitly not
a config options
- arcmsr_scsi_host_template_init should go away. the host template
must be initialized statically with no run-time writes to it
- the hardware documentation should be split out of arcmsr.h
into a separate file (btw, thanks a lot to areca to provide such
detailed hardware informations, it's just the wrong format..)
- remove the SCSISTAT_* defines, and use the generic ones from
<scsi/scsi.h> instead. Dito for various other SAM defines.
- the driver has just two files and should go directly into
drivers/scsi instead of a subdirectory