| 12345678910111213141516171819202122232425 |
- // SPDX-License-Identifier: GPL-2.0
- use proc_macro2::TokenStream;
- use quote::quote;
- /// Please see [`crate::export`] for documentation.
- pub(crate) fn export(f: syn::ItemFn) -> TokenStream {
- let name = &f.sig.ident;
- quote! {
- // This verifies that the function has the same signature as the declaration generated by
- // bindgen. It makes use of the fact that all branches of an if/else must have the same
- // type.
- const _: () = {
- if true {
- ::kernel::bindings::#name
- } else {
- #name
- };
- };
- #[no_mangle]
- #f
- }
- }
|