mirror of
https://github.com/SCST-project/scst.git
synced 2026-10-22 06:02:33 +00:00
qla2x00t-32gbit: Use 64-bit max LUNs when supported
The Linux 3.10 backport selected uint unconditionally for ql2xmaxlun, limiting the module parameter to 32 bits even on current kernels. Select uint only when param_check_ullong is absent from the kernel's module parameter API. Otherwise retain the upstream uint64_t/ullong type. Use the same feature check for the extern declaration so all driver translation units agree, including vendor kernels with this API backported. The default value and existing 16-bit limit for older HBAs are unchanged.
This commit is contained in:
@@ -176,7 +176,7 @@ extern int ql2xgffidenable;
|
||||
extern int ql2xenabledif;
|
||||
extern int ql2xenablehba_err_chk;
|
||||
extern int ql2xdontresethba;
|
||||
#if 1
|
||||
#ifndef param_check_ullong
|
||||
extern uint ql2xmaxlun;
|
||||
#else
|
||||
extern uint64_t ql2xmaxlun;
|
||||
|
||||
@@ -243,7 +243,8 @@ MODULE_PARM_DESC(ql2xdontresethba,
|
||||
" 0 (Default) -- Reset on failure.\n"
|
||||
" 1 -- Do not reset on failure.\n");
|
||||
|
||||
#if 1
|
||||
/* Older kernels may lack the ullong module parameter type. */
|
||||
#ifndef param_check_ullong
|
||||
uint ql2xmaxlun = MAX_LUNS;
|
||||
module_param(ql2xmaxlun, uint, S_IRUGO);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user