linux/drivers/scsi/aic94xx/aic94xx_init.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Aic94xx SAS/SATA driver initialization.
 *
 * Copyright (C) 2005 Adaptec, Inc.  All rights reserved.
 * Copyright (C) 2005 Luben Tuikov <[email protected]>
 */

#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/firmware.h>
#include <linux/slab.h>

#include <scsi/sas_ata.h>
#include <scsi/scsi_host.h>

#include "aic94xx.h"
#include "aic94xx_reg.h"
#include "aic94xx_hwi.h"
#include "aic94xx_seq.h"
#include "aic94xx_sds.h"

/* The format is "version.release.patchlevel" */
#define ASD_DRIVER_VERSION
#define DRV_NAME

static int use_msi =;
module_param_named(use_msi, use_msi, int, S_IRUGO);
MODULE_PARM_DESC();

static struct scsi_transport_template *aic94xx_transport_template;
static int asd_scan_finished(struct Scsi_Host *, unsigned long);
static void asd_scan_start(struct Scsi_Host *);
static const struct attribute_group *asd_sdev_groups[];

static const struct scsi_host_template aic94xx_sht =;

static int asd_map_memio(struct asd_ha_struct *asd_ha)
{}

static void asd_unmap_memio(struct asd_ha_struct *asd_ha)
{}

static int asd_map_ioport(struct asd_ha_struct *asd_ha)
{}

static void asd_unmap_ioport(struct asd_ha_struct *asd_ha)
{}

static int asd_map_ha(struct asd_ha_struct *asd_ha)
{}

static void asd_unmap_ha(struct asd_ha_struct *asd_ha)
{}

static const char *asd_dev_rev[30] =;

static int asd_common_setup(struct asd_ha_struct *asd_ha)
{}

static int asd_aic9410_setup(struct asd_ha_struct *asd_ha)
{}

static int asd_aic9405_setup(struct asd_ha_struct *asd_ha)
{}

static ssize_t asd_show_dev_rev(struct device *dev,
				struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR(aic_revision, S_IRUGO, asd_show_dev_rev, NULL);

static ssize_t asd_show_dev_bios_build(struct device *dev,
				       struct device_attribute *attr,char *buf)
{}
static DEVICE_ATTR(bios_build, S_IRUGO, asd_show_dev_bios_build, NULL);

static ssize_t asd_show_dev_pcba_sn(struct device *dev,
				    struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR(pcba_sn, S_IRUGO, asd_show_dev_pcba_sn, NULL);

#define FLASH_CMD_NONE
#define FLASH_CMD_UPDATE
#define FLASH_CMD_VERIFY

struct flash_command {};

static struct flash_command flash_command_table[] =;

struct error_bios {};

static struct error_bios flash_error_table[] =;

static ssize_t asd_store_update_bios(struct device *dev,
	struct device_attribute *attr,
	const char *buf, size_t count)
{}

static ssize_t asd_show_update_bios(struct device *dev,
				    struct device_attribute *attr, char *buf)
{}

static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUSR,
	asd_show_update_bios, asd_store_update_bios);

static int asd_create_dev_attrs(struct asd_ha_struct *asd_ha)
{}

static void asd_remove_dev_attrs(struct asd_ha_struct *asd_ha)
{}

/* The first entry, 0, is used for dynamic ids, the rest for devices
 * we know about.
 */
static const struct asd_pcidev_struct {} asd_pcidev_data[] =;

static int asd_create_ha_caches(struct asd_ha_struct *asd_ha)
{}

/*
 * asd_free_edbs -- free empty data buffers
 * asd_ha: pointer to host adapter structure
 */
static void asd_free_edbs(struct asd_ha_struct *asd_ha)
{}

static void asd_free_escbs(struct asd_ha_struct *asd_ha)
{}

static void asd_destroy_ha_caches(struct asd_ha_struct *asd_ha)
{}

struct kmem_cache *asd_dma_token_cache;
struct kmem_cache *asd_ascb_cache;

static int asd_create_global_caches(void)
{}

static void asd_destroy_global_caches(void)
{}

static int asd_register_sas_ha(struct asd_ha_struct *asd_ha)
{}

static int asd_unregister_sas_ha(struct asd_ha_struct *asd_ha)
{}

static int asd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
{}

static void asd_free_queues(struct asd_ha_struct *asd_ha)
{}

static void asd_turn_off_leds(struct asd_ha_struct *asd_ha)
{}

static void asd_pci_remove(struct pci_dev *dev)
{}

static void asd_scan_start(struct Scsi_Host *shost)
{}

static int asd_scan_finished(struct Scsi_Host *shost, unsigned long time)
{}

static ssize_t version_show(struct device_driver *driver, char *buf)
{}
static DRIVER_ATTR_RO(version);

static int asd_create_driver_attrs(struct device_driver *driver)
{}

static void asd_remove_driver_attrs(struct device_driver *driver)
{}

static const struct attribute_group *asd_sdev_groups[] =;

static struct sas_domain_function_template aic94xx_transport_functions =;

static const struct pci_device_id aic94xx_pci_table[] =;

MODULE_DEVICE_TABLE(pci, aic94xx_pci_table);

static struct pci_driver aic94xx_pci_driver =;

static int __init aic94xx_init(void)
{}

static void __exit aic94xx_exit(void)
{}

module_init();
module_exit(aic94xx_exit);

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_VERSION();