#include "mv_sas.h"
int interrupt_coalescing = …;
static struct scsi_transport_template *mvs_stt;
static const struct mvs_chip_info mvs_chips[] = …;
static const struct attribute_group *mvst_host_groups[];
static const struct attribute_group *mvst_sdev_groups[];
#define SOC_SAS_NUM …
static const struct scsi_host_template mvs_sht = …;
static struct sas_domain_function_template mvs_transport_ops = …;
static void mvs_phy_init(struct mvs_info *mvi, int phy_id)
{ … }
static void mvs_free(struct mvs_info *mvi)
{ … }
#ifdef CONFIG_SCSI_MVSAS_TASKLET
static void mvs_tasklet(unsigned long opaque)
{ … }
#endif
static irqreturn_t mvs_interrupt(int irq, void *opaque)
{ … }
static int mvs_alloc(struct mvs_info *mvi, struct Scsi_Host *shost)
{ … }
int mvs_ioremap(struct mvs_info *mvi, int bar, int bar_ex)
{ … }
void mvs_iounmap(void __iomem *regs)
{ … }
static struct mvs_info *mvs_pci_alloc(struct pci_dev *pdev,
const struct pci_device_id *ent,
struct Scsi_Host *shost, unsigned int id)
{ … }
static int pci_go_64(struct pci_dev *pdev)
{ … }
static int mvs_prep_sas_ha_init(struct Scsi_Host *shost,
const struct mvs_chip_info *chip_info)
{ … }
static void mvs_post_sas_ha_init(struct Scsi_Host *shost,
const struct mvs_chip_info *chip_info)
{ … }
static void mvs_init_sas_add(struct mvs_info *mvi)
{ … }
static int mvs_pci_init(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void mvs_pci_remove(struct pci_dev *pdev)
{ … }
static struct pci_device_id mvs_pci_table[] = …;
static struct pci_driver mvs_pci_driver = …;
static DEVICE_STRING_ATTR_RO(driver_version, 0444, DRV_VERSION);
static ssize_t interrupt_coalescing_store(struct device *cdev,
struct device_attribute *attr,
const char *buffer, size_t size)
{ … }
static ssize_t interrupt_coalescing_show(struct device *cdev,
struct device_attribute *attr, char *buffer)
{ … }
static DEVICE_ATTR_RW(interrupt_coalescing);
static int __init mvs_init(void)
{ … }
static void __exit mvs_exit(void)
{ … }
static struct attribute *mvst_host_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static const struct attribute_group *mvst_sdev_groups[] = …;
module_init(…) …;
module_exit(mvs_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…);
MODULE_LICENSE(…) …;
#ifdef CONFIG_PCI
MODULE_DEVICE_TABLE(pci, mvs_pci_table);
#endif