Merge tag 'mfd-next-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
[linux-block.git] / rust / bindings / lib.rs
CommitLineData
8326ac05
MO
1// SPDX-License-Identifier: GPL-2.0
2
3//! Bindings.
4//!
5//! Imports the generated bindings by `bindgen`.
6//!
7//! This crate may not be directly used. If you need a kernel C API that is
8//! not ported or wrapped in the `kernel` crate, then do so first instead of
9//! using this crate.
10
11#![no_std]
12#![feature(core_ffi_c)]
13// See <https://github.com/rust-lang/rust-bindgen/issues/1651>.
14#![cfg_attr(test, allow(deref_nullptr))]
15#![cfg_attr(test, allow(unaligned_references))]
16#![cfg_attr(test, allow(unsafe_op_in_unsafe_fn))]
17#![allow(
18 clippy::all,
19 missing_docs,
20 non_camel_case_types,
21 non_upper_case_globals,
22 non_snake_case,
23 improper_ctypes,
24 unreachable_pub,
25 unsafe_op_in_unsafe_fn
26)]
27
28mod bindings_raw {
29 // Use glob import here to expose all helpers.
30 // Symbols defined within the module will take precedence to the glob import.
31 pub use super::bindings_helper::*;
32 include!(concat!(
33 env!("OBJTREE"),
34 "/rust/bindings/bindings_generated.rs"
35 ));
36}
37
38// When both a directly exposed symbol and a helper exists for the same function,
39// the directly exposed symbol is preferred and the helper becomes dead code, so
40// ignore the warning here.
41#[allow(dead_code)]
42mod bindings_helper {
43 // Import the generated bindings for types.
9dc04365 44 use super::bindings_raw::*;
8326ac05
MO
45 include!(concat!(
46 env!("OBJTREE"),
47 "/rust/bindings/bindings_helpers_generated.rs"
48 ));
49}
50
51pub use bindings_raw::*;
52
53pub const GFP_KERNEL: gfp_t = BINDINGS_GFP_KERNEL;
54pub const __GFP_ZERO: gfp_t = BINDINGS___GFP_ZERO;