#!/bin/bash # # Copyright(c) 2012-2022 Intel Corporation # Copyright(c) 2024 Huawei Technologies # 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 "blkdev_get_by_path(NULL, 0, NULL);" "linux/blkdev.h" then echo $cur_name 1 >> $config_file_path elif compile_module $cur_name "blkdev_get_by_path(NULL, 0, NULL, NULL);" "linux/blkdev.h" then echo $cur_name 2 >> $config_file_path elif compile_module $cur_name "bdev_open_by_path(NULL, 0, NULL, NULL);" "linux/blkdev.h" then echo $cur_name 3 >> $config_file_path elif compile_module $cur_name "bdev_file_open_by_path(NULL, 0, NULL, NULL);" "linux/blkdev.h" then echo $cur_name 4 >> $config_file_path else echo $cur_name X >> $config_file_path fi } apply() { case "$1" in "1") add_typedef "struct block_device *cas_bdev_handle_t;" add_define "cas_bdev_open_by_path(path, mode, holder) \\ blkdev_get_by_path(path, mode, holder)" add_define "cas_bdev_get_from_handle(handle) \\ ((struct block_device *)handle)" ;; "2") add_typedef "struct block_device *cas_bdev_handle_t;" add_define "cas_bdev_open_by_path(path, mode, holder) \\ blkdev_get_by_path(path, mode, holder, NULL)" add_define "cas_bdev_get_from_handle(handle) \\ ((struct block_device *)handle)" ;; "3") add_typedef "struct bdev_handle *cas_bdev_handle_t;" add_define "cas_bdev_open_by_path(path, mode, holder) \\ bdev_open_by_path(path, mode, holder, NULL)" add_define "cas_bdev_get_from_handle(handle) \\ (handle->bdev)" ;; "4") add_typedef "struct file *cas_bdev_handle_t;" add_define "cas_bdev_open_by_path(path, mode, holder) \\ bdev_file_open_by_path(path, mode, holder, NULL)" add_define "cas_bdev_get_from_handle(handle) \\ file_bdev(handle)" ;; *) exit 1 esac } conf_run $@