Back to home page

OSCL-LXR

 
 

    


0001 /*******************************************************************
0002  * This file is part of the Emulex Linux Device Driver for         *
0003  * Fibre Channel Host Bus Adapters.                                *
0004  * Copyright (C) 2017-2018 Broadcom. All Rights Reserved. The term *
0005  * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.     *
0006  * Copyright (C) 2004-2016 Emulex.  All rights reserved.           *
0007  * EMULEX and SLI are trademarks of Emulex.                        *
0008  * www.broadcom.com                                                *
0009  * Portions Copyright (C) 2004-2005 Christoph Hellwig              *
0010  *                                                                 *
0011  * This program is free software; you can redistribute it and/or   *
0012  * modify it under the terms of version 2 of the GNU General       *
0013  * Public License as published by the Free Software Foundation.    *
0014  * This program is distributed in the hope that it will be useful. *
0015  * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND          *
0016  * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,  *
0017  * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE      *
0018  * DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD *
0019  * TO BE LEGALLY INVALID.  See the GNU General Public License for  *
0020  * more details, a copy of which can be found in the file COPYING  *
0021  * included with this package.                                     *
0022  *******************************************************************/
0023 
0024 #define LPFC_ATTR(name, defval, minval, maxval, desc) \
0025 static uint lpfc_##name = defval;\
0026 module_param(lpfc_##name, uint, S_IRUGO);\
0027 MODULE_PARM_DESC(lpfc_##name, desc);\
0028 lpfc_param_init(name, defval, minval, maxval)
0029 
0030 #define LPFC_ATTR_R(name, defval, minval, maxval, desc) \
0031 static uint lpfc_##name = defval;\
0032 module_param(lpfc_##name, uint, S_IRUGO);\
0033 MODULE_PARM_DESC(lpfc_##name, desc);\
0034 lpfc_param_show(name)\
0035 lpfc_param_init(name, defval, minval, maxval)\
0036 static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
0037 
0038 #define LPFC_ATTR_RW(name, defval, minval, maxval, desc) \
0039 static uint lpfc_##name = defval;\
0040 module_param(lpfc_##name, uint, S_IRUGO);\
0041 MODULE_PARM_DESC(lpfc_##name, desc);\
0042 lpfc_param_show(name)\
0043 lpfc_param_init(name, defval, minval, maxval)\
0044 lpfc_param_set(name, defval, minval, maxval)\
0045 lpfc_param_store(name)\
0046 static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
0047            lpfc_##name##_show, lpfc_##name##_store)
0048 
0049 #define LPFC_BBCR_ATTR_RW(name, defval, minval, maxval, desc) \
0050 static uint lpfc_##name = defval;\
0051 module_param(lpfc_##name, uint, 0444);\
0052 MODULE_PARM_DESC(lpfc_##name, desc);\
0053 lpfc_param_show(name)\
0054 lpfc_param_init(name, defval, minval, maxval)\
0055 lpfc_param_store(name)\
0056 static DEVICE_ATTR(lpfc_##name, 0444 | 0644,\
0057            lpfc_##name##_show, lpfc_##name##_store)
0058 
0059 #define LPFC_ATTR_HEX_R(name, defval, minval, maxval, desc) \
0060 static uint lpfc_##name = defval;\
0061 module_param(lpfc_##name, uint, S_IRUGO);\
0062 MODULE_PARM_DESC(lpfc_##name, desc);\
0063 lpfc_param_hex_show(name)\
0064 lpfc_param_init(name, defval, minval, maxval)\
0065 static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
0066 
0067 #define LPFC_ATTR_HEX_RW(name, defval, minval, maxval, desc) \
0068 static uint lpfc_##name = defval;\
0069 module_param(lpfc_##name, uint, S_IRUGO);\
0070 MODULE_PARM_DESC(lpfc_##name, desc);\
0071 lpfc_param_hex_show(name)\
0072 lpfc_param_init(name, defval, minval, maxval)\
0073 lpfc_param_set(name, defval, minval, maxval)\
0074 lpfc_param_store(name)\
0075 static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
0076            lpfc_##name##_show, lpfc_##name##_store)
0077 
0078 #define LPFC_VPORT_ATTR(name, defval, minval, maxval, desc) \
0079 static uint lpfc_##name = defval;\
0080 module_param(lpfc_##name, uint, S_IRUGO);\
0081 MODULE_PARM_DESC(lpfc_##name, desc);\
0082 lpfc_vport_param_init(name, defval, minval, maxval)
0083 
0084 #define LPFC_VPORT_ATTR_R(name, defval, minval, maxval, desc) \
0085 static uint lpfc_##name = defval;\
0086 module_param(lpfc_##name, uint, S_IRUGO);\
0087 MODULE_PARM_DESC(lpfc_##name, desc);\
0088 lpfc_vport_param_show(name)\
0089 lpfc_vport_param_init(name, defval, minval, maxval)\
0090 static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
0091 
0092 #define LPFC_VPORT_ULL_ATTR_R(name, defval, minval, maxval, desc) \
0093 static uint64_t lpfc_##name = defval;\
0094 module_param(lpfc_##name, ullong, S_IRUGO);\
0095 MODULE_PARM_DESC(lpfc_##name, desc);\
0096 lpfc_vport_param_show(name)\
0097 lpfc_vport_param_init(name, defval, minval, maxval)\
0098 static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
0099 
0100 #define LPFC_VPORT_ATTR_RW(name, defval, minval, maxval, desc) \
0101 static uint lpfc_##name = defval;\
0102 module_param(lpfc_##name, uint, S_IRUGO);\
0103 MODULE_PARM_DESC(lpfc_##name, desc);\
0104 lpfc_vport_param_show(name)\
0105 lpfc_vport_param_init(name, defval, minval, maxval)\
0106 lpfc_vport_param_set(name, defval, minval, maxval)\
0107 lpfc_vport_param_store(name)\
0108 static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
0109            lpfc_##name##_show, lpfc_##name##_store)
0110 
0111 #define LPFC_VPORT_ATTR_HEX_R(name, defval, minval, maxval, desc) \
0112 static uint lpfc_##name = defval;\
0113 module_param(lpfc_##name, uint, S_IRUGO);\
0114 MODULE_PARM_DESC(lpfc_##name, desc);\
0115 lpfc_vport_param_hex_show(name)\
0116 lpfc_vport_param_init(name, defval, minval, maxval)\
0117 static DEVICE_ATTR(lpfc_##name, S_IRUGO, lpfc_##name##_show, NULL)
0118 
0119 #define LPFC_VPORT_ATTR_HEX_RW(name, defval, minval, maxval, desc) \
0120 static uint lpfc_##name = defval;\
0121 module_param(lpfc_##name, uint, S_IRUGO);\
0122 MODULE_PARM_DESC(lpfc_##name, desc);\
0123 lpfc_vport_param_hex_show(name)\
0124 lpfc_vport_param_init(name, defval, minval, maxval)\
0125 lpfc_vport_param_set(name, defval, minval, maxval)\
0126 lpfc_vport_param_store(name)\
0127 static DEVICE_ATTR(lpfc_##name, S_IRUGO | S_IWUSR,\
0128            lpfc_##name##_show, lpfc_##name##_store)