Commit 27c7518e authored by Miguel Ojeda's avatar Miguel Ojeda
Browse files

rust: finish using custom FFI integer types

In the last kernel cycle we migrated most of the `core::ffi` cases in
commit d072acda ("rust: use custom FFI integer types"):

    Currently FFI integer types are defined in libcore. This commit
    creates the `ffi` crate and asks bindgen to use that crate for FFI
    integer types instead of `core::ffi`.

    This commit is preparatory and no type changes are made in this
    commit yet.

Finish now the few remaining/new cases so that we perform the actual
remapping in the next commit as planned.

Acked-by: Jocelyn Falempe <jfalempe@redhat.com> # drm
Link: https://lore.kernel.org/rust-for-linux/CANiq72m_rg42SvZK=bF2f0yEoBLVA33UBhiAsv8THhVu=G2dPA@mail.gmail.com/
Link: https://lore.kernel.org/all/cc9253fa-9d5f-460b-9841-94948fb6580c@redhat.com/


Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 78d4f34e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -931,7 +931,7 @@ fn draw_all(&mut self, data: impl Iterator<Item = u8>) {
/// They must remain valid for the duration of the function call.
#[no_mangle]
pub unsafe extern "C" fn drm_panic_qr_generate(
    url: *const i8,
    url: *const kernel::ffi::c_char,
    data: *mut u8,
    data_len: usize,
    data_size: usize,
+2 −2
Original line number Diff line number Diff line
@@ -173,10 +173,10 @@ unsafe fn printk(&self, klevel: &[u8], msg: fmt::Arguments<'_>) {
        #[cfg(CONFIG_PRINTK)]
        unsafe {
            bindings::_dev_printk(
                klevel as *const _ as *const core::ffi::c_char,
                klevel as *const _ as *const crate::ffi::c_char,
                self.as_raw(),
                c_str!("%pA").as_char_ptr(),
                &msg as *const _ as *const core::ffi::c_void,
                &msg as *const _ as *const crate::ffi::c_void,
            )
        };
    }
+2 −6
Original line number Diff line number Diff line
@@ -11,16 +11,12 @@
use crate::{
    bindings,
    error::{to_result, Error, Result, VTABLE_DEFAULT_ERROR},
    ffi::{c_int, c_long, c_uint, c_ulong},
    prelude::*,
    str::CStr,
    types::{ForeignOwnable, Opaque},
};
use core::{
    ffi::{c_int, c_long, c_uint, c_ulong},
    marker::PhantomData,
    mem::MaybeUninit,
    pin::Pin,
};
use core::{marker::PhantomData, mem::MaybeUninit, pin::Pin};

/// Options for creating a misc device.
#[derive(Copy, Clone)]
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
/// successful call to `security_secid_to_secctx`, that has not yet been destroyed by calling
/// `security_release_secctx`.
pub struct SecurityCtx {
    secdata: *mut core::ffi::c_char,
    secdata: *mut crate::ffi::c_char,
    seclen: usize,
}

+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ pub fn call_printf(&self, args: core::fmt::Arguments<'_>) {
            bindings::seq_printf(
                self.inner.get(),
                c_str!("%pA").as_char_ptr(),
                &args as *const _ as *const core::ffi::c_void,
                &args as *const _ as *const crate::ffi::c_void,
            );
        }
    }
Loading