52 lines · rust
1// SPDX-License-Identifier: GPL-2.02 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 is8//! not ported or wrapped in the `kernel` crate, then do so first instead of9//! using this crate.10 11#![no_std]12// See <https://github.com/rust-lang/rust-bindgen/issues/1651>.13#![cfg_attr(test, allow(deref_nullptr))]14#![cfg_attr(test, allow(unaligned_references))]15#![cfg_attr(test, allow(unsafe_op_in_unsafe_fn))]16#![allow(17 clippy::all,18 missing_docs,19 non_camel_case_types,20 non_upper_case_globals,21 non_snake_case,22 improper_ctypes,23 unreachable_pub,24 unsafe_op_in_unsafe_fn25)]26 27#[allow(dead_code)]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, so40// ignore the warning here.41#[allow(dead_code)]42mod bindings_helper {43 // Import the generated bindings for types.44 use super::bindings_raw::*;45 include!(concat!(46 env!("OBJTREE"),47 "/rust/bindings/bindings_helpers_generated.rs"48 ));49}50 51pub use bindings_raw::*;52