you gotta solve those compile errors emitted by clang. bindgen uses libclang to parse the C/C++ definitions in the header files. you must specify the correct compiler flags, just as you would when you build using gcc. if you don't specify the correct compiler flags to properly build the C code, how can bindgen and libclang know them?
try resolve all the compiler errors then bindgen should happily generate ffi bindings for you.
not a kernel developer myself, but some google search, e.g. __no_sanitize_or_inline, shows they are defined in linux/include/linux/compiler_types.h
these errors are not specific to the rust language, nor even to C/C++ in general, but very specific to the linux kernel codebase. the kernel has it's own build system, in general it's not enough to just point a C compiler to a single file in the source tree, even if you can get it to compile, it might not be configured properly to have the correct ABI that's suitable to use on the target system.
let's wait for someone on this forum who has the knowledge, and I also suggest you consult the kernel developer community, as you might have higher chance to get useful help there.