return snprintf(buf, PAGE_SIZE, "%d\n", max_nr_virtfn);
 }
 
+static inline bool lpfc_rangecheck(uint val, uint min, uint max)
+{
+       return val >= min && val <= max;
+}
+
 /**
  * lpfc_param_show - Return a cfg attribute value in decimal
  *
 static int \
 lpfc_##attr##_init(struct lpfc_hba *phba, uint val) \
 { \
-       if (val >= minval && val <= maxval) {\
+       if (lpfc_rangecheck(val, minval, maxval)) {\
                phba->cfg_##attr = val;\
                return 0;\
        }\
 static int \
 lpfc_##attr##_set(struct lpfc_hba *phba, uint val) \
 { \
-       if (val >= minval && val <= maxval) {\
+       if (lpfc_rangecheck(val, minval, maxval)) {\
                lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
                        "3052 lpfc_" #attr " changed from %d to %d\n", \
                        phba->cfg_##attr, val); \
 static int \
 lpfc_##attr##_init(struct lpfc_vport *vport, uint val) \
 { \
-       if (val >= minval && val <= maxval) {\
+       if (lpfc_rangecheck(val, minval, maxval)) {\
                vport->cfg_##attr = val;\
                return 0;\
        }\
 static int \
 lpfc_##attr##_set(struct lpfc_vport *vport, uint val) \
 { \
-       if (val >= minval && val <= maxval) {\
+       if (lpfc_rangecheck(val, minval, maxval)) {\
                lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT, \
                        "3053 lpfc_" #attr \
                        " changed from %d (x%x) to %d (x%x)\n", \