Linux driver programming tutorial - JohnHau/mis GitHub Wiki

https://www.apriorit.com/dev-blog/195-simple-driver-for-linux-os https://embetronicx.com/tutorials/linux/device-drivers/linux-device-driver-part-1-introduction/

https://studenti.fisica.unifi.it/~carla/manuali/linux_device_driver_tutorial.pdf

https://github.com/Johannes4Linux/Linux_Driver_Tutorial https://github.com/rprata/linux-device-driver-tutorial

https://linuxhint.com/linux-device-driver-tutorial/

https://www.tutorialsdaddy.com/courses/linux-device-driver/

https://www.xilinx.com/video/soc/linux-device-drivers-part-1-the-basics.html

https://alison.com/course/linux-for-absolute-beginners?utm_source=google&utm_medium=cpc&utm_campaign=PPC_Tier-2_Course-3516_Linux-for-Absolute-Beginners&utm_adgroup=Course-3516_Linux-for-Absolute-Beginners&gclid=CjwKCAjw6MKXBhA5EiwANWLODMrnetWLBzzF-mhU6mgphqTcUHGWHw21FHpFQZISjaZ3f7f6MzIgwxoCF4MQAvD_BwE

https://events19.linuxfoundation.org/wp-content/uploads/2017/12/Introduction-to-Linux-Kernel-Driver-Programming-Michael-Opdenacker-Bootlin-.pdf

https://training.linuxfoundation.org/resources/webinars/write-a-real-linux-driver/

https://www.nxp.com/docs/en/reference-manual/Linux%20Device%20Drivers.pdf

https://riptutorial.com/linux-device-driver/example/31729/hello-world-device-driver https://kernel.readthedocs.io/en/sphinx-samples/writing_usb_driver.html

https://docs.kernel.org/driver-api/basics.html

https://docs.kernel.org/PCI/pci.html

https://xilinx.github.io/Embedded-Design-Tutorials/docs/2021.1/build/html/docs/Introduction/Zynq7000-EDT/8-custom-ip-driver-linux.html https://www.udemy.com/course/linux-device-driver-programming-using-beaglebone-black/

https://www.udemy.com/course/linux-administration-bootcamp/?gclid=CjwKCAjw6MKXBhA5EiwANWLODDayTtfHfQTPqRbni3Yq2_RkLWhpba545fbN0XAWPbHl15FmRl8EABoCt9EQAvD_BwE&matchtype=b&utm_campaign=LongTail_la.EN_cc.JP&utm_content=deal4584&utm_medium=udemyads&utm_source=adwords&utm_term=_.ag_111910119964.ad_469120123146.kw%2Blinux+%2Btraining_.de_c.dm_.pl_.ti_kwd-364817444397.li_20636.pd_._

https://www.udemy.com/course/linux-administration-bootcamp/?gclid=CjwKCAjw6MKXBhA5EiwANWLODDayTtfHfQTPqRbni3Yq2_RkLWhpba545fbN0XAWPbHl15FmRl8EABoCt9EQAvD_BwE&matchtype=b&utm_campaign=LongTail_la.EN_cc.JP&utm_content=deal4584&utm_medium=udemyads&utm_source=adwords&utm_term=_.ag_111910119964.ad_469120123146.kw%2Blinux+%2Btraining_.de_c.dm_.pl_.ti_kwd-364817444397.li_20636.pd_._

https://elinux.org/images/6/6d/SoYouWantToWriteALinuxDriverSubsystem.pdf https://01.org/linuxgraphics/gfx-docs/drm/input/input-programming.html

https://bootlin.com/doc/legacy/serial-drivers/linux-serial-drivers.pdf

https://en.linuxteaching.com/article/linux_device_driver_tutorial

https://stackoverflow.com/questions/22632713/how-to-write-a-simple-linux-device-driver

https://tldp.org/LDP/lkmpg/2.6/lkmpg.pdf

https://docs.oracle.com/cd/E19120-01/open.solaris/819-3159/emjjp/index.html

https://www.oreilly.com/library/view/linux-device-drivers/0596000081/ch03s08.html

https://lwn.net/Kernel/LDD3/

https://www.embedded.com/linux-device-driver-design/

https://piembsystech.com/linux-device-driver/

https://www.infoq.com/news/2021/04/rust-linux-kernel-development/

https://linuxgazette.net/156/jangir.html

https://www.bogotobogo.com/Linux/linux_drivers_1.php

http://derekmolloy.ie/writing-a-linux-kernel-module-part-2-a-character-device/

http://www.sharetechnote.com/html/Linux_DeviceDriver_Programing.html

https://www.linuxjournal.com/article/2476 https://www.feabhas.com/content/developing-linux-device-drivers

https://www.win.tue.nl/~aeb/linux/lk/lk-11.html https://docs.oracle.com/cd/E37670_01/E52461/html/ch06s05.html

https://gist.github.com/ksvbka/0cd1a31143c1003ce6c7 https://developpaper.com/brief-description-of-linux-character-device-driver-1/

https://nuttx.apache.org/docs/latest/components/drivers/character/index.html

https://01.org/linuxgraphics/gfx-docs/drm/driver-api/rapidio/mport_cdev.html

https://sites.google.com/site/linuxkernel88/sample-code/writing-a-character-driver

https://programmer.group/linux-device-driver-learning-notes-character-device-driver-note.1.html

https://www.xilinx.com/video/soc/linux-device-drivers-part-2-platform-character-drivers.html

https://stackoverflow.com/questions/61862185/character-device-driver-read-write-in-linux

https://programmer.ink/think/character-device-driver-foundation-ii.html

https://ftp.intel.com/Public/Pub/fpgaup/pub/Teaching_Materials/current/Laboratory_Exercises/Embedded_Systems/lab3.pdf

https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_en-1.3.0/ch08.html

https://www.qnx.com/developers/docs/7.1/#com.qnx.doc.neutrino.user_guide/topic/cmdline_CharDevices.html

https://www.halolinux.us/kernel-reference/character-device-drivers.html

https://www.shopsy.in/linux-kernel-programming-part-2-char-device-drivers-synchronization/p/itm93c82910d8054

https://www.ccsl.carleton.ca/~falaca/comp3000/a4.html

https://sysprogs.com/VisualKernel/tutorials/samples/chardev/

https://askubuntu.com/questions/1021394/what-is-a-character-device

https://hackmd.io/@cnUGW4jqSB69xyw06q2pWg/SJeoD1-WS

http://www.faqs.org/docs/kernel/x571.html

https://elinux.org/EBC_Exercise_26_Device_Drivers

http://www.cs.albany.edu/~sdc/CSI500/Fal12/Homework/ModulesTimingHw.html

https://www.fatalerrors.org/a/raspberry-pie-linux-led-character-device-driver-platform.html

https://www.csee.umbc.edu/~jtang/archives/cs421.f19/lectures/L18DeviceDrivers.pdf

https://ufal.mff.cuni.cz/~jernej/2018/docs/predavanja03.pdf

https://sysplay.in/blog/linux-device-drivers/2013/05/linux-character-drivers/

https://astro.uni-bonn.de/~sysstw/CompMan/ldp/lkmpg/node11.html

https://people.umass.edu/tongping/teaching/ece570/10-DeviceDriver.pdf

https://www.tutorialsdaddy.com/courses/linux-device-driver/lessons/char-driver/

https://makelinux.net/ldd3/chp-1-sect-3.shtml

https://ofstack.com/Linux/17368/the-linux-character-device-driver-framework-is-described-in-detail.html

http://www.staroceans.org/kernel-and-driver/writing%20character%20device%20driver%20for%20linux.pdf

https://www.cnblogs.com/yubao/p/8541114.html

https://www.waterstones.com/book/linux-kernel-programming-part-2-char-device-drivers-and-kernel-synchronization/kaiwan-n-billimoria//9781801079518

https://www.cse.iitb.ac.in/~bestin/btech-proj/slip/x113.html

https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.182.1332&rep=rep1&type=pdf

https://www.cems.uwe.ac.uk/~irjohnso/coursenotes/lrc/device/character/cd2.htm

https://www.jungo.com/st/support/documentation/windriver/10.2.1/wdpci_manual.mhtml/os_classification.html

http://www.cs.columbia.edu/~sedwards/classes/2014/4840/device-drivers.pdf

https://www.iosrjournals.org/iosr-jece/papers/Vol.%2011%20Issue%206/Version-2/H1106024652.pdf

https://www.linuxjournal.com/article/10650

https://www.embedded.com/embedded-linux-device-drivers-writing-a-kernel-device-driver/

https://www.systranbox.com/how-to-open-character-device-file-in-linux/

https://appusajeev.wordpress.com/2011/06/18/writing-a-linux-character-device-driver/

http://haifux.org/lectures/86-sil/kernel-modules-drivers/node10.html

https://www.ncnr.nist.gov/staff/nickm/device/ https://www.quickanswer.blog/what-is-block-device-and-character-device-in-linux/

https://www.spinics.net/lists/kernel/msg4463261.html

https://www.strelkamag.com/meranda/pointer/adobe.php?pass=linux-device-drivers-pdf&hexcode=1f99d4743a5e2c8355a7de563c9138e7

https://blog.fearcat.in/a?ID=00100-9561197c-8d14-422d-8def-8a2581d837d1

https://www.programmersought.com/article/99751788144/

https://www.techrepublic.com/article/linux-kernel-5-19-networking-improvements/

https://linux-kernel-labs.github.io/refs/heads/master/labs/block_device_drivers.html

https://olegkutkov.me/2020/02/10/linux-block-device-driver/

https://docs.oracle.com/cd/E19455-01/805-7378/drvovr-2/index.html

https://docs.oracle.com/cd/E19683-01/806-5222/block-34861/index.html

https://bootlin.com/doc/legacy/block-drivers/block_drivers.pdf

https://docs.kernel.org/block/null_blk.html

https://www.linuxjournal.com/article/2890

https://lwn.net/Articles/58720/

http://www.embeddedlinux.org.cn/essentiallinuxdevicedrivers/final/ch14.html

https://ufal.mff.cuni.cz/~jernej/2018/docs/predavanja14.pdf https://tldp.org/LDP/khg/HyperNews/get/devices/basics.html

https://github.com/topics/block-device

https://01.org/linuxgraphics/gfx-docs/drm/driver-api/index.html

https://www.usenix.org/legacy/publications/library/proceedings/als01/full_papers/siddha/siddha_html/node16.html

https://www.mimuw.edu.pl/~vincent/lecture13/13-dm.pdf

https://how-to.fandom.com/wiki/How_to_configure_the_Linux_kernel/Device_drivers/Block_devices

https://www.cems.uwe.ac.uk/~irjohnso/coursenotes/lrc/device/block/bd3.htm

https://www.redhat.com/en/blog/linux-block-devices-hints-debugging-and-new-developments

https://en.wikipedia.org/wiki/Network_block_device

https://www.ibm.com/docs/en/linux-on-systems?topic=accessed-names-nodes-numbers

https://devarea.com/wp-content/uploads/2017/10/Linux-VFS-and-Block.pdf

https://stackoverflow.com/questions/67006403/what-is-the-relationship-between-device-drivers-and-a-filesystem

https://www.xml.com/ldd/chapter/book/ch12.html

https://programming.vip/docs/linux-driver-development-block-device-driver.html

https://www.sanfoundry.com/linux-block-device-drivers-training/ https://www.emblogic.com/165/block-device-driver-development

https://www.halolinux.us/kernel-reference/an-overview-of-block-device-driver-architecture.html

http://gauss.ececs.uc.edu/Courses/c4029/code/drivers/SBlock/LDD2-block-device-drivers.pdf

https://prog.world/linux-kernel-5-0-we-write-simple-block-device-under-blk-mq/

https://wiki.archlinux.org/title/Device_file

https://www.quora.com/What-is-difference-between-a-character-device-driver-and-a-block-device-driver-in-Linux

https://spdk.io/doc/bdev.html

https://unix.stackexchange.com/questions/570492/in-which-context-the-linux-block-device-driver-request-runs

https://cateee.net/lkddb/web-lkddb/LBD.html

http://www.cs.bilkent.edu.tr/~korpe/courses/cs342-spring2004/linux-kernel/dd/drivers.html

https://hackmd.io/@combo-tw/ryRp--nQS

http://www.science.unitn.it/~fiorella/guidelinux/tlk/node85.html

https://chemnitzer.linux-tage.de/2021/media/programm/folien/165.pdf

https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/drivers/block/Kconfig

https://www.linuxtopia.org/online_books/opensolaris_2008/DRIVER/html/block-34861.html

https://www.fatalerrors.org/a/introduction-of-linux-block-device-driver.html https://elinux.org/Device_drivers

https://www.nxp.com/files-static/soft_dev_tools/doc/ref_manual/Linux%20Device%20Drivers.pdf

https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.26.6951&rep=rep1&type=pdf

https://www.phoronix.com/news/Linux-5.14-Dropping-RAW-Driver

https://people.cs.rutgers.edu/~pxk/416/notes/11-devices.html

https://sysplay.in/blog/category/linux-device-drivers/

http://blog.vmsplice.net/2020/04/how-linux-vfs-block-layer-and-device.html

https://www.cs.utah.edu/flux/oskit/OLD/html/doc-0.96/node770.html

https://www.infradead.org/~mchehab/kernel_docs/admin-guide/blockdev/nbd.html

https://www.opensourceforu.com/2016/02/waiting-and-blocking-in-a-linux-driver/

https://developpaper.com/linux-0-11-source-code-reading-notes-block-device-driver/

https://www.embedded.com/a-survey-of-linux-device-drivers/

https://renenyffenegger.ch/notes/Linux/devices/index

https://docs.huihoo.com/doxygen/linux/kernel/3.7/brd_8c_source.html

https://programmer.help/blogs/a-simple-block-device-driver-using-memory-analog-hard-disk.html

https://blog.csdn.net/weixin_43780260/article/details/88993543

https://block.opendns.com/swg?server=swg-nginx-proxy-https-e4bb60aa67ed.signginx.nrt&v=eyJhbGciOiAiSFM1MTIiLCAia2lkIjogIjE1NjM1NTk3OTYifQ.eyJidHlwZSI6ICIiLCAib3JnIjogNDcwODEzMCwgIm9pZCI6IDQ4MzM3NjQwMCwgImJpZCI6IDcyMjQ0NDgsICJwcmYiOiAzNjk0NjU2LCAidCI6ICIxMDE4MDAwMDAwMDAwMDAwMDAwNDAwMjFGMDAwMDAwMDAwMDAwMDAwMCIsICJiYyI6ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsICJ1cmwiOiAiaHR0cHM6Ly9jZG4uZWJ4dTJsYS5jbHViL3IvdzY4R3NYLyUzRnE9d3JpdGluZyUyNTIwYSUyNTIwdW5peCUyNTIwZGV2aWNlJTI1MjBkcml2ZXIiLCAiZnRjIjogIiIsICJmbmFtZXMiOiAiIiwgImJwaWQiOiAwfQ.eC96Tn-A2KUrgbSvhns46CmdGqNywi12QPGJ0EfiGve93kuOBmDbgMwip_UDmA6bJ063PnuliqLgCkl1oS895g

https://www.programmersought.com/article/83054180407/

https://sysplay.github.io/books/LinuxDrivers/book/Content/Part02.html

https://www.forth.com/swiftforth/?gclid=CjwKCAjw6MKXBhA5EiwANWLODMMBZD31no0ksu505bQKRMAQu3W-UCvurcwHD5RRa47_QYALRkUTMBoC8NgQAvD_BwE

https://www.iuac.res.in/phoenix/das/driverguide/index.html

https://www.kernel.org/doc/html/v4.17/input/input-programming.html

https://olegkutkov.me/2018/03/14/simple-linux-character-device-driver/

https://www.electronicdesign.com/home/article/21200660/interfacing-da-hardware-to-linux?gclid=CjwKCAjw6MKXBhA5EiwANWLODFWBx9Y5R-GUEOnA_SkXEhW1Kg9XAfJEDedHv7Kbb4nnbfPt1TlcVxoC58AQAvD_BwE

https://www.pengutronix.de/en/blog/2021-02-21-showcase-off-the-shelf-system.html?gclid=CjwKCAjw6MKXBhA5EiwANWLODJclsCEHr331u98kppCQtJU6Rrm65r4cUqmwthMpot71UVdqcMqX7hoCTTgQAvD_BwE

http://freesoftwaremagazine.com/articles/drivers_linux/

https://www.opensourceforu.com/2010/12/writing-your-first-linux-driver/

https://ce.uci.edu/courses/sectiondetail.aspx?year=2016&term=SUMMER&sid=00102

https://github.com/pokitoz/ioctl_driver

https://linux.practicetestgeeks.com/linux-practice-test/?gclid=CjwKCAjw6MKXBhA5EiwANWLODF3BpPAKFg1dC-d7otEa_X_0FJU0zejZxZvF5eZsfqkb3Z_YcG4aqBoCDowQAvD_BwE

https://www.acmesystems.it/compile_a_device_driver

https://unix.stackexchange.com/questions/269372/what-happens-when-writing-to-a-device-driver

https://sysplay.in/blog/linux-device-drivers/2013/03/writing-your-first-linux-driver-in-the-classroom/

https://blog.robertelder.org/what-is-ssh/?gclid=CjwKCAjw6MKXBhA5EiwANWLODG0_nV3Tn4abVzKDWsgAhzzpsV7f_8aQj9-fTOyG1jOhQhGPfQJFSRoCjWsQAvD_BwE

https://bootlin.com/doc/training/linux-kernel/linux-kernel-agenda.pdf

https://www.microchip.com/forums/m480404.aspx

http://www.embeddedlinux.org.cn/EmbLinux/ch07lev1sec4.htm

http://matthias.vallentin.net/blog/2007/04/writing-a-linux-kernel-driver-for-an-unknown-usb-device/

https://www.integrasources.com/services/linux-kernel-and-driver-development/

https://forum.arduino.cc/t/serial-communication-with-linux-kernel-device-driver-that-we-write/429965 http://www.staroceans.org/kernel-and-driver/2009%20Writing%20Linux%20Device%20Drivers%20-%20a%20guide%20with%20exercises%20(2009%2C%209781448672387).pdf

https://www.thegeekstuff.com/2013/07/write-linux-kernel-module/

https://unix.stackexchange.com/questions/704865/writing-a-kernel-driver-knowledge-of-specific-interrupt-pins

https://www.geeksforgeeks.org/loadable-kernel-module-linux-device-driver-development/

https://www.infradead.org/~mchehab/kernel_docs/PCI/pci.html

https://rocketboards.org/foswiki/Documentation/WS3DevelopingDriversForAlteraSoCLinux

https://cloud.tencent.com/developer/article/1503098 https://habr.com/en/post/484752/

https://www.cnblogs.com/rain-blog/p/Writing-device-drivers-in-Linux-A-brief-tutorial.html

https://www.neowin.net/news/driver-genius-2200147/

https://www.linuxtechi.com/things-to-do-after-installing-linux-mint/

https://sysprog21.github.io/lkmpg/

https://bootlin.com/training/kernel/

http://www.cs.uni.edu/~diesburg/courses/dd/syllabus.html

https://barrgroup.com/embedded-systems/training-courses/embedded-linux-driver-development

https://stackoverflow.com/questions/11220720/linux-kernel-device-driver-programming

https://www.linuxcertified.com/linux-device-driver-training.html

https://kops.uni-konstanz.de/bitstream/handle/123456789/17597/Studienarb-linux_kernel_dev.pdf;jsessionid=E6ED8A1679EE7FF10469B3CA0D02EA64?sequence=1

https://www.plm.automation.siemens.com/global/en/products/embedded/linux.html?gclid=CjwKCAjw6MKXBhA5EiwANWLODH02yjTtYFzh1zn2EMWw9pqeuSA8Z7zUbTTd6jrQrySulqF8OzKrWRoCSZcQAvD_BwE

https://www.ucsc-extension.edu/courses/linux-kernel-drivers/

https://raspberrypi.stackexchange.com/questions/8976/learning-linux-driver-development-with-raspberry-pi

https://www.xml.com/ldd/chapter/book/ch02.html

https://www.windriver.com/products/board-support-packages?gclid=CjwKCAjw6MKXBhA5EiwANWLODC5TUXaB0tl9wwEgYeAd0kscMHh3_f4Q6yBe-otj8sahJ4tqVbeKIxoCN0oQAvD_BwE&utm_source=google&utm_medium=sem&utm_campaign=vp-dg-amer-vhs-sem-bsp-exact-brand-08032021

https://www.ijser.org/researchpaper/Device-driver-programming-Implementation-of-Linux-USB-Device-Driver.pdf

https://www.embedded.com/embedded-linux-device-drivers-discovering-the-hardware-configuration/

https://upcommons.upc.edu/bitstream/handle/2117/96633/Analysis+of+Techniques+for+Linux+Kernel+Device+Driver+Programming.pdf;jsessionid=DF58F32A28B82FD246566C157E3655A9?sequence=1

https://www.linux.com/news/driver-development-kit-released-new-linux-programmers/

https://itecnote.com/tecnote/r-linux-kernel-device-driver-programming/

https://www.codeproject.com/Articles/112474/A-Simple-Driver-for-Linux-OS

https://www.goodreads.com/list/show/92948.Linux_Kernel_Driver_Programming https://www.opensourceforu.com/2010/11/understanding-linux-device-drivers/

https://blog.katastros.com/a?ID=01050-becddd68-ae24-4438-9941-9a73ceaa6464

https://www.ti.com/design-resources/embedded-development/embedded-software.html?utm_source=google&utm_medium=cpc&utm_campaign=epd-null-null-58700006655839283_EmbeddedMicrocontroller_Programming-cpc-pp-google-wwe&utm_content=EmbeddedMicrocontroller_Programming&ds_k=embedded+programming&DCM=yes&gclid=CjwKCAjw6MKXBhA5EiwANWLODJuDdojPUOvdIytm2pSaXZ5Rd2quLynn88LYmoqpkA5P-a3GXmqWkRoCLLYQAvD_BwE&gclsrc=aw.ds

https://www.phoronix.com/news/Rust-v8-For-Linux-Kernel

https://phyton.com/?gclid=CjwKCAjw6MKXBhA5EiwANWLODHo9zFd0LNR7KPz-rk0vqtlXcKwBG06BZNmCc4Z0Ip7nJp_Lma5EgRoCri0QAvD_BwE

https://wiki.st.com/stm32mpu/wiki/How_to_find_Linux_kernel_driver_associated_to_a_device

https://www.opensourceforu.com/tag/linux-device-drivers-series/

https://www.slideshare.net/EmertxeSlides/linux-device-drivers-45884477

https://www.linuxtoday.com/blog/linux-camera-driver-tutorial/ http://www.haifux.org/lectures/89/intro_linux_device_drivers.pdf

https://www.geeksforgeeks.org/device-drivers-in-linux/

https://dri.freedesktop.org/docs/drm/driver-api/index.html

https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad7291

https://pete.akeo.ie/2011/08/writing-linux-device-driver-for-kernels.html

http://www.kroah.com/linux/

https://www.cnblogs.com/yuxiaolan/category/1916374.html

https://unix.stackexchange.com/questions/1003/linux-kernel-good-beginners-tutorial

https://hubtronics.in/learn/rpi-device-drivers-lab0

https://courses.engr.illinois.edu/cs423/sp2014/Lectures/LinuxDriver.pdf

https://www.xprintertech.com/label-printer-driver-tutorial-on-linux

https://sysplay.in/blog/linux-device-drivers/2013/02/linux-device-drivers-for-your-girl-friend/

https://embeddedguruji.blogspot.com/2018/12/linux-usb-device-driver-tutorial-part-1.html

https://news.ycombinator.com/item?id=21558538 https://www.xml.com/ldd/chapter/book/ch03.html

http://www.embeddedlinux.org.cn/essentiallinuxdevicedrivers/final/ch19.html

https://people.cs.pitt.edu/~jmisurda/teaching/cs449/valerie-henson-device-drivers-hello.pdf

http://xilinx.eetrend.com/files-eetrend-xilinx/forum/201509/9209-20396-embedded_linux_handson_tutorial_zedboard_rev1.pdf

https://olegkutkov.me/2018/03/14/simple-linux-character-device-driver/#:~:text=A%20character%20device%20is%20one,by%20byte%2C%20like%20a%20stream.

https://linux-kernel-labs.github.io/refs/heads/master/labs/device_drivers.html

https://tldp.org/LDP/lkmpg/2.4/html/x579.html

https://unix.stackexchange.com/questions/37829/how-do-character-device-or-character-special-files-work https://docs.oracle.com/cd/E19683-01/806-5222/drvovr-3/index.html

https://embetronicx.com/tutorials/linux/device-drivers/device-file-creation-for-character-drivers/

https://www.packtpub.com/free-ebook/linux-kernel-programming-part-2-char-device-drivers-and-kernel-synchronization/9781801079518