
This patch introduces the support for 5.18 kernel. Signed-off-by: Krzysztof Majzerowicz-Jaszcz <krzysztof.majzerowicz-jaszcz@intel.com>
63 lines
1.4 KiB
Bash
63 lines
1.4 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Copyright(c) 2012-2022 Intel Corporation
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
. $(dirname $3)/conf_framework.sh
|
|
|
|
check() {
|
|
cur_name=$(basename $2)
|
|
config_file_path=$1
|
|
if compile_module $cur_name "struct gendisk *disk = NULL; struct xarray xa; xa = disk->part_tbl;" "linux/blkdev.h" ||
|
|
compile_module $cur_name "struct gendisk *disk = NULL; struct xarray xa; xa = disk->part_tbl;" "linux/genhd.h"
|
|
then
|
|
echo $cur_name "1" >> $config_file_path
|
|
elif compile_module $cur_name "struct gendisk *disk = NULL; struct disk_part_tbl *ptbl; ptbl = disk->part_tbl;" "linux/genhd.h"
|
|
then
|
|
echo $cur_name "2" >> $config_file_path
|
|
else
|
|
echo $cur_name "X" >> $config_file_path
|
|
fi
|
|
}
|
|
|
|
apply() {
|
|
case "$1" in
|
|
"1")
|
|
add_function "
|
|
static inline int cas_blk_get_part_count(struct block_device *bdev)
|
|
{
|
|
struct block_device *part;
|
|
unsigned long idx;
|
|
int count = 0;
|
|
|
|
xa_for_each(&bdev->bd_disk->part_tbl, idx, part) {
|
|
count++;
|
|
}
|
|
|
|
return count;
|
|
}" ;;
|
|
"2")
|
|
add_function "
|
|
static inline int cas_blk_get_part_count(struct block_device *bdev)
|
|
{
|
|
struct disk_part_tbl *ptbl;
|
|
int i, count = 0;
|
|
|
|
rcu_read_lock();
|
|
ptbl = rcu_dereference(bdev->bd_disk->part_tbl);
|
|
for (i = 0; i < ptbl->len; ++i) {
|
|
if (rcu_access_pointer(ptbl->part[i]))
|
|
count++;
|
|
}
|
|
rcu_read_unlock();
|
|
|
|
return count;
|
|
}" ;;
|
|
*)
|
|
exit 1
|
|
esac
|
|
}
|
|
|
|
conf_run $@
|