Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /*******************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2)  * This file is part of the Emulex Linux Device Driver for         *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Fibre Channel Host Bus Adapters.                                *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  * Copyright (C) 2017-2018 Broadcom. All Rights Reserved. The term *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.     *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  * Copyright (C) 2004-2016 Emulex.  All rights reserved.           *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7)  * EMULEX and SLI are trademarks of Emulex.                        *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)  * www.broadcom.com                                                *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9)  * Portions Copyright (C) 2004-2005 Christoph Hellwig              *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)  *                                                                 *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11)  * This program is free software; you can redistribute it and/or   *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12)  * modify it under the terms of version 2 of the GNU General       *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)  * Public License as published by the Free Software Foundation.    *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)  * This program is distributed in the hope that it will be useful. *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)  * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND          *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)  * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17)  * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE      *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)  * DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)  * TO BE LEGALLY INVALID.  See the GNU General Public License for  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)  * more details, a copy of which can be found in the file COPYING  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)  * included with this package.                                     *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)  *******************************************************************/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) #define LPFC_ATTR(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) lpfc_param_init(name, defval, minval, maxval)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) #define LPFC_ATTR_R(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) lpfc_param_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) lpfc_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) #define LPFC_ATTR_RW(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) lpfc_param_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) lpfc_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) lpfc_param_set(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) lpfc_param_store(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 		   lpfc_##name##_show, lpfc_##name##_store)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) #define LPFC_BBCR_ATTR_RW(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) module_param(lpfc_##name, uint, 0444);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) lpfc_param_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) lpfc_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) lpfc_param_store(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) static DEVICE_ATTR(lpfc_##name, 0444 | 0644,\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 		   lpfc_##name##_show, lpfc_##name##_store)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) #define LPFC_ATTR_HEX_R(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) lpfc_param_hex_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) lpfc_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #define LPFC_ATTR_HEX_RW(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) lpfc_param_hex_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) lpfc_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) lpfc_param_set(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) lpfc_param_store(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 		   lpfc_##name##_show, lpfc_##name##_store)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) #define LPFC_VPORT_ATTR(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) lpfc_vport_param_init(name, defval, minval, maxval)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) #define LPFC_VPORT_ATTR_R(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) lpfc_vport_param_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) lpfc_vport_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) #define LPFC_VPORT_ULL_ATTR_R(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) static uint64_t lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) module_param(lpfc_##name, ullong, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) lpfc_vport_param_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) lpfc_vport_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) #define LPFC_VPORT_ATTR_RW(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) lpfc_vport_param_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) lpfc_vport_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) lpfc_vport_param_set(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) lpfc_vport_param_store(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 		   lpfc_##name##_show, lpfc_##name##_store)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #define LPFC_VPORT_ATTR_HEX_R(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) lpfc_vport_param_hex_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) lpfc_vport_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) #define LPFC_VPORT_ATTR_HEX_RW(name, defval, minval, maxval, desc) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) static uint lpfc_##name = defval;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) module_param(lpfc_##name, uint, S_IRUGO);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) MODULE_PARM_DESC(lpfc_##name, desc);\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) lpfc_vport_param_hex_show(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) lpfc_vport_param_init(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) lpfc_vport_param_set(name, defval, minval, maxval)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) lpfc_vport_param_store(name)\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 		   lpfc_##name##_show, lpfc_##name##_store)