lkml.org 
[lkml]   [2006]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/15] sas_ata: Make this a module separate from libsas
    Date

    Break out sas_ata as a free-standing module that provides a SATA
    Translation Layer (SATL) for libsas. This patch requires the libsas
    SATL registration patch; the changes to sas_ata itself are rather
    minor.

    Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
    ---

    drivers/scsi/libsas/Makefile | 5 +++--
    drivers/scsi/libsas/sas_ata.c | 34 ++++++++++++++++++++++++++++++++--
    2 files changed, 35 insertions(+), 4 deletions(-)

    diff --git a/drivers/scsi/libsas/Makefile b/drivers/scsi/libsas/Makefile
    index 6383eb5..5e95902 100644
    --- a/drivers/scsi/libsas/Makefile
    +++ b/drivers/scsi/libsas/Makefile
    @@ -33,5 +33,6 @@ libsas-y += sas_init.o \
    sas_dump.o \
    sas_discover.o \
    sas_expander.o \
    - sas_scsi_host.o \
    - sas_ata.o
    + sas_scsi_host.o
    +
    +obj-$(CONFIG_SCSI_SAS_SATL) += sas_ata.o
    diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
    index 7338775..bfaee88 100644
    --- a/drivers/scsi/libsas/sas_ata.c
    +++ b/drivers/scsi/libsas/sas_ata.c
    @@ -398,8 +398,8 @@ static struct ata_port_info sata_port_in
    .port_ops = &sas_sata_ops
    };

    -int sas_ata_init_host_and_port(struct domain_device *found_dev,
    - struct scsi_target *starget)
    +static int sas_ata_init_host_and_port(struct domain_device *found_dev,
    + struct scsi_target *starget)
    {
    struct Scsi_Host *shost = dev_to_shost(&starget->dev);
    struct sas_ha_struct *ha = SHOST_TO_SAS_HA(shost);
    @@ -424,3 +424,33 @@ int sas_ata_init_host_and_port(struct do

    return 0;
    }
    +
    +/* Module initialization */
    +static struct satl_operations sas_ata_ops = {
    + .owner = THIS_MODULE,
    + .init_target = sas_ata_init_host_and_port,
    + .queuecommand = ata_sas_queuecmd,
    + .ioctl = ata_scsi_ioctl,
    + .configure_port = ata_sas_slave_configure,
    + .deactivate_port = ata_port_disable,
    + .destroy_port = ata_sas_port_destroy,
    + .init_port = ata_sas_port_init
    +};
    +
    +static int __init sas_ata_init(void)
    +{
    + return sas_register_satl(&sas_ata_ops);
    +}
    +
    +static void __exit sas_ata_exit(void)
    +{
    + sas_unregister_satl(&sas_ata_ops);
    +}
    +
    +module_init(sas_ata_init);
    +module_exit(sas_ata_exit);
    +
    +MODULE_AUTHOR("Darrick Wong <djwong@us.ibm.com>");
    +MODULE_DESCRIPTION("libata SATL for SAS");
    +MODULE_LICENSE("GPL v2");
    +MODULE_VERSION("1.0");
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2006-11-17 22:07    [W:0.022 / U:1.280 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site