scsi: ata: Declare SCSI host templates const
authorBart Van Assche <bvanassche@acm.org>
Wed, 22 Mar 2023 19:53:59 +0000 (12:53 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 24 Mar 2023 23:19:19 +0000 (19:19 -0400)
Make it explicit that ATA host templates are not modified.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com> (for DWC AHCI SATA)
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com> (for Tegra)
Cc: Christoph Hellwig <hch@lst.de>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20230322195515.1267197-5-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
111 files changed:
drivers/ata/acard-ahci.c
drivers/ata/ahci.c
drivers/ata/ahci.h
drivers/ata/ahci_brcm.c
drivers/ata/ahci_ceva.c
drivers/ata/ahci_da850.c
drivers/ata/ahci_dm816.c
drivers/ata/ahci_dwc.c
drivers/ata/ahci_imx.c
drivers/ata/ahci_mtk.c
drivers/ata/ahci_mvebu.c
drivers/ata/ahci_platform.c
drivers/ata/ahci_qoriq.c
drivers/ata/ahci_seattle.c
drivers/ata/ahci_st.c
drivers/ata/ahci_sunxi.c
drivers/ata/ahci_tegra.c
drivers/ata/ahci_xgene.c
drivers/ata/ata_generic.c
drivers/ata/ata_piix.c
drivers/ata/libahci.c
drivers/ata/libahci_platform.c
drivers/ata/libata-core.c
drivers/ata/libata-scsi.c
drivers/ata/libata-sff.c
drivers/ata/libata.h
drivers/ata/pata_acpi.c
drivers/ata/pata_ali.c
drivers/ata/pata_amd.c
drivers/ata/pata_arasan_cf.c
drivers/ata/pata_artop.c
drivers/ata/pata_atiixp.c
drivers/ata/pata_atp867x.c
drivers/ata/pata_buddha.c
drivers/ata/pata_cmd640.c
drivers/ata/pata_cmd64x.c
drivers/ata/pata_cs5520.c
drivers/ata/pata_cs5530.c
drivers/ata/pata_cs5535.c
drivers/ata/pata_cs5536.c
drivers/ata/pata_cypress.c
drivers/ata/pata_efar.c
drivers/ata/pata_ep93xx.c
drivers/ata/pata_falcon.c
drivers/ata/pata_ftide010.c
drivers/ata/pata_gayle.c
drivers/ata/pata_hpt366.c
drivers/ata/pata_hpt37x.c
drivers/ata/pata_hpt3x2n.c
drivers/ata/pata_hpt3x3.c
drivers/ata/pata_icside.c
drivers/ata/pata_imx.c
drivers/ata/pata_isapnp.c
drivers/ata/pata_it8213.c
drivers/ata/pata_it821x.c
drivers/ata/pata_ixp4xx_cf.c
drivers/ata/pata_jmicron.c
drivers/ata/pata_legacy.c
drivers/ata/pata_macio.c
drivers/ata/pata_marvell.c
drivers/ata/pata_mpc52xx.c
drivers/ata/pata_mpiix.c
drivers/ata/pata_netcell.c
drivers/ata/pata_ninja32.c
drivers/ata/pata_ns87410.c
drivers/ata/pata_ns87415.c
drivers/ata/pata_octeon_cf.c
drivers/ata/pata_of_platform.c
drivers/ata/pata_oldpiix.c
drivers/ata/pata_opti.c
drivers/ata/pata_optidma.c
drivers/ata/pata_parport/pata_parport.c
drivers/ata/pata_pcmcia.c
drivers/ata/pata_pdc2027x.c
drivers/ata/pata_pdc202xx_old.c
drivers/ata/pata_piccolo.c
drivers/ata/pata_platform.c
drivers/ata/pata_pxa.c
drivers/ata/pata_radisys.c
drivers/ata/pata_rb532_cf.c
drivers/ata/pata_rdc.c
drivers/ata/pata_rz1000.c
drivers/ata/pata_sc1200.c
drivers/ata/pata_sch.c
drivers/ata/pata_serverworks.c
drivers/ata/pata_sil680.c
drivers/ata/pata_sis.c
drivers/ata/pata_sl82c105.c
drivers/ata/pata_triflex.c
drivers/ata/pata_via.c
drivers/ata/pdc_adma.c
drivers/ata/sata_dwc_460ex.c
drivers/ata/sata_fsl.c
drivers/ata/sata_highbank.c
drivers/ata/sata_inic162x.c
drivers/ata/sata_mv.c
drivers/ata/sata_nv.c
drivers/ata/sata_promise.c
drivers/ata/sata_qstor.c
drivers/ata/sata_rcar.c
drivers/ata/sata_sil.c
drivers/ata/sata_sil24.c
drivers/ata/sata_sis.c
drivers/ata/sata_svw.c
drivers/ata/sata_sx4.c
drivers/ata/sata_uli.c
drivers/ata/sata_via.c
drivers/ata/sata_vsc.c
include/linux/ahci_platform.h
include/linux/ata_platform.h
include/linux/libata.h

index 993eadd..547f563 100644 (file)
@@ -66,7 +66,7 @@ static int acard_ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg
 static int acard_ahci_pci_device_resume(struct pci_dev *pdev);
 #endif
 
-static struct scsi_host_template acard_ahci_sht = {
+static const struct scsi_host_template acard_ahci_sht = {
        AHCI_SHT("acard-ahci"),
 };
 
index 14a1c0d..addba10 100644 (file)
@@ -101,7 +101,7 @@ static int ahci_pci_device_resume(struct device *dev);
 #endif
 #endif /* CONFIG_PM */
 
-static struct scsi_host_template ahci_sht = {
+static const struct scsi_host_template ahci_sht = {
        AHCI_SHT("ahci"),
 };
 
index ff8e6ae..4bae95b 100644 (file)
@@ -430,7 +430,7 @@ void ahci_set_em_messages(struct ahci_host_priv *hpriv,
                          struct ata_port_info *pi);
 int ahci_reset_em(struct ata_host *host);
 void ahci_print_info(struct ata_host *host, const char *scc_s);
-int ahci_host_activate(struct ata_host *host, struct scsi_host_template *sht);
+int ahci_host_activate(struct ata_host *host, const struct scsi_host_template *sht);
 void ahci_error_handler(struct ata_port *ap);
 u32 ahci_handle_port_intr(struct ata_host *host, u32 irq_masked);
 
index 6f216eb..4e3dc2b 100644 (file)
@@ -417,7 +417,7 @@ out_disable_clks:
        return ret;
 }
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index cb24ecf..bc02746 100644 (file)
@@ -185,7 +185,7 @@ static void ahci_ceva_setup(struct ahci_host_priv *hpriv)
        }
 }
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index dc8a019..ca0924d 100644 (file)
@@ -153,7 +153,7 @@ static const struct ata_port_info ahci_da850_port_info = {
        .port_ops       = &ahci_da850_port_ops,
 };
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index d26efcd..b08547b 100644 (file)
@@ -134,7 +134,7 @@ static const struct ata_port_info ahci_dm816_port_info = {
        .port_ops       = &ahci_dm816_port_ops,
 };
 
-static struct scsi_host_template ahci_dm816_platform_sht = {
+static const struct scsi_host_template ahci_dm816_platform_sht = {
        AHCI_SHT(AHCI_DM816_DRV_NAME),
 };
 
index 8fb6686..4bfbb09 100644 (file)
@@ -398,7 +398,7 @@ static const struct ata_port_info ahci_dwc_port_info = {
        .port_ops       = &ahci_dwc_port_ops,
 };
 
-static struct scsi_host_template ahci_dwc_scsi_info = {
+static const struct scsi_host_template ahci_dwc_scsi_info = {
        AHCI_SHT(DRV_NAME),
 };
 
index a950767..1c1139d 100644 (file)
@@ -979,7 +979,7 @@ static u32 imx_ahci_parse_props(struct device *dev,
        return reg_value;
 }
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index c056378..f6a7534 100644 (file)
@@ -37,7 +37,7 @@ static const struct ata_port_info ahci_port_info = {
        .port_ops       = &ahci_platform_ops,
 };
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index 22ecc4f..596cf01 100644 (file)
@@ -178,7 +178,7 @@ static const struct ata_port_info ahci_mvebu_port_info = {
        .port_ops  = &ahci_platform_ops,
 };
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index 8f5572a..299ee68 100644 (file)
@@ -36,7 +36,7 @@ static const struct ata_port_info ahci_port_info_nolpm = {
        .port_ops       = &ahci_platform_ops,
 };
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index 9cf9bf3..0ba764d 100644 (file)
@@ -159,7 +159,7 @@ static const struct ata_port_info ahci_qoriq_port_info = {
        .port_ops       = &ahci_qoriq_ops,
 };
 
-static struct scsi_host_template ahci_qoriq_sht = {
+static const struct scsi_host_template ahci_qoriq_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index ced1270..9eda7bb 100644 (file)
@@ -72,7 +72,7 @@ static const struct ata_port_info ahci_port_seattle_info = {
        .port_ops       = &ahci_seattle_ops,
 };
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index 8607b68..f2c1edb 100644 (file)
@@ -138,7 +138,7 @@ static const struct ata_port_info st_ahci_port_info = {
        .port_ops       = &st_ahci_port_ops,
 };
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index c7273c1..076c12b 100644 (file)
@@ -206,7 +206,7 @@ static const struct ata_port_info ahci_sunxi_port_info = {
        .port_ops       = &ahci_platform_ops,
 };
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index 4fb94db..8e5e2b3 100644 (file)
@@ -506,7 +506,7 @@ static const struct of_device_id tegra_ahci_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, tegra_ahci_of_match);
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index 1e08704..83f5ff5 100644 (file)
@@ -710,7 +710,7 @@ static int xgene_ahci_mux_select(struct xgene_ahci_context *ctx)
        return val & CFG_SATA_ENET_SELECT_MASK ? -1 : 0;
 }
 
-static struct scsi_host_template ahci_platform_sht = {
+static const struct scsi_host_template ahci_platform_sht = {
        AHCI_SHT(DRV_NAME),
 };
 
index 20a32e4..2f57ec0 100644 (file)
@@ -95,7 +95,7 @@ static int generic_set_mode(struct ata_link *link, struct ata_device **unused)
        return 0;
 }
 
-static struct scsi_host_template generic_sht = {
+static const struct scsi_host_template generic_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index ade5e89..ec3c5bd 100644 (file)
@@ -1059,7 +1059,7 @@ static u8 piix_vmw_bmdma_status(struct ata_port *ap)
        return ata_bmdma_status(ap) & ~ATA_DMA_ERR;
 }
 
-static struct scsi_host_template piix_sht = {
+static const struct scsi_host_template piix_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
@@ -1095,7 +1095,7 @@ static struct attribute *piix_sidpr_shost_attrs[] = {
 
 ATTRIBUTE_GROUPS(piix_sidpr_shost);
 
-static struct scsi_host_template piix_sidpr_sht = {
+static const struct scsi_host_template piix_sidpr_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
        .shost_groups           = piix_sidpr_shost_groups,
 };
@@ -1645,7 +1645,7 @@ static int piix_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        struct device *dev = &pdev->dev;
        struct ata_port_info port_info[2];
        const struct ata_port_info *ppi[] = { &port_info[0], &port_info[1] };
-       struct scsi_host_template *sht = &piix_sht;
+       const struct scsi_host_template *sht = &piix_sht;
        unsigned long port_flags;
        struct ata_host *host;
        struct piix_host_priv *hpriv;
index 8f216de..9c2cb6c 100644 (file)
@@ -2692,7 +2692,7 @@ void ahci_set_em_messages(struct ahci_host_priv *hpriv,
 EXPORT_SYMBOL_GPL(ahci_set_em_messages);
 
 static int ahci_host_activate_multi_irqs(struct ata_host *host,
-                                        struct scsi_host_template *sht)
+                                        const struct scsi_host_template *sht)
 {
        struct ahci_host_priv *hpriv = host->private_data;
        int i, rc;
@@ -2736,7 +2736,7 @@ static int ahci_host_activate_multi_irqs(struct ata_host *host,
  *     RETURNS:
  *     0 on success, -errno otherwise.
  */
-int ahci_host_activate(struct ata_host *host, struct scsi_host_template *sht)
+int ahci_host_activate(struct ata_host *host, const struct scsi_host_template *sht)
 {
        struct ahci_host_priv *hpriv = host->private_data;
        int irq = hpriv->irq;
index b9e336b..d6c3a6f 100644 (file)
@@ -680,7 +680,7 @@ EXPORT_SYMBOL_GPL(ahci_platform_get_resources);
 int ahci_platform_init_host(struct platform_device *pdev,
                            struct ahci_host_priv *hpriv,
                            const struct ata_port_info *pi_template,
-                           struct scsi_host_template *sht)
+                           const struct scsi_host_template *sht)
 {
        struct device *dev = &pdev->dev;
        struct ata_port_info pi = *pi_template;
index 14c17c3..8bf612b 100644 (file)
@@ -5775,7 +5775,7 @@ static void async_port_probe(void *data, async_cookie_t cookie)
  *     RETURNS:
  *     0 on success, -errno otherwise.
  */
-int ata_host_register(struct ata_host *host, struct scsi_host_template *sht)
+int ata_host_register(struct ata_host *host, const struct scsi_host_template *sht)
 {
        int i, rc;
 
@@ -5883,7 +5883,7 @@ EXPORT_SYMBOL_GPL(ata_host_register);
  */
 int ata_host_activate(struct ata_host *host, int irq,
                      irq_handler_t irq_handler, unsigned long irq_flags,
-                     struct scsi_host_template *sht)
+                     const struct scsi_host_template *sht)
 {
        int i, rc;
        char *irq_desc;
index e093c7a..7bb12de 100644 (file)
@@ -4186,7 +4186,7 @@ void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd)
        scsi_done(cmd);
 }
 
-int ata_scsi_add_hosts(struct ata_host *host, struct scsi_host_template *sht)
+int ata_scsi_add_hosts(struct ata_host *host, const struct scsi_host_template *sht)
 {
        int i, rc;
 
index cd82d3b..9d28bad 100644 (file)
@@ -2281,7 +2281,7 @@ EXPORT_SYMBOL_GPL(ata_pci_sff_prepare_host);
  */
 int ata_pci_sff_activate_host(struct ata_host *host,
                              irq_handler_t irq_handler,
-                             struct scsi_host_template *sht)
+                             const struct scsi_host_template *sht)
 {
        struct device *dev = host->dev;
        struct pci_dev *pdev = to_pci_dev(dev);
@@ -2378,7 +2378,7 @@ static const struct ata_port_info *ata_sff_find_valid_pi(
 
 static int ata_pci_init_one(struct pci_dev *pdev,
                const struct ata_port_info * const *ppi,
-               struct scsi_host_template *sht, void *host_priv,
+               const struct scsi_host_template *sht, void *host_priv,
                int hflags, bool bmdma)
 {
        struct device *dev = &pdev->dev;
@@ -2452,7 +2452,7 @@ out:
  */
 int ata_pci_sff_init_one(struct pci_dev *pdev,
                 const struct ata_port_info * const *ppi,
-                struct scsi_host_template *sht, void *host_priv, int hflag)
+                const struct scsi_host_template *sht, void *host_priv, int hflag)
 {
        return ata_pci_init_one(pdev, ppi, sht, host_priv, hflag, 0);
 }
@@ -3175,7 +3175,7 @@ EXPORT_SYMBOL_GPL(ata_pci_bmdma_prepare_host);
  */
 int ata_pci_bmdma_init_one(struct pci_dev *pdev,
                           const struct ata_port_info * const * ppi,
-                          struct scsi_host_template *sht, void *host_priv,
+                          const struct scsi_host_template *sht, void *host_priv,
                           int hflags)
 {
        return ata_pci_init_one(pdev, ppi, sht, host_priv, hflags, 1);
index 2cd6124..926d0d3 100644 (file)
@@ -111,7 +111,7 @@ static inline void ata_acpi_bind_dev(struct ata_device *dev) {}
 extern struct ata_device *ata_scsi_find_dev(struct ata_port *ap,
                                            const struct scsi_device *scsidev);
 extern int ata_scsi_add_hosts(struct ata_host *host,
-                             struct scsi_host_template *sht);
+                             const struct scsi_host_template *sht);
 extern void ata_scsi_scan_host(struct ata_port *ap, int sync);
 extern int ata_scsi_offline_dev(struct ata_device *dev);
 extern bool ata_scsi_sense_is_valid(u8 sk, u8 asc, u8 ascq);
index f8706ee..ab38871 100644 (file)
@@ -205,7 +205,7 @@ static int pacpi_port_start(struct ata_port *ap)
        return ata_bmdma_port_start(ap);
 }
 
-static struct scsi_host_template pacpi_sht = {
+static const struct scsi_host_template pacpi_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 76ad0e7..bb790ed 100644 (file)
@@ -355,7 +355,7 @@ static void ali_c2_c3_postreset(struct ata_link *link, unsigned int *classes)
        ata_sff_postreset(link, classes);
 }
 
-static struct scsi_host_template ali_sht = {
+static const struct scsi_host_template ali_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index f216f9d..5b02b89 100644 (file)
@@ -388,7 +388,7 @@ static void nv_host_stop(struct ata_host *host)
        pci_write_config_dword(to_pci_dev(host->dev), 0x60, udma);
 }
 
-static struct scsi_host_template amd_sht = {
+static const struct scsi_host_template amd_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index e89617e..6ab2943 100644 (file)
@@ -218,7 +218,7 @@ struct arasan_cf_dev {
        struct ata_queued_cmd *qc;
 };
 
-static struct scsi_host_template arasan_cf_sht = {
+static const struct scsi_host_template arasan_cf_sht = {
        ATA_BASE_SHT(DRIVER_NAME),
        .dma_boundary = 0xFFFFFFFFUL,
 };
index 20a8f31..4054428 100644 (file)
@@ -292,7 +292,7 @@ static int artop6210_qc_defer(struct ata_queued_cmd *qc)
        return 0;
 }
 
-static struct scsi_host_template artop_sht = {
+static const struct scsi_host_template artop_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index efdb94c..8c5cc80 100644 (file)
@@ -251,7 +251,7 @@ static void atiixp_bmdma_stop(struct ata_queued_cmd *qc)
        ata_bmdma_stop(qc);
 }
 
-static struct scsi_host_template atiixp_sht = {
+static const struct scsi_host_template atiixp_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = LIBATA_DUMB_MAX_PRD,
        .dma_boundary           = ATA_DMA_BOUNDARY,
index 779d660..aaef592 100644 (file)
@@ -259,7 +259,7 @@ static int atp867x_cable_detect(struct ata_port *ap)
        return ATA_CBL_PATA_UNK;
 }
 
-static struct scsi_host_template atp867x_sht = {
+static const struct scsi_host_template atp867x_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 27d4c41..49bc619 100644 (file)
@@ -57,7 +57,7 @@ static unsigned int xsurf_bases[2] = {
        XSURF_BASE1, XSURF_BASE2
 };
 
-static struct scsi_host_template pata_buddha_sht = {
+static const struct scsi_host_template pata_buddha_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 1a3372a..45a7217 100644 (file)
@@ -172,7 +172,7 @@ static bool cmd640_sff_irq_check(struct ata_port *ap)
        return irq_stat & irq_mask;
 }
 
-static struct scsi_host_template cmd640_sht = {
+static const struct scsi_host_template cmd640_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 5baa4a7..fafea2b 100644 (file)
@@ -319,7 +319,7 @@ static void cmd646r1_bmdma_stop(struct ata_queued_cmd *qc)
        ata_bmdma_stop(qc);
 }
 
-static struct scsi_host_template cmd64x_sht = {
+static const struct scsi_host_template cmd64x_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index f4289a5..422d427 100644 (file)
@@ -94,7 +94,7 @@ static void cs5520_set_piomode(struct ata_port *ap, struct ata_device *adev)
        cs5520_set_timings(ap, adev, adev->pio_mode);
 }
 
-static struct scsi_host_template cs5520_sht = {
+static const struct scsi_host_template cs5520_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = LIBATA_DUMB_MAX_PRD,
        .dma_boundary           = ATA_DMA_BOUNDARY,
index d5b7ac1..1e67b0f 100644 (file)
@@ -146,7 +146,7 @@ static unsigned int cs5530_qc_issue(struct ata_queued_cmd *qc)
        return ata_bmdma_qc_issue(qc);
 }
 
-static struct scsi_host_template cs5530_sht = {
+static const struct scsi_host_template cs5530_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize   = LIBATA_DUMB_MAX_PRD,
        .dma_boundary   = ATA_DMA_BOUNDARY,
index c2c3238..d793fc4 100644 (file)
@@ -141,7 +141,7 @@ static void cs5535_set_dmamode(struct ata_port *ap, struct ata_device *adev)
        wrmsr(ATAC_CH0D0_DMA + 2 * adev->devno, reg, 0);
 }
 
-static struct scsi_host_template cs5535_sht = {
+static const struct scsi_host_template cs5535_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index ab47aeb..b811efd 100644 (file)
@@ -217,7 +217,7 @@ static void cs5536_set_dmamode(struct ata_port *ap, struct ata_device *adev)
        cs5536_write(pdev, ETC, etc);
 }
 
-static struct scsi_host_template cs5536_sht = {
+static const struct scsi_host_template cs5536_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 3be5d52..ae347b5 100644 (file)
@@ -115,7 +115,7 @@ static void cy82c693_set_dmamode(struct ata_port *ap, struct ata_device *adev)
        outb(0x50, 0x23);
 }
 
-static struct scsi_host_template cy82c693_sht = {
+static const struct scsi_host_template cy82c693_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 21da59f..2e6eccf 100644 (file)
@@ -234,7 +234,7 @@ static void efar_set_dmamode (struct ata_port *ap, struct ata_device *adev)
        spin_unlock_irqrestore(&efar_lock, flags);
 }
 
-static struct scsi_host_template efar_sht = {
+static const struct scsi_host_template efar_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 47845d9..c6e043e 100644 (file)
@@ -872,7 +872,7 @@ static int ep93xx_pata_port_start(struct ata_port *ap)
        return 0;
 }
 
-static struct scsi_host_template ep93xx_pata_sht = {
+static const struct scsi_host_template ep93xx_pata_sht = {
        ATA_BASE_SHT(DRV_NAME),
        /* ep93xx dma implementation limit */
        .sg_tablesize           = 32,
index 823c886..996516e 100644 (file)
@@ -33,7 +33,7 @@
 #define DRV_NAME "pata_falcon"
 #define DRV_VERSION "0.1.0"
 
-static struct scsi_host_template pata_falcon_sht = {
+static const struct scsi_host_template pata_falcon_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 88924b5..6f6734c 100644 (file)
@@ -84,7 +84,7 @@ struct ftide010 {
 #define FTIDE010_CLK_MOD_DEV0_UDMA_EN  BIT(4)
 #define FTIDE010_CLK_MOD_DEV1_UDMA_EN  BIT(5)
 
-static struct scsi_host_template pata_ftide010_sht = {
+static const struct scsi_host_template pata_ftide010_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 65bc9f3..e5aa07f 100644 (file)
@@ -35,7 +35,7 @@
 
 #define GAYLE_CONTROL  0x101a
 
-static struct scsi_host_template pata_gayle_sht = {
+static const struct scsi_host_template pata_gayle_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 7e441fb..bdccd1b 100644 (file)
@@ -312,7 +312,7 @@ static int hpt366_prereset(struct ata_link *link, unsigned long deadline)
        return ata_sff_prereset(link, deadline);
 }
 
-static struct scsi_host_template hpt36x_sht = {
+static const struct scsi_host_template hpt36x_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index ce3c5ea..c0329cf 100644 (file)
@@ -526,7 +526,7 @@ static void hpt37x_bmdma_stop(struct ata_queued_cmd *qc)
 }
 
 
-static struct scsi_host_template hpt37x_sht = {
+static const struct scsi_host_template hpt37x_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 617c955..5b1eccc 100644 (file)
@@ -337,7 +337,7 @@ static unsigned int hpt3x2n_qc_issue(struct ata_queued_cmd *qc)
        return ata_bmdma_qc_issue(qc);
 }
 
-static struct scsi_host_template hpt3x2n_sht = {
+static const struct scsi_host_template hpt3x2n_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 83974d5..d65c586 100644 (file)
@@ -136,7 +136,7 @@ static int hpt3x3_atapi_dma(struct ata_queued_cmd *qc)
 
 #endif /* CONFIG_PATA_HPT3X3_DMA */
 
-static struct scsi_host_template hpt3x3_sht = {
+static const struct scsi_host_template hpt3x3_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 498383c..9cfb064 100644 (file)
@@ -298,7 +298,7 @@ static int icside_dma_init(struct pata_icside_info *info)
 }
 
 
-static struct scsi_host_template pata_icside_sht = {
+static const struct scsi_host_template pata_icside_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = SG_MAX_SEGMENTS,
        .dma_boundary           = IOMD_DMA_BOUNDARY,
index 1509392..4013f28 100644 (file)
@@ -97,7 +97,7 @@ static void pata_imx_set_piomode(struct ata_port *ap, struct ata_device *adev)
        __raw_writel(val, priv->host_regs + PATA_IMX_ATA_CONTROL);
 }
 
-static struct scsi_host_template pata_imx_sht = {
+static const struct scsi_host_template pata_imx_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 43bb224..25a63d0 100644 (file)
@@ -20,7 +20,7 @@
 #define DRV_NAME "pata_isapnp"
 #define DRV_VERSION "0.2.5"
 
-static struct scsi_host_template isapnp_sht = {
+static const struct scsi_host_template isapnp_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 8a3e877..b7ac561 100644 (file)
@@ -228,7 +228,7 @@ static void it8213_set_dmamode (struct ata_port *ap, struct ata_device *adev)
        pci_write_config_byte(dev, 0x48, udma_enable);
 }
 
-static struct scsi_host_template it8213_sht = {
+static const struct scsi_host_template it8213_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 8a5b4e0..2fe3fb6 100644 (file)
@@ -800,7 +800,7 @@ static int it821x_rdc_cable(struct ata_port *ap)
        return ATA_CBL_PATA80;
 }
 
-static struct scsi_host_template it821x_sht = {
+static const struct scsi_host_template it821x_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index e225913..9a2c1b6 100644 (file)
@@ -173,7 +173,7 @@ static unsigned int ixp4xx_mmio_data_xfer(struct ata_queued_cmd *qc,
        return words << 1;
 }
 
-static struct scsi_host_template ixp4xx_sht = {
+static const struct scsi_host_template ixp4xx_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index d1b3ce8..f51fb82 100644 (file)
@@ -107,7 +107,7 @@ static int jmicron_pre_reset(struct ata_link *link, unsigned long deadline)
 
 /* No PIO or DMA methods needed for this device */
 
-static struct scsi_host_template jmicron_sht = {
+static const struct scsi_host_template jmicron_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 03c5806..448a511 100644 (file)
@@ -250,7 +250,7 @@ static int legacy_set_mode(struct ata_link *link, struct ata_device **unused)
        return 0;
 }
 
-static struct scsi_host_template legacy_sht = {
+static const struct scsi_host_template legacy_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 9ccaac9..c4d86ea 100644 (file)
@@ -908,7 +908,7 @@ static int pata_macio_do_resume(struct pata_macio_priv *priv)
 }
 #endif /* CONFIG_PM_SLEEP */
 
-static struct scsi_host_template pata_macio_sht = {
+static const struct scsi_host_template pata_macio_sht = {
        __ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = MAX_DCMDS,
        /* We may not need that strict one */
index 014ccb0..8119caa 100644 (file)
@@ -92,7 +92,7 @@ static int marvell_cable_detect(struct ata_port *ap)
 
 /* No PIO or DMA methods needed for this device */
 
-static struct scsi_host_template marvell_sht = {
+static const struct scsi_host_template marvell_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 3ebd652..66c9dea 100644 (file)
@@ -606,7 +606,7 @@ mpc52xx_ata_task_irq(int irq, void *vpriv)
        return IRQ_HANDLED;
 }
 
-static struct scsi_host_template mpc52xx_ata_sht = {
+static const struct scsi_host_template mpc52xx_ata_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 8fda0e3..69e4baf 100644 (file)
@@ -136,7 +136,7 @@ static unsigned int mpiix_qc_issue(struct ata_queued_cmd *qc)
        return ata_sff_qc_issue(qc);
 }
 
-static struct scsi_host_template mpiix_sht = {
+static const struct scsi_host_template mpiix_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 06929e7..c0b2897 100644 (file)
@@ -31,7 +31,7 @@ static unsigned int netcell_read_id(struct ata_device *adev,
        return err_mask;
 }
 
-static struct scsi_host_template netcell_sht = {
+static const struct scsi_host_template netcell_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index f9255d6..76a9101 100644 (file)
@@ -77,7 +77,7 @@ static void ninja32_dev_select(struct ata_port *ap, unsigned int device)
        }
 }
 
-static struct scsi_host_template ninja32_sht = {
+static const struct scsi_host_template ninja32_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index ca3ab27..44cc24d 100644 (file)
@@ -114,7 +114,7 @@ static unsigned int ns87410_qc_issue(struct ata_queued_cmd *qc)
        return ata_sff_qc_issue(qc);
 }
 
-static struct scsi_host_template ns87410_sht = {
+static const struct scsi_host_template ns87410_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 9dd6bff..d60e1f6 100644 (file)
@@ -320,7 +320,7 @@ static struct ata_port_operations ns87560_pata_ops = {
 };
 #endif
 
-static struct scsi_host_template ns87415_sht = {
+static const struct scsi_host_template ns87415_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 4cbcdc5..b1ce9f1 100644 (file)
@@ -58,7 +58,7 @@ struct octeon_cf_port {
        u64 dma_base;
 };
 
-static struct scsi_host_template octeon_cf_sht = {
+static const struct scsi_host_template octeon_cf_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index ac5a633..178b28e 100644 (file)
@@ -15,7 +15,7 @@
 
 #define DRV_NAME "pata_of_platform"
 
-static struct scsi_host_template pata_platform_sht = {
+static const struct scsi_host_template pata_platform_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 22a0203..dca82d9 100644 (file)
@@ -204,7 +204,7 @@ static unsigned int oldpiix_qc_issue(struct ata_queued_cmd *qc)
 }
 
 
-static struct scsi_host_template oldpiix_sht = {
+static const struct scsi_host_template oldpiix_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 01976c4..3d23f57 100644 (file)
@@ -148,7 +148,7 @@ static void opti_set_piomode(struct ata_port *ap, struct ata_device *adev)
        opti_write_reg(ap, 0x85, CNTRL_REG);
 }
 
-static struct scsi_host_template opti_sht = {
+static const struct scsi_host_template opti_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index ad1090b..dfc36b4 100644 (file)
@@ -334,7 +334,7 @@ static int optidma_set_mode(struct ata_link *link, struct ata_device **r_failed)
        return rc;
 }
 
-static struct scsi_host_template optidma_sht = {
+static const struct scsi_host_template optidma_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 294a266..02a6231 100644 (file)
@@ -398,7 +398,7 @@ static struct device pata_parport_bus = {
        .release = pata_parport_bus_release,
 };
 
-static struct scsi_host_template pata_parport_sht = {
+static const struct scsi_host_template pata_parport_sht = {
        PATA_PARPORT_SHT("pata_parport")
 };
 
index 8eb066a..5b60220 100644 (file)
@@ -132,7 +132,7 @@ static void pcmcia_8bit_drain_fifo(struct ata_queued_cmd *qc)
 
 }
 
-static struct scsi_host_template pcmcia_sht = {
+static const struct scsi_host_template pcmcia_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index 4191aa6..6820c55 100644 (file)
@@ -122,7 +122,7 @@ static struct pci_driver pdc2027x_pci_driver = {
 #endif
 };
 
-static struct scsi_host_template pdc2027x_sht = {
+static const struct scsi_host_template pdc2027x_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index f894ff2..a32723e 100644 (file)
@@ -289,7 +289,7 @@ static int pdc2026x_check_atapi_dma(struct ata_queued_cmd *qc)
        return 1;
 }
 
-static struct scsi_host_template pdc202xx_sht = {
+static const struct scsi_host_template pdc202xx_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 389b63b..ced906b 100644 (file)
@@ -62,7 +62,7 @@ static void tosh_set_dmamode(struct ata_port *ap, struct ata_device *adev)
 }
 
 
-static struct scsi_host_template tosh_sht = {
+static const struct scsi_host_template tosh_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 21fb059..87479bc 100644 (file)
@@ -45,7 +45,7 @@ static int pata_platform_set_mode(struct ata_link *link, struct ata_device **unu
        return 0;
 }
 
-static struct scsi_host_template pata_platform_sht = {
+static const struct scsi_host_template pata_platform_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
@@ -97,7 +97,7 @@ static void pata_platform_setup_port(struct ata_ioports *ioaddr,
 int __pata_platform_probe(struct device *dev, struct resource *io_res,
                          struct resource *ctl_res, struct resource *irq_res,
                          unsigned int ioport_shift, int __pio_mask,
-                         struct scsi_host_template *sht, bool use16bit)
+                         const struct scsi_host_template *sht, bool use16bit)
 {
        struct ata_host *host;
        struct ata_port *ap;
index 985f42c..ea402e0 100644 (file)
@@ -136,7 +136,7 @@ static int pxa_check_atapi_dma(struct ata_queued_cmd *qc)
        return -EOPNOTSUPP;
 }
 
-static struct scsi_host_template pxa_ata_sht = {
+static const struct scsi_host_template pxa_ata_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 3aca8fe..84b0010 100644 (file)
@@ -183,7 +183,7 @@ static unsigned int radisys_qc_issue(struct ata_queued_cmd *qc)
 }
 
 
-static struct scsi_host_template radisys_sht = {
+static const struct scsi_host_template radisys_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 2e110ae..3974d29 100644 (file)
@@ -73,7 +73,7 @@ static struct ata_port_operations rb532_pata_port_ops = {
 
 /* ------------------------------------------------------------------------ */
 
-static struct scsi_host_template rb532_pata_sht = {
+static const struct scsi_host_template rb532_pata_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index ecb229c..0a96898 100644 (file)
@@ -288,7 +288,7 @@ static const struct ata_port_info rdc_port_info = {
        .port_ops       = &rdc_pata_ops,
 };
 
-static struct scsi_host_template rdc_sht = {
+static const struct scsi_host_template rdc_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index fb00c3e..8e26067 100644 (file)
@@ -50,7 +50,7 @@ static int rz1000_set_mode(struct ata_link *link, struct ata_device **unused)
 }
 
 
-static struct scsi_host_template rz1000_sht = {
+static const struct scsi_host_template rz1000_sht = {
        ATA_PIO_SHT(DRV_NAME),
 };
 
index f28daf6..a388dfb 100644 (file)
@@ -192,7 +192,7 @@ static int sc1200_qc_defer(struct ata_queued_cmd *qc)
        return 0;
 }
 
-static struct scsi_host_template sc1200_sht = {
+static const struct scsi_host_template sc1200_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize   = LIBATA_DUMB_MAX_PRD,
        .dma_boundary   = ATA_DMA_BOUNDARY,
index 4f9c2ae..8356f1f 100644 (file)
@@ -57,7 +57,7 @@ static struct pci_driver sch_pci_driver = {
 #endif
 };
 
-static struct scsi_host_template sch_sht = {
+static const struct scsi_host_template sch_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index c0bc4af..549ff24 100644 (file)
@@ -252,13 +252,13 @@ static void serverworks_set_dmamode(struct ata_port *ap, struct ata_device *adev
        pci_write_config_byte(pdev, 0x54, ultra_cfg);
 }
 
-static struct scsi_host_template serverworks_osb4_sht = {
+static const struct scsi_host_template serverworks_osb4_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize   = LIBATA_DUMB_MAX_PRD,
        .dma_boundary   = ATA_DMA_BOUNDARY,
 };
 
-static struct scsi_host_template serverworks_csb_sht = {
+static const struct scsi_host_template serverworks_csb_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
@@ -413,7 +413,7 @@ static int serverworks_init_one(struct pci_dev *pdev, const struct pci_device_id
                }
        };
        const struct ata_port_info *ppi[] = { &info[id->driver_data], NULL };
-       struct scsi_host_template *sht = &serverworks_csb_sht;
+       const struct scsi_host_template *sht = &serverworks_csb_sht;
        int rc;
 
        rc = pcim_enable_device(pdev);
index 67ef2e2..abe64b5 100644 (file)
@@ -223,7 +223,7 @@ static bool sil680_sff_irq_check(struct ata_port *ap)
        return val & 0x08;
 }
 
-static struct scsi_host_template sil680_sht = {
+static const struct scsi_host_template sil680_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 92e4cf0..31de06b 100644 (file)
@@ -539,7 +539,7 @@ static unsigned int sis_133_mode_filter(struct ata_device *adev, unsigned int ma
        return mask;
 }
 
-static struct scsi_host_template sis_sht = {
+static const struct scsi_host_template sis_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 8487470..3b62ea4 100644 (file)
@@ -238,7 +238,7 @@ static bool sl82c105_sff_irq_check(struct ata_port *ap)
        return val & mask;
 }
 
-static struct scsi_host_template sl82c105_sht = {
+static const struct scsi_host_template sl82c105_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 782162d..26d448a 100644 (file)
@@ -160,7 +160,7 @@ static void triflex_bmdma_stop(struct ata_queued_cmd *qc)
        triflex_load_timing(qc->ap, qc->dev, qc->dev->pio_mode);
 }
 
-static struct scsi_host_template triflex_sht = {
+static const struct scsi_host_template triflex_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 34f00f3..696b997 100644 (file)
@@ -443,7 +443,7 @@ static int via_port_start(struct ata_port *ap)
        return 0;
 }
 
-static struct scsi_host_template via_sht = {
+static const struct scsi_host_template via_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 35b823a..8e6b259 100644 (file)
@@ -123,7 +123,7 @@ static void adma_freeze(struct ata_port *ap);
 static void adma_thaw(struct ata_port *ap);
 static int adma_prereset(struct ata_link *link, unsigned long deadline);
 
-static struct scsi_host_template adma_ata_sht = {
+static const struct scsi_host_template adma_ata_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = LIBATA_MAX_PRD,
        .dma_boundary           = ADMA_DMA_BOUNDARY,
index 21d7763..24334a8 100644 (file)
@@ -1076,7 +1076,7 @@ static void sata_dwc_dev_select(struct ata_port *ap, unsigned int device)
 /*
  * scsi mid-layer and libata interface structures
  */
-static struct scsi_host_template sata_dwc_sht = {
+static const struct scsi_host_template sata_dwc_sht = {
        ATA_NCQ_SHT(DRV_NAME),
        /*
         * test-only: Currently this driver doesn't handle NCQ
index b052c5a..ccd99b9 100644 (file)
@@ -1376,7 +1376,7 @@ static void sata_fsl_host_stop(struct ata_host *host)
 /*
  * scsi mid-layer and libata interface structures
  */
-static struct scsi_host_template sata_fsl_sht = {
+static const struct scsi_host_template sata_fsl_sht = {
        ATA_NCQ_SHT_QD("sata_fsl", SATA_FSL_QUEUE_DEPTH),
        .sg_tablesize = SATA_FSL_MAX_PRD_USABLE,
        .dma_boundary = ATA_DMA_BOUNDARY,
index dfbf949..8237ece 100644 (file)
@@ -438,7 +438,7 @@ static const struct ata_port_info ahci_highbank_port_info = {
        .port_ops       = &ahci_highbank_ops,
 };
 
-static struct scsi_host_template ahci_highbank_platform_sht = {
+static const struct scsi_host_template ahci_highbank_platform_sht = {
        AHCI_SHT("sata_highbank"),
 };
 
index 2833c72..2c8c78e 100644 (file)
@@ -242,7 +242,7 @@ struct inic_port_priv {
        dma_addr_t      cpb_tbl_dma;
 };
 
-static struct scsi_host_template inic_sht = {
+static const struct scsi_host_template inic_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = LIBATA_MAX_PRD, /* maybe it can be larger? */
 
index e3cff01..d404e63 100644 (file)
@@ -659,13 +659,13 @@ static u8 mv_sff_check_status(struct ata_port *ap);
  * PRDs for 64K boundaries in mv_fill_sg().
  */
 #ifdef CONFIG_PCI
-static struct scsi_host_template mv5_sht = {
+static const struct scsi_host_template mv5_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = MV_MAX_SG_CT / 2,
        .dma_boundary           = MV_DMA_BOUNDARY,
 };
 #endif
-static struct scsi_host_template mv6_sht = {
+static const struct scsi_host_template mv6_sht = {
        __ATA_BASE_SHT(DRV_NAME),
        .can_queue              = MV_MAX_Q_DEPTH - 1,
        .sg_tablesize           = MV_MAX_SG_CT / 2,
index 9b2d289..abf5651 100644 (file)
@@ -371,11 +371,11 @@ static struct pci_driver nv_pci_driver = {
        .remove                 = ata_pci_remove_one,
 };
 
-static struct scsi_host_template nv_sht = {
+static const struct scsi_host_template nv_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
-static struct scsi_host_template nv_adma_sht = {
+static const struct scsi_host_template nv_adma_sht = {
        __ATA_BASE_SHT(DRV_NAME),
        .can_queue              = NV_ADMA_MAX_CPBS,
        .sg_tablesize           = NV_ADMA_SGTBL_TOTAL_LEN,
@@ -386,7 +386,7 @@ static struct scsi_host_template nv_adma_sht = {
        .tag_alloc_policy       = BLK_TAG_ALLOC_RR,
 };
 
-static struct scsi_host_template nv_swncq_sht = {
+static const struct scsi_host_template nv_swncq_sht = {
        __ATA_BASE_SHT(DRV_NAME),
        .can_queue              = ATA_MAX_QUEUE - 1,
        .sg_tablesize           = LIBATA_MAX_PRD,
@@ -520,7 +520,7 @@ static struct ata_port_operations nv_swncq_ops = {
 
 struct nv_pi_priv {
        irq_handler_t                   irq_handler;
-       struct scsi_host_template       *sht;
+       const struct scsi_host_template *sht;
 };
 
 #define NV_PI_PRIV(_irq_handler, _sht) \
index 4e60e6c..2df1a07 100644 (file)
@@ -158,7 +158,7 @@ static void pdc_error_handler(struct ata_port *ap);
 static void pdc_post_internal_cmd(struct ata_queued_cmd *qc);
 static int pdc_pata_cable_detect(struct ata_port *ap);
 
-static struct scsi_host_template pdc_ata_sht = {
+static const struct scsi_host_template pdc_ata_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = PDC_MAX_PRD,
        .dma_boundary           = ATA_DMA_BOUNDARY,
index 8ca0810..8a62861 100644 (file)
@@ -108,7 +108,7 @@ static void qs_thaw(struct ata_port *ap);
 static int qs_prereset(struct ata_link *link, unsigned long deadline);
 static void qs_error_handler(struct ata_port *ap);
 
-static struct scsi_host_template qs_ata_sht = {
+static const struct scsi_host_template qs_ata_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = QS_MAX_PRD,
        .dma_boundary           = QS_DMA_BOUNDARY,
index 0195eb2..34790f1 100644 (file)
@@ -608,7 +608,7 @@ static u8 sata_rcar_bmdma_status(struct ata_port *ap)
        return host_stat;
 }
 
-static struct scsi_host_template sata_rcar_sht = {
+static const struct scsi_host_template sata_rcar_sht = {
        ATA_BASE_SHT(DRV_NAME),
        /*
         * This controller allows transfer chunks up to 512MB which cross 64KB
index 3b989a5..cc77c02 100644 (file)
@@ -156,7 +156,7 @@ static struct pci_driver sil_pci_driver = {
 #endif
 };
 
-static struct scsi_host_template sil_sht = {
+static const struct scsi_host_template sil_sht = {
        ATA_BASE_SHT(DRV_NAME),
        /** These controllers support Large Block Transfer which allows
            transfer chunks up to 2GB and which cross 64KB boundaries,
index 22cc9e9..e72a025 100644 (file)
@@ -373,7 +373,7 @@ static struct pci_driver sil24_pci_driver = {
 #endif
 };
 
-static struct scsi_host_template sil24_sht = {
+static const struct scsi_host_template sil24_sht = {
        __ATA_BASE_SHT(DRV_NAME),
        .can_queue              = SIL24_MAX_CMDS,
        .sg_tablesize           = SIL24_MAX_SGE,
index 3162373..ef87249 100644 (file)
@@ -72,7 +72,7 @@ static struct pci_driver sis_pci_driver = {
 #endif
 };
 
-static struct scsi_host_template sis_sht = {
+static const struct scsi_host_template sis_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 2e3418a..c47c3fb 100644 (file)
@@ -330,7 +330,7 @@ static int k2_sata_show_info(struct seq_file *m, struct Scsi_Host *shost)
        return 0;
 }
 
-static struct scsi_host_template k2_sata_sht = {
+static const struct scsi_host_template k2_sata_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
        .show_info              = k2_sata_show_info,
 };
index a92c604..ccc0160 100644 (file)
@@ -226,7 +226,7 @@ static void pdc_post_internal_cmd(struct ata_queued_cmd *qc);
 static int pdc_check_atapi_dma(struct ata_queued_cmd *qc);
 
 
-static struct scsi_host_template pdc_sata_sht = {
+static const struct scsi_host_template pdc_sata_sht = {
        ATA_BASE_SHT(DRV_NAME),
        .sg_tablesize           = LIBATA_MAX_PRD,
        .dma_boundary           = ATA_DMA_BOUNDARY,
index 815e6af..60ea459 100644 (file)
@@ -59,7 +59,7 @@ static struct pci_driver uli_pci_driver = {
        .remove                 = ata_pci_remove_one,
 };
 
-static struct scsi_host_template uli_sht = {
+static const struct scsi_host_template uli_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index c7891cc..57cbf2c 100644 (file)
@@ -107,7 +107,7 @@ static struct pci_driver svia_pci_driver = {
        .remove                 = ata_pci_remove_one,
 };
 
-static struct scsi_host_template svia_sht = {
+static const struct scsi_host_template svia_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 87e4ed6..d39b875 100644 (file)
@@ -277,7 +277,7 @@ out:
 }
 
 
-static struct scsi_host_template vsc_sata_sht = {
+static const struct scsi_host_template vsc_sata_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
index 17fa262..fe0760c 100644 (file)
@@ -37,7 +37,7 @@ struct ahci_host_priv *ahci_platform_get_resources(
 int ahci_platform_init_host(struct platform_device *pdev,
                            struct ahci_host_priv *hpriv,
                            const struct ata_port_info *pi_template,
-                           struct scsi_host_template *sht);
+                           const struct scsi_host_template *sht);
 
 void ahci_platform_shutdown(struct platform_device *pdev);
 
index 9cafec9..b9745cc 100644 (file)
@@ -19,7 +19,7 @@ extern int __pata_platform_probe(struct device *dev,
                                 struct resource *irq_res,
                                 unsigned int ioport_shift,
                                 int __pio_mask,
-                                struct scsi_host_template *sht,
+                                const struct scsi_host_template *sht,
                                 bool use16bit);
 
 /*
index a759dfb..311cd93 100644 (file)
@@ -1065,10 +1065,10 @@ extern void ata_host_get(struct ata_host *host);
 extern void ata_host_put(struct ata_host *host);
 extern int ata_host_start(struct ata_host *host);
 extern int ata_host_register(struct ata_host *host,
-                            struct scsi_host_template *sht);
+                            const struct scsi_host_template *sht);
 extern int ata_host_activate(struct ata_host *host, int irq,
                             irq_handler_t irq_handler, unsigned long irq_flags,
-                            struct scsi_host_template *sht);
+                            const struct scsi_host_template *sht);
 extern void ata_host_detach(struct ata_host *host);
 extern void ata_host_init(struct ata_host *, struct device *, struct ata_port_operations *);
 extern int ata_scsi_detect(struct scsi_host_template *sht);
@@ -1980,10 +1980,10 @@ extern int ata_pci_sff_prepare_host(struct pci_dev *pdev,
                                    struct ata_host **r_host);
 extern int ata_pci_sff_activate_host(struct ata_host *host,
                                     irq_handler_t irq_handler,
-                                    struct scsi_host_template *sht);
+                                    const struct scsi_host_template *sht);
 extern int ata_pci_sff_init_one(struct pci_dev *pdev,
                const struct ata_port_info * const * ppi,
-               struct scsi_host_template *sht, void *host_priv, int hflags);
+               const struct scsi_host_template *sht, void *host_priv, int hflags);
 #endif /* CONFIG_PCI */
 
 #ifdef CONFIG_ATA_BMDMA
@@ -2019,7 +2019,7 @@ extern int ata_pci_bmdma_prepare_host(struct pci_dev *pdev,
                                      struct ata_host **r_host);
 extern int ata_pci_bmdma_init_one(struct pci_dev *pdev,
                                  const struct ata_port_info * const * ppi,
-                                 struct scsi_host_template *sht,
+                                 const struct scsi_host_template *sht,
                                  void *host_priv, int hflags);
 #endif /* CONFIG_PCI */
 #endif /* CONFIG_ATA_BMDMA */