is this what you mean then ? : ```rs static mut SPI_INSTANCE: StaticCell>> = StaticCell::new(); ... unsafe { SPI_INSTANCE.init(Mutex::new(spi)); } ... extern "C" fn transfer16_function( _sensor_id: acc_sensor_id_t, buffer: *mut u16, buffer_length: usize, ) { let buffer = unsafe { core::slice::from_raw_parts_mut(buffer, buffer_length) }; unsafe { // Borrow a mutable reference to the SpiDevice let spi_ref = SPI_INSTANCE.borrow_mut(); // Perform the SPI transfer let unlock = spi_ref.get_mut().deref_mut(); unlock.write(buffer).expect("SPI transfer failed"); } } ```