scsi: smartpqi: Fix BUILD_BUG_ON() statements
Add calls to the functions at the beginning driver initialization. The BUILD_BUG_ON() statements that are currently in functions named verify_structures() in the modules smartpqi_init.c and smartpqi_sis.c do not work as currently implemented. Link: https://lore.kernel.org/r/164375214355.440833.13129778749209816497.stgit@brunhilda.pdev.net Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com> Reviewed-by: Scott Teel <scott.teel@microchip.com> Reviewed-by: Scott Benesh <scott.benesh@microchip.com> Signed-off-by: Mike McGowen <Mike.McGowen@microchip.com> Signed-off-by: Don Brace <don.brace@microchip.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
c52efc9238
commit
5e6935864d
|
@ -54,6 +54,7 @@ MODULE_DESCRIPTION("Driver for Microchip Smart Family Controller version "
|
|||
MODULE_VERSION(DRIVER_VERSION);
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
static void pqi_verify_structures(void);
|
||||
static void pqi_take_ctrl_offline(struct pqi_ctrl_info *ctrl_info,
|
||||
enum pqi_ctrl_shutdown_reason ctrl_shutdown_reason);
|
||||
static void pqi_ctrl_offline_worker(struct work_struct *work);
|
||||
|
@ -9703,6 +9704,8 @@ static int __init pqi_init(void)
|
|||
int rc;
|
||||
|
||||
pr_info(DRIVER_NAME "\n");
|
||||
pqi_verify_structures();
|
||||
sis_verify_structures();
|
||||
|
||||
pqi_sas_transport_template = sas_attach_transport(&pqi_sas_transport_functions);
|
||||
if (!pqi_sas_transport_template)
|
||||
|
@ -9726,7 +9729,7 @@ static void __exit pqi_cleanup(void)
|
|||
module_init(pqi_init);
|
||||
module_exit(pqi_cleanup);
|
||||
|
||||
static void __attribute__((unused)) verify_structures(void)
|
||||
static void pqi_verify_structures(void)
|
||||
{
|
||||
BUILD_BUG_ON(offsetof(struct pqi_ctrl_registers,
|
||||
sis_host_to_ctrl_doorbell) != 0x20);
|
||||
|
|
|
@ -479,7 +479,7 @@ int sis_wait_for_fw_triage_completion(struct pqi_ctrl_info *ctrl_info)
|
|||
return rc;
|
||||
}
|
||||
|
||||
static void __attribute__((unused)) verify_structures(void)
|
||||
void sis_verify_structures(void)
|
||||
{
|
||||
BUILD_BUG_ON(offsetof(struct sis_base_struct,
|
||||
revision) != 0x0);
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#if !defined(_SMARTPQI_SIS_H)
|
||||
#define _SMARTPQI_SIS_H
|
||||
|
||||
void sis_verify_structures(void);
|
||||
int sis_wait_for_ctrl_ready(struct pqi_ctrl_info *ctrl_info);
|
||||
int sis_wait_for_ctrl_ready_resume(struct pqi_ctrl_info *ctrl_info);
|
||||
bool sis_is_firmware_running(struct pqi_ctrl_info *ctrl_info);
|
||||
|
|
Loading…
Reference in New Issue