[android-common:android-mainline 2/2] drivers/base/arch_topology.c:47:2: error: implicit declaration of function 'trace_android_vh_arch_set_freq_scale'
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-mainline
head: e209b3b88d9772ecd782d71c1ae7c5425dd20289
commit: e209b3b88d9772ecd782d71c1ae7c5425dd20289 [2/2] ANDROID: sched: add vendor hook for correcting cpu capacity
config: arm64-randconfig-r033-20200820 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 4deda57106f7c9b982a49cb907c33e3966c8de7f)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git checkout e209b3b88d9772ecd782d71c1ae7c5425dd20289
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/base/arch_topology.c:47:2: error: implicit declaration of function 'trace_android_vh_arch_set_freq_scale' [-Werror,-Wimplicit-function-declaration]
trace_android_vh_arch_set_freq_scale(cur_freq, max_freq, &scale);
^
1 error generated.
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-mainline
git checkout e209b3b88d9772ecd782d71c1ae7c5425dd20289
vim +/trace_android_vh_arch_set_freq_scale +47 drivers/base/arch_topology.c
30
31 void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
32 unsigned long max_freq)
33 {
34 unsigned long scale;
35 int i;
36
37 /*
38 * If the use of counters for FIE is enabled, just return as we don't
39 * want to update the scale factor with information from CPUFREQ.
40 * Instead the scale factor will be updated from arch_scale_freq_tick.
41 */
42 if (arch_freq_counters_available(cpus))
43 return;
44
45 scale = (cur_freq << SCHED_CAPACITY_SHIFT) / max_freq;
46
> 47 trace_android_vh_arch_set_freq_scale(cur_freq, max_freq, &scale);
48
49 for_each_cpu(i, cpus)
50 per_cpu(freq_scale, i) = scale;
51 }
52
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
include/linux/rwlock_api_smp.h:219:9: sparse: sparse: context imbalance in 'btrfs_set_lock_blocking_write' - unexpected unlock
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: da2968ff879b9e74688cdc658f646971991d2c56
commit: fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e parisc: Rework arch_rw locking functions
date: 5 months ago
config: parisc-randconfig-s032-20200820 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
fs/btrfs/locking.c: note: in included file (through arch/parisc/include/uapi/asm/unistd.h, arch/parisc/include/asm/unistd.h, include/uapi/linux/unistd.h, ...):
./arch/parisc/include/generated/uapi/asm/unistd_32.h:382:41: sparse: sparse: no newline at end of file
fs/btrfs/locking.c: note: in included file (through include/linux/spinlock_api_smp.h, include/linux/spinlock.h, include/linux/wait.h, ...):
include/linux/rwlock_api_smp.h:226:9: sparse: sparse: context imbalance in 'btrfs_set_lock_blocking_read' - unexpected unlock
>> include/linux/rwlock_api_smp.h:219:9: sparse: sparse: context imbalance in 'btrfs_set_lock_blocking_write' - unexpected unlock
fs/btrfs/locking.c:247:6: sparse: sparse: context imbalance in 'btrfs_tree_read_lock' - different lock contexts for basic block
fs/btrfs/locking.c:288:5: sparse: sparse: context imbalance in 'btrfs_tree_read_lock_atomic' - different lock contexts for basic block
fs/btrfs/locking.c:310:5: sparse: sparse: context imbalance in 'btrfs_try_tree_read_lock' - different lock contexts for basic block
fs/btrfs/locking.c:335:5: sparse: sparse: context imbalance in 'btrfs_try_tree_write_lock' - different lock contexts for basic block
include/linux/rwlock_api_smp.h:226:9: sparse: sparse: context imbalance in 'btrfs_tree_read_unlock' - unexpected unlock
fs/btrfs/locking.c:412:6: sparse: sparse: context imbalance in 'btrfs_tree_lock' - wrong count at exit
>> include/linux/rwlock_api_smp.h:219:9: sparse: sparse: context imbalance in 'btrfs_tree_unlock' - unexpected unlock
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e
vim +/btrfs_set_lock_blocking_write +219 include/linux/rwlock_api_smp.h
6b6b4792f89346e Thomas Gleixner 2009-11-16 215
9c1721aa4994f66 Thomas Gleixner 2009-12-03 216 static inline void __raw_write_unlock(rwlock_t *lock)
6b6b4792f89346e Thomas Gleixner 2009-11-16 217 {
5facae4f3549b5c Qian Cai 2019-09-19 218 rwlock_release(&lock->dep_map, _RET_IP_);
9828ea9d75c38fe Thomas Gleixner 2009-12-03 @219 do_raw_write_unlock(lock);
6b6b4792f89346e Thomas Gleixner 2009-11-16 220 preempt_enable();
6b6b4792f89346e Thomas Gleixner 2009-11-16 221 }
6b6b4792f89346e Thomas Gleixner 2009-11-16 222
:::::: The code at line 219 was first introduced by commit
:::::: 9828ea9d75c38fe3dce05d00566eed61c85732e6 locking: Further name space cleanups
:::::: TO: Thomas Gleixner <tglx(a)linutronix.de>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[kdave:for-next 59/70] fs/btrfs/extent-tree.c:3158:8: warning: format specifies type 'unsigned long' but the argument has type 'unsigned int'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
head: 7d05f2ecdd40cd928efc3feb0bfdc965aa5c89a9
commit: c950c6b7b34112061fc6acd30dc906f095a95a3d [59/70] btrfs: extent-tree: kill BUG_ON() in __btrfs_free_extent() and do better comment
config: powerpc64-randconfig-r003-20200820 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 4deda57106f7c9b982a49cb907c33e3966c8de7f)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
git checkout c950c6b7b34112061fc6acd30dc906f095a95a3d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> fs/btrfs/extent-tree.c:3158:8: warning: format specifies type 'unsigned long' but the argument has type 'unsigned int' [-Wformat]
sizeof(*ei) + sizeof(*bi));
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/btrfs/ctree.h:3104:41: note: expanded from macro 'btrfs_crit'
btrfs_printk(fs_info, KERN_CRIT fmt, ##args)
~~~ ^~~~
1 warning generated.
# https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git/commit/?i...
git remote add kdave https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git
git fetch --no-tags kdave for-next
git checkout c950c6b7b34112061fc6acd30dc906f095a95a3d
vim +3158 fs/btrfs/extent-tree.c
2932
2933 /*
2934 * Real work happens here to drop one or more refs of @node.
2935 *
2936 * The work is mostly done in two parts:
2937 * 1. Locate the extent refs.
2938 * It's either inlined in EXTENT/METADATA_ITEM or in keyed SHARED_* item.
2939 * Locate it then reduces the refs number or remove the ref line completely.
2940 *
2941 * 2. Update the refs count in EXTENT/METADATA_ITEM
2942 *
2943 * Due to the above two operations and possible optimizations, the function
2944 * is a little hard to read, but with the following examples, the result
2945 * of this function should be pretty easy to get.
2946 *
2947 * Example:
2948 * *** Inlined backref case ***
2949 * In extent tree we have:
2950 * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 16201 itemsize 82
2951 * refs 2 gen 6 flags DATA
2952 * extent data backref root FS_TREE objectid 258 offset 0 count 1
2953 * extent data backref root FS_TREE objectid 257 offset 0 count 1
2954 *
2955 * This function get called with
2956 * node->bytenr = 13631488, node->num_bytes = 1048576
2957 * root_objectid = FS_TREE, owner_objectid = 257, owner_offset = 0,
2958 * refs_to_drop = 1
2959 * Then we should get some like:
2960 * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 16201 itemsize 82
2961 * refs 1 gen 6 flags DATA
2962 * extent data backref root FS_TREE objectid 258 offset 0 count 1
2963 *
2964 * *** Keyed backref case ***
2965 * In extent tree we have:
2966 * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 3971 itemsize 24
2967 * refs 754 gen 6 flags DATA
2968 * [...]
2969 * item 2 key (13631488 EXTENT_DATA_REF <HASH>) itemoff 3915 itemsize 28
2970 * extent data backref root FS_TREE objectid 866 offset 0 count 1
2971 * This function get called with
2972 * node->bytenr = 13631488, node->num_bytes = 1048576
2973 * root_objectid = FS_TREE, owner_objectid = 866, owner_offset = 0,
2974 * refs_to_drop = 1
2975 * Then we should get some like:
2976 * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 3971 itemsize 24
2977 * refs 753 gen 6 flags DATA
2978 * And that (13631488 EXTENT_DATA_REF <HASH>) get removed.
2979 */
2980 static int __btrfs_free_extent(struct btrfs_trans_handle *trans,
2981 struct btrfs_delayed_ref_node *node, u64 parent,
2982 u64 root_objectid, u64 owner_objectid,
2983 u64 owner_offset, int refs_to_drop,
2984 struct btrfs_delayed_extent_op *extent_op)
2985 {
2986 struct btrfs_fs_info *info = trans->fs_info;
2987 struct btrfs_key key;
2988 struct btrfs_path *path;
2989 struct btrfs_root *extent_root = info->extent_root;
2990 struct extent_buffer *leaf;
2991 struct btrfs_extent_item *ei;
2992 struct btrfs_extent_inline_ref *iref;
2993 int ret;
2994 int is_data;
2995 int extent_slot = 0;
2996 int found_extent = 0;
2997 int num_to_del = 1;
2998 u32 item_size;
2999 u64 refs;
3000 u64 bytenr = node->bytenr;
3001 u64 num_bytes = node->num_bytes;
3002 int last_ref = 0;
3003 bool skinny_metadata = btrfs_fs_incompat(info, SKINNY_METADATA);
3004
3005 path = btrfs_alloc_path();
3006 if (!path)
3007 return -ENOMEM;
3008
3009 path->leave_spinning = 1;
3010
3011 is_data = owner_objectid >= BTRFS_FIRST_FREE_OBJECTID;
3012
3013 if (unlikely(!is_data && refs_to_drop != 1)) {
3014 btrfs_crit(info,
3015 "invalid refs_to_drop, dropping more than 1 refs for tree block %llu refs_to_drop %u",
3016 node->bytenr, refs_to_drop);
3017 ret = -EINVAL;
3018 btrfs_abort_transaction(trans, ret);
3019 goto out;
3020 }
3021
3022 if (is_data)
3023 skinny_metadata = false;
3024
3025 ret = lookup_extent_backref(trans, path, &iref, bytenr, num_bytes,
3026 parent, root_objectid, owner_objectid,
3027 owner_offset);
3028 if (ret == 0) {
3029 /*
3030 * Either the inline backref or the SHARED_DATA_REF/
3031 * SHARED_BLOCK_REF is found
3032 *
3033 * Here is a quick path to locate EXTENT/METADATA_ITEM.
3034 * It's possible the EXTENT/METADATA_ITEM is near current slot.
3035 */
3036 extent_slot = path->slots[0];
3037 while (extent_slot >= 0) {
3038 btrfs_item_key_to_cpu(path->nodes[0], &key,
3039 extent_slot);
3040 if (key.objectid != bytenr)
3041 break;
3042 if (key.type == BTRFS_EXTENT_ITEM_KEY &&
3043 key.offset == num_bytes) {
3044 found_extent = 1;
3045 break;
3046 }
3047 if (key.type == BTRFS_METADATA_ITEM_KEY &&
3048 key.offset == owner_objectid) {
3049 found_extent = 1;
3050 break;
3051 }
3052
3053 /* Quick path didn't find the EXTEMT/METADATA_ITEM */
3054 if (path->slots[0] - extent_slot > 5)
3055 break;
3056 extent_slot--;
3057 }
3058
3059 if (!found_extent) {
3060 if (unlikely(iref)) {
3061 btrfs_crit(info,
3062 "invalid iref, no EXTENT/METADATA_ITEM found but has inline extent ref");
3063 btrfs_abort_transaction(trans, -EUCLEAN);
3064 goto err_dump;
3065 }
3066 /* Must be SHARED_* item, remove the backref first */
3067 ret = remove_extent_backref(trans, path, NULL,
3068 refs_to_drop,
3069 is_data, &last_ref);
3070 if (ret) {
3071 btrfs_abort_transaction(trans, ret);
3072 goto out;
3073 }
3074 btrfs_release_path(path);
3075 path->leave_spinning = 1;
3076
3077
3078 /* Slow path to locate EXTENT/METADATA_ITEM */
3079 key.objectid = bytenr;
3080 key.type = BTRFS_EXTENT_ITEM_KEY;
3081 key.offset = num_bytes;
3082
3083 if (!is_data && skinny_metadata) {
3084 key.type = BTRFS_METADATA_ITEM_KEY;
3085 key.offset = owner_objectid;
3086 }
3087
3088 ret = btrfs_search_slot(trans, extent_root,
3089 &key, path, -1, 1);
3090 if (ret > 0 && skinny_metadata && path->slots[0]) {
3091 /*
3092 * Couldn't find our skinny metadata item,
3093 * see if we have ye olde extent item.
3094 */
3095 path->slots[0]--;
3096 btrfs_item_key_to_cpu(path->nodes[0], &key,
3097 path->slots[0]);
3098 if (key.objectid == bytenr &&
3099 key.type == BTRFS_EXTENT_ITEM_KEY &&
3100 key.offset == num_bytes)
3101 ret = 0;
3102 }
3103
3104 if (ret > 0 && skinny_metadata) {
3105 skinny_metadata = false;
3106 key.objectid = bytenr;
3107 key.type = BTRFS_EXTENT_ITEM_KEY;
3108 key.offset = num_bytes;
3109 btrfs_release_path(path);
3110 ret = btrfs_search_slot(trans, extent_root,
3111 &key, path, -1, 1);
3112 }
3113
3114 if (ret) {
3115 btrfs_err(info,
3116 "umm, got %d back from search, was looking for %llu",
3117 ret, bytenr);
3118 if (ret > 0)
3119 btrfs_print_leaf(path->nodes[0]);
3120 }
3121 if (ret < 0) {
3122 btrfs_abort_transaction(trans, ret);
3123 goto out;
3124 }
3125 extent_slot = path->slots[0];
3126 }
3127 } else if (WARN_ON(ret == -ENOENT)) {
3128 btrfs_print_leaf(path->nodes[0]);
3129 btrfs_err(info,
3130 "unable to find ref byte nr %llu parent %llu root %llu owner %llu offset %llu",
3131 bytenr, parent, root_objectid, owner_objectid,
3132 owner_offset);
3133 btrfs_abort_transaction(trans, ret);
3134 goto out;
3135 } else {
3136 btrfs_abort_transaction(trans, ret);
3137 goto out;
3138 }
3139
3140 leaf = path->nodes[0];
3141 item_size = btrfs_item_size_nr(leaf, extent_slot);
3142 if (unlikely(item_size < sizeof(*ei))) {
3143 ret = -EINVAL;
3144 btrfs_print_v0_err(info);
3145 btrfs_abort_transaction(trans, ret);
3146 goto out;
3147 }
3148 ei = btrfs_item_ptr(leaf, extent_slot,
3149 struct btrfs_extent_item);
3150 if (owner_objectid < BTRFS_FIRST_FREE_OBJECTID &&
3151 key.type == BTRFS_EXTENT_ITEM_KEY) {
3152 struct btrfs_tree_block_info *bi;
3153 if (unlikely(item_size < sizeof(*ei) + sizeof(*bi))) {
3154 btrfs_crit(info,
3155 "invalid extent item size for key (%llu, %u, %llu) owner %llu, has %u expect >= %lu",
3156 key.objectid, key.type, key.offset,
3157 owner_objectid, item_size,
> 3158 sizeof(*ei) + sizeof(*bi));
3159 btrfs_abort_transaction(trans, -EUCLEAN);
3160 goto err_dump;
3161 }
3162 bi = (struct btrfs_tree_block_info *)(ei + 1);
3163 WARN_ON(owner_objectid != btrfs_tree_block_level(leaf, bi));
3164 }
3165
3166 refs = btrfs_extent_refs(leaf, ei);
3167 if (refs < refs_to_drop) {
3168 btrfs_crit(info,
3169 "trying to drop %d refs but we only have %Lu for bytenr %Lu",
3170 refs_to_drop, refs, bytenr);
3171 btrfs_abort_transaction(trans, -EUCLEAN);
3172 goto err_dump;
3173 }
3174 refs -= refs_to_drop;
3175
3176 if (refs > 0) {
3177 if (extent_op)
3178 __run_delayed_extent_op(extent_op, leaf, ei);
3179 /*
3180 * In the case of inline back ref, reference count will
3181 * be updated by remove_extent_backref
3182 */
3183 if (iref) {
3184 if (unlikely(!found_extent)) {
3185 btrfs_crit(info,
3186 "invalid iref, got inlined extent ref but no EXTENT/METADATA_ITEM found");
3187 btrfs_abort_transaction(trans, -EUCLEAN);
3188 goto err_dump;
3189 }
3190 } else {
3191 btrfs_set_extent_refs(leaf, ei, refs);
3192 btrfs_mark_buffer_dirty(leaf);
3193 }
3194 if (found_extent) {
3195 ret = remove_extent_backref(trans, path, iref,
3196 refs_to_drop, is_data,
3197 &last_ref);
3198 if (ret) {
3199 btrfs_abort_transaction(trans, ret);
3200 goto out;
3201 }
3202 }
3203 } else {
3204 /* In this branch refs == 1 */
3205 if (found_extent) {
3206 if (is_data && refs_to_drop !=
3207 extent_data_ref_count(path, iref)) {
3208 btrfs_crit(info,
3209 "invalid refs_to_drop, current refs %u refs_to_drop %u",
3210 extent_data_ref_count(path, iref),
3211 refs_to_drop);
3212 btrfs_abort_transaction(trans, -EUCLEAN);
3213 goto err_dump;
3214 }
3215 if (iref) {
3216 if (path->slots[0] != extent_slot) {
3217 btrfs_crit(info,
3218 "invalid iref, extent item key (%llu %u %llu) doesn't has wanted iref",
3219 key.objectid, key.type,
3220 key.offset);
3221 btrfs_abort_transaction(trans, -EUCLEAN);
3222 goto err_dump;
3223 }
3224 } else {
3225 /*
3226 * No inline ref, we must at SHARED_* item,
3227 * And it's single ref, it must be:
3228 * | extent_slot ||extent_slot + 1|
3229 * [ EXTENT/METADATA_ITEM ][ SHARED_* ITEM ]
3230 */
3231 if (path->slots[0] != extent_slot + 1) {
3232 btrfs_crit(info,
3233 "invalid SHARED_* item, previous item is not EXTENT/METADATA_ITEM");
3234 btrfs_abort_transaction(trans, -EUCLEAN);
3235 goto err_dump;
3236 }
3237 path->slots[0] = extent_slot;
3238 num_to_del = 2;
3239 }
3240 }
3241
3242 last_ref = 1;
3243 ret = btrfs_del_items(trans, extent_root, path, path->slots[0],
3244 num_to_del);
3245 if (ret) {
3246 btrfs_abort_transaction(trans, ret);
3247 goto out;
3248 }
3249 btrfs_release_path(path);
3250
3251 if (is_data) {
3252 ret = btrfs_del_csums(trans, info->csum_root, bytenr,
3253 num_bytes);
3254 if (ret) {
3255 btrfs_abort_transaction(trans, ret);
3256 goto out;
3257 }
3258 }
3259
3260 ret = add_to_free_space_tree(trans, bytenr, num_bytes);
3261 if (ret) {
3262 btrfs_abort_transaction(trans, ret);
3263 goto out;
3264 }
3265
3266 ret = btrfs_update_block_group(trans, bytenr, num_bytes, 0);
3267 if (ret) {
3268 btrfs_abort_transaction(trans, ret);
3269 goto out;
3270 }
3271 }
3272 btrfs_release_path(path);
3273
3274 out:
3275 btrfs_free_path(path);
3276 return ret;
3277 err_dump:
3278 /*
3279 * Leaf dump can take up a lot of dmesg buffer since default nodesize
3280 * is already 16K.
3281 * So we only do full leaf dump for debug build.
3282 */
3283 if (IS_ENABLED(CONFIG_BTRFS_DEBUG)) {
3284 btrfs_crit(info, "path->slots[0]=%d extent_slot=%d",
3285 path->slots[0], extent_slot);
3286 btrfs_print_leaf(path->nodes[0]);
3287 }
3288
3289 btrfs_free_path(path);
3290 return -EUCLEAN;
3291 }
3292
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
arch/parisc/include/asm/cmpxchg.h:75:61: sparse: sparse: cast truncates bits from constant value (e0f510cc becomes cc)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: da2968ff879b9e74688cdc658f646971991d2c56
commit: b344d6a83d01c52fddbefa6b3b4764da5b1022a0 parisc: add support for cmpxchg on u8 pointers
date: 4 weeks ago
config: parisc-randconfig-s032-20200820 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout b344d6a83d01c52fddbefa6b3b4764da5b1022a0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
fs/erofs/utils.c: note: in included file (through arch/parisc/include/asm/atomic.h, include/linux/atomic.h, arch/parisc/include/asm/bitops.h, ...):
>> arch/parisc/include/asm/cmpxchg.h:75:61: sparse: sparse: cast truncates bits from constant value (e0f510cc becomes cc)
--
fs/erofs/zdata.c: note: in included file (through arch/parisc/include/asm/atomic.h, include/linux/atomic.h, arch/parisc/include/asm/bitops.h, ...):
>> arch/parisc/include/asm/cmpxchg.h:75:61: sparse: sparse: cast truncates bits from constant value (e0f510cc becomes cc)
arch/parisc/include/asm/cmpxchg.h:75:52: sparse: sparse: cast truncates bits from constant value (5f0ecafe becomes fe)
arch/parisc/include/asm/cmpxchg.h:75:52: sparse: sparse: cast truncates bits from constant value (5f0ecafe becomes fe)
arch/parisc/include/asm/cmpxchg.h:75:61: sparse: sparse: cast truncates bits from constant value (5f0edead becomes ad)
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b344d6a83d01c52fddbefa6b3b4764da5b1022a0
vim +75 arch/parisc/include/asm/cmpxchg.h
64
65 /* don't worry...optimizer will get rid of most of this */
66 static inline unsigned long
67 __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new_, int size)
68 {
69 switch (size) {
70 #ifdef CONFIG_64BIT
71 case 8: return __cmpxchg_u64((u64 *)ptr, old, new_);
72 #endif
73 case 4: return __cmpxchg_u32((unsigned int *)ptr,
74 (unsigned int)old, (unsigned int)new_);
> 75 case 1: return __cmpxchg_u8((u8 *)ptr, (u8)old, (u8)new_);
76 }
77 __cmpxchg_called_with_bad_pointer();
78 return old;
79 }
80
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[android-common:android-mainline 2/2] drivers/base/arch_topology.c:47:2: error: implicit declaration of function 'trace_android_vh_arch_set_freq_scale'; did you mean
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-mainline
head: e209b3b88d9772ecd782d71c1ae7c5425dd20289
commit: e209b3b88d9772ecd782d71c1ae7c5425dd20289 [2/2] ANDROID: sched: add vendor hook for correcting cpu capacity
config: arm64-randconfig-r022-20200820 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout e209b3b88d9772ecd782d71c1ae7c5425dd20289
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/base/arch_topology.c: In function 'arch_set_freq_scale':
>> drivers/base/arch_topology.c:47:2: error: implicit declaration of function 'trace_android_vh_arch_set_freq_scale'; did you mean 'trace_android_rvh_arch_set_freq_scale'? [-Werror=implicit-function-declaration]
47 | trace_android_vh_arch_set_freq_scale(cur_freq, max_freq, &scale);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| trace_android_rvh_arch_set_freq_scale
cc1: some warnings being treated as errors
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-mainline
git checkout e209b3b88d9772ecd782d71c1ae7c5425dd20289
vim +47 drivers/base/arch_topology.c
30
31 void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
32 unsigned long max_freq)
33 {
34 unsigned long scale;
35 int i;
36
37 /*
38 * If the use of counters for FIE is enabled, just return as we don't
39 * want to update the scale factor with information from CPUFREQ.
40 * Instead the scale factor will be updated from arch_scale_freq_tick.
41 */
42 if (arch_freq_counters_available(cpus))
43 return;
44
45 scale = (cur_freq << SCHED_CAPACITY_SHIFT) / max_freq;
46
> 47 trace_android_vh_arch_set_freq_scale(cur_freq, max_freq, &scale);
48
49 for_each_cpu(i, cpus)
50 per_cpu(freq_scale, i) = scale;
51 }
52
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/iio/adc/ingenic-adc.c:undefined reference to `clk_get_parent'
by kernel test robot
Hi Jiaxun,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: da2968ff879b9e74688cdc658f646971991d2c56
commit: ff487d41036035376e47972c7c522490b839ab37 MIPS: Truncate link address into 32bit for 32bit kernel
date: 4 months ago
config: mips-randconfig-p001-20200820 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout ff487d41036035376e47972c7c522490b839ab37
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
mips-linux-ld: drivers/gpu/drm/ingenic/ingenic-drm.o: in function `ingenic_drm_probe':
drivers/gpu/drm/ingenic/ingenic-drm.c:(.text+0xc8c): undefined reference to `clk_get_parent'
mips-linux-ld: drivers/mmc/host/mtk-sd.o: in function `msdc_set_mclk':
drivers/mmc/host/mtk-sd.c:(.text+0x1ce4): undefined reference to `clk_get_parent'
mips-linux-ld: drivers/mmc/host/mtk-sd.c:(.text+0x1d38): undefined reference to `clk_get_parent'
mips-linux-ld: drivers/iio/adc/ingenic-adc.o: in function `jz4770_adc_init_clk_div':
>> drivers/iio/adc/ingenic-adc.c:(.text+0x18): undefined reference to `clk_get_parent'
mips-linux-ld: drivers/iio/adc/ingenic-adc.o: in function `jz4725b_adc_init_clk_div':
drivers/iio/adc/ingenic-adc.c:(.text+0x138): undefined reference to `clk_get_parent'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/scsi/qedi/qedi_fw.c:1064:45: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: da2968ff879b9e74688cdc658f646971991d2c56
commit: 06e85c7e9a1c1356038936566fc23f7c0d363b96 asm-generic: fix unistd_32.h generation format
date: 5 months ago
config: parisc-randconfig-s032-20200820 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout 06e85c7e9a1c1356038936566fc23f7c0d363b96
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/scsi/qedi/qedi_fw.c:284:35: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:287:37: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:324:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] idx @@ got restricted __le16 [usertype] rqe_opaque @@
drivers/scsi/qedi/qedi_fw.c:324:13: sparse: expected unsigned short [usertype] idx
drivers/scsi/qedi/qedi_fw.c:324:13: sparse: got restricted __le16 [usertype] rqe_opaque
drivers/scsi/qedi/qedi_fw.c:360:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] idx @@ got restricted __le16 [usertype] rqe_opaque @@
drivers/scsi/qedi/qedi_fw.c:360:13: sparse: expected unsigned short [usertype] idx
drivers/scsi/qedi/qedi_fw.c:360:13: sparse: got restricted __le16 [usertype] rqe_opaque
drivers/scsi/qedi/qedi_fw.c:378:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] opaque @@ got restricted __le32 [usertype] @@
drivers/scsi/qedi/qedi_fw.c:378:41: sparse: expected restricted __le16 [usertype] opaque
drivers/scsi/qedi/qedi_fw.c:378:41: sparse: got restricted __le32 [usertype]
drivers/scsi/qedi/qedi_fw.c:421:29: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:428:26: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:429:26: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:430:23: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:431:20: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:447:28: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/qedi/qedi_fw.c:492:32: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:508:18: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:508:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __be32 [usertype] @@
drivers/scsi/qedi/qedi_fw.c:508:16: sparse: expected unsigned int
drivers/scsi/qedi/qedi_fw.c:508:16: sparse: got restricted __be32 [usertype]
drivers/scsi/qedi/qedi_fw.c:509:18: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:509:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __be32 [usertype] @@
drivers/scsi/qedi/qedi_fw.c:509:16: sparse: expected unsigned int
drivers/scsi/qedi/qedi_fw.c:509:16: sparse: got restricted __be32 [usertype]
drivers/scsi/qedi/qedi_fw.c:511:31: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:512:31: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:513:28: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:518:28: sparse: sparse: cast from restricted __le16
drivers/scsi/qedi/qedi_fw.c:519:28: sparse: sparse: cast from restricted __le16
drivers/scsi/qedi/qedi_fw.c:520:28: sparse: sparse: cast from restricted __le16
drivers/scsi/qedi/qedi_fw.c:543:29: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:558:9: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:558:9: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:558:9: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:560:26: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:561:26: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:562:23: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:585:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] iscsi_cid @@ got restricted __le16 [usertype] conn_id @@
drivers/scsi/qedi/qedi_fw.c:585:20: sparse: expected unsigned int [usertype] iscsi_cid
drivers/scsi/qedi/qedi_fw.c:585:20: sparse: got restricted __le16 [usertype] conn_id
drivers/scsi/qedi/qedi_fw.c:625:26: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:626:26: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:627:20: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/qedi/qedi_fw.c:631:31: sparse: sparse: cast from restricted __le32
drivers/scsi/qedi/qedi_fw.c:634:38: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:739:28: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned int [usertype] proto_itt @@ got restricted __le16 [usertype] itid @@
drivers/scsi/qedi/qedi_fw.c:739:28: sparse: expected unsigned int [usertype] proto_itt
drivers/scsi/qedi/qedi_fw.c:739:28: sparse: got restricted __le16 [usertype] itid
drivers/scsi/qedi/qedi_fw.c:751:19: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] iscsi_cid @@ got restricted __le16 [usertype] conn_id @@
drivers/scsi/qedi/qedi_fw.c:751:19: sparse: expected unsigned int [usertype] iscsi_cid
drivers/scsi/qedi/qedi_fw.c:751:19: sparse: got restricted __le16 [usertype] conn_id
drivers/scsi/qedi/qedi_fw.c:809:25: sparse: sparse: cast to restricted itt_t
drivers/scsi/qedi/qedi_fw.c:828:45: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] tid @@ got restricted __le16 [usertype] itid @@
drivers/scsi/qedi/qedi_fw.c:828:45: sparse: expected unsigned int [usertype] tid
drivers/scsi/qedi/qedi_fw.c:828:45: sparse: got restricted __le16 [usertype] itid
drivers/scsi/qedi/qedi_fw.c:849:57: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int idx @@ got restricted __le16 [usertype] itid @@
drivers/scsi/qedi/qedi_fw.c:849:57: sparse: expected int idx
drivers/scsi/qedi/qedi_fw.c:849:57: sparse: got restricted __le16 [usertype] itid
drivers/scsi/qedi/qedi_fw.c:852:45: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] tid @@ got restricted __le16 [usertype] itid @@
drivers/scsi/qedi/qedi_fw.c:852:45: sparse: expected unsigned int [usertype] tid
drivers/scsi/qedi/qedi_fw.c:852:45: sparse: got restricted __le16 [usertype] itid
drivers/scsi/qedi/qedi_fw.c:890:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] iscsi_cid @@ got restricted __le16 [usertype] conn_id @@
drivers/scsi/qedi/qedi_fw.c:890:20: sparse: expected unsigned int [usertype] iscsi_cid
drivers/scsi/qedi/qedi_fw.c:890:20: sparse: got restricted __le16 [usertype] conn_id
drivers/scsi/qedi/qedi_fw.c:921:50: sparse: sparse: cast from restricted itt_t
drivers/scsi/qedi/qedi_fw.c:921:40: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/qedi/qedi_fw.c:926:48: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/qedi/qedi_fw.c:925:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] itid @@ got unsigned int @@
drivers/scsi/qedi/qedi_fw.c:925:49: sparse: expected restricted __le16 [usertype] itid
drivers/scsi/qedi/qedi_fw.c:925:49: sparse: got unsigned int
drivers/scsi/qedi/qedi_fw.c:975:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [assigned] [usertype] sq_prod @@ got unsigned short [usertype] fw_sq_prod_idx @@
drivers/scsi/qedi/qedi_fw.c:975:23: sparse: expected restricted __le16 [assigned] [usertype] sq_prod
drivers/scsi/qedi/qedi_fw.c:975:23: sparse: got unsigned short [usertype] fw_sq_prod_idx
drivers/scsi/qedi/qedi_fw.c:1048:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] isid_tabc @@ got unsigned int @@
drivers/scsi/qedi/qedi_fw.c:1048:40: sparse: expected restricted __le32 [addressable] [assigned] [usertype] isid_tabc
drivers/scsi/qedi/qedi_fw.c:1048:40: sparse: got unsigned int
drivers/scsi/qedi/qedi_fw.c:1049:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [addressable] [assigned] [usertype] isid_d @@ got unsigned short @@
drivers/scsi/qedi/qedi_fw.c:1049:37: sparse: expected restricted __le16 [addressable] [assigned] [usertype] isid_d
drivers/scsi/qedi/qedi_fw.c:1049:37: sparse: got unsigned short
drivers/scsi/qedi/qedi_fw.c:1051:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [addressable] [assigned] [usertype] tsih @@ got restricted __be16 [usertype] tsih @@
drivers/scsi/qedi/qedi_fw.c:1051:35: sparse: expected restricted __le16 [addressable] [assigned] [usertype] tsih
drivers/scsi/qedi/qedi_fw.c:1051:35: sparse: got restricted __be16 [usertype] tsih
drivers/scsi/qedi/qedi_fw.c:1052:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] hdr_second_dword @@ got int @@
drivers/scsi/qedi/qedi_fw.c:1052:47: sparse: expected restricted __le32 [addressable] [assigned] [usertype] hdr_second_dword
drivers/scsi/qedi/qedi_fw.c:1052:47: sparse: got int
drivers/scsi/qedi/qedi_fw.c:1055:36: sparse: sparse: cast to restricted itt_t
drivers/scsi/qedi/qedi_fw.c:1055:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] itt @@ got unsigned int [usertype] @@
drivers/scsi/qedi/qedi_fw.c:1055:34: sparse: expected restricted __le32 [addressable] [assigned] [usertype] itt
drivers/scsi/qedi/qedi_fw.c:1055:34: sparse: got unsigned int [usertype]
drivers/scsi/qedi/qedi_fw.c:1056:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [addressable] [assigned] [usertype] cid @@ got unsigned int [usertype] iscsi_conn_id @@
drivers/scsi/qedi/qedi_fw.c:1056:34: sparse: expected restricted __le16 [addressable] [assigned] [usertype] cid
drivers/scsi/qedi/qedi_fw.c:1056:34: sparse: got unsigned int [usertype] iscsi_conn_id
drivers/scsi/qedi/qedi_fw.c:1057:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] cmd_sn @@ got unsigned int [usertype] @@
drivers/scsi/qedi/qedi_fw.c:1057:37: sparse: expected restricted __le32 [addressable] [assigned] [usertype] cmd_sn
drivers/scsi/qedi/qedi_fw.c:1057:37: sparse: got unsigned int [usertype]
drivers/scsi/qedi/qedi_fw.c:1058:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] exp_stat_sn @@ got unsigned int [usertype] @@
drivers/scsi/qedi/qedi_fw.c:1058:42: sparse: expected restricted __le32 [addressable] [assigned] [usertype] exp_stat_sn
drivers/scsi/qedi/qedi_fw.c:1058:42: sparse: got unsigned int [usertype]
>> drivers/scsi/qedi/qedi_fw.c:1064:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] lo @@ got unsigned int [usertype] @@
>> drivers/scsi/qedi/qedi_fw.c:1064:45: sparse: expected restricted __le32 [addressable] [assigned] [usertype] lo
drivers/scsi/qedi/qedi_fw.c:1064:45: sparse: got unsigned int [usertype]
drivers/scsi/qedi/qedi_fw.c:1066:45: sparse: sparse: too many warnings
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 06e85c7e9a1c1356038936566fc23f7c0d363b96
vim +1064 drivers/scsi/qedi/qedi_fw.c
be086e7c53f1fac Mintz, Yuval 2017-03-11 1005
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1006 int qedi_send_iscsi_login(struct qedi_conn *qedi_conn,
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1007 struct iscsi_task *task)
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1008 {
be086e7c53f1fac Mintz, Yuval 2017-03-11 1009 struct iscsi_login_req_hdr login_req_pdu_header;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1010 struct scsi_sgl_task_params tx_sgl_task_params;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1011 struct scsi_sgl_task_params rx_sgl_task_params;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1012 struct iscsi_task_params task_params;
21dd79e82f00b29 Tomer Tayar 2017-12-27 1013 struct e4_iscsi_task_context *fw_task_ctx;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1014 struct qedi_ctx *qedi = qedi_conn->qedi;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1015 struct iscsi_login_req *login_hdr;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1016 struct scsi_sge *resp_sge = NULL;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1017 struct qedi_cmd *qedi_cmd;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1018 struct qedi_endpoint *ep;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1019 s16 tid = 0;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1020 u16 sq_idx = 0;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1021 int rval = 0;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1022
be086e7c53f1fac Mintz, Yuval 2017-03-11 1023 resp_sge = (struct scsi_sge *)qedi_conn->gen_pdu.resp_bd_tbl;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1024 qedi_cmd = (struct qedi_cmd *)task->dd_data;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1025 ep = qedi_conn->ep;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1026 login_hdr = (struct iscsi_login_req *)task->hdr;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1027
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1028 tid = qedi_get_task_idx(qedi);
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1029 if (tid == -1)
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1030 return -ENOMEM;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1031
be086e7c53f1fac Mintz, Yuval 2017-03-11 1032 fw_task_ctx =
21dd79e82f00b29 Tomer Tayar 2017-12-27 1033 (struct e4_iscsi_task_context *)qedi_get_task_mem(&qedi->tasks,
21dd79e82f00b29 Tomer Tayar 2017-12-27 1034 tid);
21dd79e82f00b29 Tomer Tayar 2017-12-27 1035 memset(fw_task_ctx, 0, sizeof(struct e4_iscsi_task_context));
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1036
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1037 qedi_cmd->task_id = tid;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1038
be086e7c53f1fac Mintz, Yuval 2017-03-11 1039 memset(&task_params, 0, sizeof(task_params));
be086e7c53f1fac Mintz, Yuval 2017-03-11 1040 memset(&login_req_pdu_header, 0, sizeof(login_req_pdu_header));
be086e7c53f1fac Mintz, Yuval 2017-03-11 1041 memset(&tx_sgl_task_params, 0, sizeof(tx_sgl_task_params));
be086e7c53f1fac Mintz, Yuval 2017-03-11 1042 memset(&rx_sgl_task_params, 0, sizeof(rx_sgl_task_params));
be086e7c53f1fac Mintz, Yuval 2017-03-11 1043 /* Update header info */
be086e7c53f1fac Mintz, Yuval 2017-03-11 1044 login_req_pdu_header.opcode = login_hdr->opcode;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1045 login_req_pdu_header.version_min = login_hdr->min_version;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1046 login_req_pdu_header.version_max = login_hdr->max_version;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1047 login_req_pdu_header.flags_attr = login_hdr->flags;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1048 login_req_pdu_header.isid_tabc = swab32p((u32 *)login_hdr->isid);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1049 login_req_pdu_header.isid_d = swab16p((u16 *)&login_hdr->isid[4]);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1050
be086e7c53f1fac Mintz, Yuval 2017-03-11 1051 login_req_pdu_header.tsih = login_hdr->tsih;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1052 login_req_pdu_header.hdr_second_dword = ntoh24(login_hdr->dlength);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1053
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1054 qedi_update_itt_map(qedi, tid, task->itt, qedi_cmd);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1055 login_req_pdu_header.itt = qedi_set_itt(tid, get_itt(task->itt));
be086e7c53f1fac Mintz, Yuval 2017-03-11 1056 login_req_pdu_header.cid = qedi_conn->iscsi_conn_id;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1057 login_req_pdu_header.cmd_sn = be32_to_cpu(login_hdr->cmdsn);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1058 login_req_pdu_header.exp_stat_sn = be32_to_cpu(login_hdr->exp_statsn);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1059 login_req_pdu_header.exp_stat_sn = 0;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1060
be086e7c53f1fac Mintz, Yuval 2017-03-11 1061 /* Fill tx AHS and rx buffer */
be086e7c53f1fac Mintz, Yuval 2017-03-11 1062 tx_sgl_task_params.sgl =
be086e7c53f1fac Mintz, Yuval 2017-03-11 1063 (struct scsi_sge *)qedi_conn->gen_pdu.req_bd_tbl;
be086e7c53f1fac Mintz, Yuval 2017-03-11 @1064 tx_sgl_task_params.sgl_phys_addr.lo =
be086e7c53f1fac Mintz, Yuval 2017-03-11 1065 (u32)(qedi_conn->gen_pdu.req_dma_addr);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1066 tx_sgl_task_params.sgl_phys_addr.hi =
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1067 (u32)((u64)qedi_conn->gen_pdu.req_dma_addr >> 32);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1068 tx_sgl_task_params.total_buffer_size = ntoh24(login_hdr->dlength);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1069 tx_sgl_task_params.num_sges = 1;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1070
be086e7c53f1fac Mintz, Yuval 2017-03-11 1071 rx_sgl_task_params.sgl =
be086e7c53f1fac Mintz, Yuval 2017-03-11 1072 (struct scsi_sge *)qedi_conn->gen_pdu.resp_bd_tbl;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1073 rx_sgl_task_params.sgl_phys_addr.lo =
be086e7c53f1fac Mintz, Yuval 2017-03-11 1074 (u32)(qedi_conn->gen_pdu.resp_dma_addr);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1075 rx_sgl_task_params.sgl_phys_addr.hi =
be086e7c53f1fac Mintz, Yuval 2017-03-11 1076 (u32)((u64)qedi_conn->gen_pdu.resp_dma_addr >> 32);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1077 rx_sgl_task_params.total_buffer_size = resp_sge->sge_len;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1078 rx_sgl_task_params.num_sges = 1;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1079
be086e7c53f1fac Mintz, Yuval 2017-03-11 1080 /* Fill fw input params */
be086e7c53f1fac Mintz, Yuval 2017-03-11 1081 task_params.context = fw_task_ctx;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1082 task_params.conn_icid = (u16)qedi_conn->iscsi_conn_id;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1083 task_params.itid = tid;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1084 task_params.cq_rss_number = 0;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1085 task_params.tx_io_size = ntoh24(login_hdr->dlength);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1086 task_params.rx_io_size = resp_sge->sge_len;
be086e7c53f1fac Mintz, Yuval 2017-03-11 1087
be086e7c53f1fac Mintz, Yuval 2017-03-11 1088 sq_idx = qedi_get_wqe_idx(qedi_conn);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1089 task_params.sqe = &ep->sq[sq_idx];
be086e7c53f1fac Mintz, Yuval 2017-03-11 1090
be086e7c53f1fac Mintz, Yuval 2017-03-11 1091 memset(task_params.sqe, 0, sizeof(struct iscsi_wqe));
be086e7c53f1fac Mintz, Yuval 2017-03-11 1092 rval = init_initiator_login_request_task(&task_params,
be086e7c53f1fac Mintz, Yuval 2017-03-11 1093 &login_req_pdu_header,
be086e7c53f1fac Mintz, Yuval 2017-03-11 1094 &tx_sgl_task_params,
be086e7c53f1fac Mintz, Yuval 2017-03-11 1095 &rx_sgl_task_params);
be086e7c53f1fac Mintz, Yuval 2017-03-11 1096 if (rval)
be086e7c53f1fac Mintz, Yuval 2017-03-11 1097 return -1;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1098
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1099 spin_lock(&qedi_conn->list_lock);
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1100 list_add_tail(&qedi_cmd->io_cmd, &qedi_conn->active_cmd_list);
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1101 qedi_cmd->io_cmd_in_list = true;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1102 qedi_conn->active_cmd_count++;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1103 spin_unlock(&qedi_conn->list_lock);
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1104
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1105 qedi_ring_doorbell(qedi_conn);
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1106 return 0;
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1107 }
ace7f46ba5fde72 Manish Rangankar 2016-12-01 1108
:::::: The code at line 1064 was first introduced by commit
:::::: be086e7c53f1fac51eed14523b28f2214b548dd2 qed*: Utilize Firmware 8.15.3.0
:::::: TO: Mintz, Yuval <Yuval.Mintz(a)cavium.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH v32 11/12] LRNG - add interface for gathering of raw entropy
by Chen, Rong A
Hi Vitaly,
Sorry for the broken link, it should be available now.
Best Regards,
Rong Chen
On 8/20/2020 9:30 PM, Vitaly Chikunov wrote:
> LKP,
>
> Note, that some URLs aren't working in these emails. Such as,
>
> https://github.com/0day-ci/linux/commits/Stephan-M-ller/dev-random-a-new-...
> https://github.com/0day-ci/linux/commit/89b15c614286cea77d633ade2a9045060...
>
> Thanks,
>
> On Thu, Aug 20, 2020 at 08:47:40PM +0800, kernel test robot wrote:
>> Hi "Stephan,
>>
>> Thank you for the patch! Perhaps something to improve:
>>
>> [auto build test WARNING on char-misc/char-misc-testing]
>> [also build test WARNING on cryptodev/master crypto/master v5.9-rc1 next-20200820]
>> [If your patch is applied to the wrong git tree, kindly drop us a note.
>> And when submitting patch, we suggest to use '--base' as documented in
>> https://git-scm.com/docs/git-format-patch]
>>
>> url: https://github.com/0day-ci/linux/commits/Stephan-M-ller/dev-random-a-new-...
>> base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git d162219c655c8cf8003128a13840d6c1e183fb80
>> config: nios2-allyesconfig (attached as .config)
>> compiler: nios2-linux-gcc (GCC) 9.3.0
>> reproduce (this is a W=1 build):
>> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # save the attached .config to linux build tree
>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp(a)intel.com>
>>
>> All warnings (new ones prefixed by >>):
>>
>>>> drivers/char/lrng/lrng_testing.c:255:15: warning: initialized field overwritten [-Woverride-init]
>> 255 | .rb_reader = 0,
>> | ^
>> drivers/char/lrng/lrng_testing.c:255:15: note: (near initialization for 'lrng_raw_hires.rb_reader')
>> drivers/char/lrng/lrng_testing.c:295:15: warning: initialized field overwritten [-Woverride-init]
>> 295 | .rb_reader = 0,
>> | ^
>> drivers/char/lrng/lrng_testing.c:295:15: note: (near initialization for 'lrng_raw_jiffies.rb_reader')
>> drivers/char/lrng/lrng_testing.c:336:15: warning: initialized field overwritten [-Woverride-init]
>> 336 | .rb_reader = 0,
>> | ^
>> drivers/char/lrng/lrng_testing.c:336:15: note: (near initialization for 'lrng_raw_irq.rb_reader')
>> drivers/char/lrng/lrng_testing.c:376:15: warning: initialized field overwritten [-Woverride-init]
>> 376 | .rb_reader = 0,
>> | ^
>> drivers/char/lrng/lrng_testing.c:376:15: note: (near initialization for 'lrng_raw_irqflags.rb_reader')
>> drivers/char/lrng/lrng_testing.c:417:15: warning: initialized field overwritten [-Woverride-init]
>> 417 | .rb_reader = 0,
>> | ^
>> drivers/char/lrng/lrng_testing.c:417:15: note: (near initialization for 'lrng_raw_retip.rb_reader')
>> drivers/char/lrng/lrng_testing.c:457:15: warning: initialized field overwritten [-Woverride-init]
>> 457 | .rb_reader = 0,
>> | ^
>> drivers/char/lrng/lrng_testing.c:457:15: note: (near initialization for 'lrng_raw_array.rb_reader')
>> drivers/char/lrng/lrng_testing.c:497:15: warning: initialized field overwritten [-Woverride-init]
>> 497 | .rb_reader = 0,
>> | ^
>> drivers/char/lrng/lrng_testing.c:497:15: note: (near initialization for 'lrng_irq_perf.rb_reader')
>>
>> # https://github.com/0day-ci/linux/commit/89b15c614286cea77d633ade2a9045060...
>> git remote add linux-review https://github.com/0day-ci/linux
>> git fetch --no-tags linux-review Stephan-M-ller/dev-random-a-new-approach-with-full-SP800-90B-compliance/20200820-165712
>> git checkout 89b15c614286cea77d633ade2a9045060a492149
>> vim +255 drivers/char/lrng/lrng_testing.c
>>
>> 252
>> 253 static struct lrng_testing lrng_raw_hires = {
>> 254 .rb_reader = 0,
>> > 255 .rb_reader = 0,
>> 256 .lock = __SPIN_LOCK_UNLOCKED(lrng_raw_hires.lock),
>> 257 .read_wait = __WAIT_QUEUE_HEAD_INITIALIZER(lrng_raw_hires.read_wait)
>> 258 };
>> 259
>>
>> ---
>> 0-DAY CI Kernel Test Service, Intel Corporation
>> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>
2 years, 1 month
Re: [PATCH v9 21/24] coresight: cti: allow cti to be built as a module
by kernel test robot
Hi Tingwei,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on next-20200819]
[cannot apply to stm32/stm32-next soc/for-next linus/master v5.9-rc1 v5.8 v5.8-rc7 v5.9-rc1]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Tingwei-Zhang/coresight-allow-to...
base: 8eb858df0a5f6bcd371b5d5637255c987278b8c9
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/hwtracing/coresight/coresight-cti-core.c:562:6: warning: no previous prototype for 'cti_add_assoc_to_csdev' [-Wmissing-prototypes]
562 | void cti_add_assoc_to_csdev(struct coresight_device *csdev)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/hwtracing/coresight/coresight-cti-core.c:600:6: warning: no previous prototype for 'cti_remove_assoc_from_csdev' [-Wmissing-prototypes]
600 | void cti_remove_assoc_from_csdev(struct coresight_device *csdev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# https://github.com/0day-ci/linux/commit/12056bd06fed024dafde4b2937e601f9a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Tingwei-Zhang/coresight-allow-to-build-coresight-as-modules/20200820-135428
git checkout 12056bd06fed024dafde4b2937e601f9ac958ca9
vim +/cti_add_assoc_to_csdev +562 drivers/hwtracing/coresight/coresight-cti-core.c
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 556
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 557 /*
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 558 * Search the cti list to add an associated CTI into the supplied CS device
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 559 * This will set the association if CTI declared before the CS device.
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 560 * (called from coresight_register() with coresight_mutex locked).
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 561 */
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 @562 void cti_add_assoc_to_csdev(struct coresight_device *csdev)
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 563 {
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 564 struct cti_drvdata *ect_item;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 565 struct cti_device *ctidev;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 566 const char *node_name = NULL;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 567
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 568 /* protect the list */
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 569 mutex_lock(&ect_mutex);
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 570
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 571 /* exit if current is an ECT device.*/
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 572 if ((csdev->type == CORESIGHT_DEV_TYPE_ECT) || list_empty(&ect_net))
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 573 goto cti_add_done;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 574
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 575 /* if we didn't find the csdev previously we used the fwnode name */
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 576 node_name = cti_plat_get_node_name(dev_fwnode(csdev->dev.parent));
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 577 if (!node_name)
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 578 goto cti_add_done;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 579
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 580 /* for each CTI in list... */
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 581 list_for_each_entry(ect_item, &ect_net, node) {
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 582 ctidev = &ect_item->ctidev;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 583 if (cti_match_fixup_csdev(ctidev, node_name, csdev)) {
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 584 /*
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 585 * if we found a matching csdev then update the ECT
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 586 * association pointer for the device with this CTI.
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 587 */
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 588 csdev->ect_dev = ect_item->csdev;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 589 break;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 590 }
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 591 }
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 592 cti_add_done:
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 593 mutex_unlock(&ect_mutex);
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 594 }
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 595
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 596 /*
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 597 * Removing the associated devices is easier.
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 598 * A CTI will not have a value for csdev->ect_dev.
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 599 */
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 @600 void cti_remove_assoc_from_csdev(struct coresight_device *csdev)
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 601 {
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 602 struct cti_drvdata *ctidrv;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 603 struct cti_trig_con *tc;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 604 struct cti_device *ctidev;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 605
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 606 mutex_lock(&ect_mutex);
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 607 if (csdev->ect_dev) {
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 608 ctidrv = csdev_to_cti_drvdata(csdev->ect_dev);
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 609 ctidev = &ctidrv->ctidev;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 610 list_for_each_entry(tc, &ctidev->trig_cons, node) {
e2f7f25cf0f7159 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-08-20 611 if (tc->con_dev == csdev) {
773a0a19acaf1b1 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-08-20 612 cti_remove_sysfs_link(ctidrv, tc);
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 613 tc->con_dev = NULL;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 614 break;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 615 }
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 616 }
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 617 csdev->ect_dev = NULL;
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 618 }
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 619 mutex_unlock(&ect_mutex);
177af8285b59a38 drivers/hwtracing/coresight/coresight-cti.c Mike Leach 2020-03-20 620 }
79231847141a5a8 drivers/hwtracing/coresight/coresight-cti.c Tingwei Zhang 2020-08-20 621
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month