[PATCH] libsas: move ATA bits into a separate module

From: Darrick J. Wong
Date: Wed Sep 13 2006 - 20:23:06 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/