Skip to content

Commit 14873b5

Browse files
Hao Dongdongopsiff
authored andcommitted
scsi: leapraid: Rename leapioraid to leapraid and release v2.0
The LeapRAID driver provides support for LeapRAID PCIe RAID controllers, enabling communication between the host operating system, firmware, and hardware for efficient storage management. The main source files are organized as follows: leapraid_os.c: Implements the scsi_host_template functions, PCIe device probing, and initialization routines, integrating the driver with the Linux SCSI subsystem. leapraid_func.c: Provides the core functional routines that handle low-level interactions with the controller firmware and hardware, including interrupt handling, topology management, and reset sequence processing, and other related operations. leapraid_app.c: Implements the ioctl interface, providing user-space tools access to device management and diagnostic operations. leapraid_transport.c: Interacts with the Linux SCSI transport layer to add SAS phys and ports. leapraid_func.h: Declares common data structures, constants, and function prototypes shared across the driver. leapraid.h: Provides global constants, register mappings, and interface definitions that facilitate communication between the driver and the controller firmware. The leapraid_probe function is called when the driver detects a supported LeapRAID PCIe device. It allocates and initializes the Scsi_Host structure, configures hardware and firmware interfaces, and registers the host adapter with the Linux SCSI mid-layer. After registration, the driver invokes scsi_scan_host() to initiate device discovery. The firmware then reports discovered logical and physical devices to the host through interrupt-driven events and synchronizes their operational states. leapraid_adapter is the core data structure that encapsulates all resources and runtime state information maintained during driver operation, described as follows: /** * struct leapraid_adapter - Main LeapRaid adapter structure * @list: List head for adapter management * @shost: SCSI host structure * @pdev: PCI device structure * @iomem_base: I/O memory mapped base address * @rep_msg_host_idx: Host index for reply messages * @mask_int: Interrupt masking flag * @timestamp_sync_cnt: Timestamp synchronization counter * @adapter_attr: Adapter attributes * @mem_desc: Memory descriptor * @driver_cmds: Driver commands * @dynamic_task_desc: Dynamic task descriptor * @fw_evt_s: Firmware event structure * @notification_desc: Notification descriptor * @reset_desc: Reset descriptor * @scan_dev_desc: Device scan descriptor * @access_ctrl: Access control * @fw_log_desc: Firmware log descriptor * @dev_topo: Device topology * @boot_devs: Boot devices * @smart_poll_desc: SMART polling descriptor */ struct leapraid_adapter { struct list_head list; struct Scsi_Host *shost; struct pci_dev *pdev; struct leapraid_reg_base __iomem *iomem_base; u32 rep_msg_host_idx; bool mask_int; u32 timestamp_sync_cnt; struct leapraid_adapter_attr adapter_attr; struct leapraid_mem_desc mem_desc; struct leapraid_driver_cmds driver_cmds; struct leapraid_dynamic_task_desc dynamic_task_desc; struct leapraid_fw_evt_struct fw_evt_s; struct leapraid_notification_desc notification_desc; struct leapraid_reset_desc reset_desc; struct leapraid_scan_dev_desc scan_dev_desc; struct leapraid_access_ctrl access_ctrl; struct leapraid_fw_log_desc fw_log_desc; struct leapraid_dev_topo dev_topo; struct leapraid_boot_devs boot_devs; struct leapraid_smart_poll_desc smart_poll_desc; }; Signed-off-by: Hao Dongdong <doubled@leap-io-kernel.com>
1 parent be8b47e commit 14873b5

21 files changed

Lines changed: 16161 additions & 24375 deletions

arch/arm64/configs/deepin_arm64_desktop_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1065,7 +1065,7 @@ CONFIG_MEGARAID_SAS=m
10651065
CONFIG_SCSI_3SNIC_SSSRAID=m
10661066
CONFIG_SCSI_MPT2SAS=m
10671067
CONFIG_SCSI_MPI3MR=m
1068-
CONFIG_SCSI_LEAPIORAID=m
1068+
CONFIG_SCSI_LEAPRAID=m
10691069
CONFIG_SCSI_SMARTPQI=m
10701070
CONFIG_SCSI_HISI_RAID=m
10711071
CONFIG_SCSI_HPTIOP=m

arch/loongarch/configs/deepin_loongarch_desktop_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1000,7 +1000,7 @@ CONFIG_MEGARAID_LEGACY=m
10001000
CONFIG_MEGARAID_SAS=m
10011001
CONFIG_SCSI_MPT2SAS=m
10021002
CONFIG_SCSI_MPI3MR=m
1003-
CONFIG_SCSI_LEAPIORAID=m
1003+
CONFIG_SCSI_LEAPRAID=m
10041004
CONFIG_SCSI_SMARTPQI=m
10051005
CONFIG_SCSI_HPTIOP=m
10061006
CONFIG_SCSI_BUSLOGIC=m

arch/x86/configs/deepin_x86_desktop_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1028,7 +1028,7 @@ CONFIG_MEGARAID_SAS=m
10281028
CONFIG_SCSI_3SNIC_SSSRAID=m
10291029
CONFIG_SCSI_MPT2SAS=m
10301030
CONFIG_SCSI_MPI3MR=m
1031-
CONFIG_SCSI_LEAPIORAID=m
1031+
CONFIG_SCSI_LEAPRAID=m
10321032
CONFIG_SCSI_SMARTPQI=m
10331033
CONFIG_SCSI_HISI_RAID=m
10341034
CONFIG_SCSI_HPTIOP=m

drivers/scsi/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ source "drivers/scsi/megaraid/Kconfig.megaraid"
494494
source "drivers/scsi/sssraid/Kconfig"
495495
source "drivers/scsi/mpt3sas/Kconfig"
496496
source "drivers/scsi/mpi3mr/Kconfig"
497-
source "drivers/scsi/leapioraid/Kconfig"
497+
source "drivers/scsi/leapraid/Kconfig"
498498
source "drivers/scsi/smartpqi/Kconfig"
499499
source "drivers/scsi/trustraid/Kconfig"
500500
source "drivers/scsi/hisi_raid/Kconfig"

drivers/scsi/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ obj-$(CONFIG_SCSI_BFA_FC) += bfa/
8989
obj-$(CONFIG_SCSI_CHELSIO_FCOE) += csiostor/
9090
obj-$(CONFIG_SCSI_DMX3191D) += dmx3191d.o
9191
obj-$(CONFIG_SCSI_HPSA) += hpsa.o
92+
obj-$(CONFIG_SCSI_LEAPRAID) += leapraid/
9293
obj-$(CONFIG_SCSI_SMARTPQI) += smartpqi/
9394
obj-$(CONFIG_SCSI_3SNIC_SSSRAID) += sssraid/
9495
obj-$(CONFIG_SCSI_TRUSTRAID) += trustraid/
@@ -103,7 +104,6 @@ obj-$(CONFIG_MEGARAID_SAS) += megaraid/
103104
obj-$(CONFIG_SCSI_MPT3SAS) += mpt3sas/
104105
obj-$(CONFIG_SCSI_HISI_RAID) += hisi_raid/
105106
obj-$(CONFIG_SCSI_MPI3MR) += mpi3mr/
106-
obj-$(CONFIG_SCSI_LEAPIORAID) += leapioraid/
107107
obj-$(CONFIG_SCSI_ACARD) += atp870u.o
108108
obj-$(CONFIG_SCSI_SUNESP) += esp_scsi.o sun_esp.o
109109
obj-$(CONFIG_SCSI_INITIO) += initio.o

drivers/scsi/leapioraid/Kconfig

Lines changed: 0 additions & 13 deletions
This file was deleted.

drivers/scsi/leapioraid/Makefile

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)