Training courses
Kernel and Embedded Linux
Bootlin training courses
1 2 3
This contains section 9 of the online manual pages for kernel programming, which describe APIs available for writing device drivers and other parts of the kernel.