[$] How to write Rust in the kernel: part 3
The interfaces between C and Rust in the kernel have grown over time; anynon-trivial Rust driver will use a number of these. Tasks like allocating memory,dealing with immovable structures, and interacting with locks are necessary forhandling most devices. There are also many subsystem-specific bindings, but thefocus this time will be on an overview of the bindings that all kernel Rust codecan be expected to use.