Hi all, Per James Bottomley's request, I've moved all the libsas SATA support code into a separate module, named sas_ata. To satisfy his further requirement that libsas not require libata (and vice versa), ata_sas maintains fixed function pointer tables to various required functions within libsas and libata. Unfortunately, this means that libsas and libata both require sas_ata, but sas_ata is smaller than libata. Unloads of libata/libsas at inopportune moments are prevented by increasing the refcounts on both modules whenever libsas detects a SATA device (and decreasing it when the device goes away, of course). If the module is removed from the .config, then all of hooks into libsas/libata should go away. This is a rough-cut at separating out the ATA code; please let me know what I can improve. At the moment, I can load and talk to SATA disks with the module enabled, as well as watch nothing happen if the module is not config'd in. The patch is a bit large, so here's where it lives: http://sweaglesw.net/~djwong/docs/sas-ata_2.patch Thanks for any feedback that you can provide! --D Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html