├── Chapter02 ├── Makefile ├── README.md ├── helloworld-params.c └── helloworld.c ├── Chapter03 ├── Makefile ├── cmwq.c ├── dedicated-workqueue.c ├── hr-timer.c ├── shared-workqueue.c ├── std-timer.c ├── tasklet.c ├── user-invoke.c └── waitqueue.c ├── Chapter04 ├── Makefile ├── README.md └── dummy-char.c ├── Chapter07 ├── Makefile ├── README.md ├── platform-dummy-char.c └── platform-dummy-ins.c ├── Chapter08 ├── Makefile └── ee24lc512.c ├── Chapter09 ├── Makefile ├── eeprom_93xx46.c └── eeprom_93xx46.h ├── Chapter10 ├── Makefile ├── kmalloc.c ├── vma_list.c └── vmalloc.c ├── Chapter11 ├── Makefile ├── README.md └── dma-single-buffer.c ├── Chapter14 ├── sysfs-kobj-and-group │ ├── Makefile │ └── sysfs-group.c └── sysfs-poll │ ├── Makefile │ ├── README.md │ ├── sysfs-poll-user.c │ ├── sysfs-poll.c │ └── sysfs-select-user.c ├── Chapter15 ├── Makefile ├── README.md ├── iio-dummy-random.c └── iio-ins.c ├── Chapter16 ├── Makefile ├── README.md ├── fake-gpio-chip.c ├── fake-gpio-ins.c ├── gpio │ ├── Makefile │ ├── gpio-descriptor-module.c │ ├── gpio-legacy-dt-module.c │ └── gpio-legacy-module.c └── mcp23016.c ├── Chapter17 ├── Makefile ├── README.md ├── input-button.c ├── input-polled-button.c └── polled-ins.c ├── LICENSE └── README.md /Chapter02/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter02/Makefile -------------------------------------------------------------------------------- /Chapter02/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter02/README.md -------------------------------------------------------------------------------- /Chapter02/helloworld-params.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter02/helloworld-params.c -------------------------------------------------------------------------------- /Chapter02/helloworld.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter02/helloworld.c -------------------------------------------------------------------------------- /Chapter03/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/Makefile -------------------------------------------------------------------------------- /Chapter03/cmwq.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/cmwq.c -------------------------------------------------------------------------------- /Chapter03/dedicated-workqueue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/dedicated-workqueue.c -------------------------------------------------------------------------------- /Chapter03/hr-timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/hr-timer.c -------------------------------------------------------------------------------- /Chapter03/shared-workqueue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/shared-workqueue.c -------------------------------------------------------------------------------- /Chapter03/std-timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/std-timer.c -------------------------------------------------------------------------------- /Chapter03/tasklet.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/tasklet.c -------------------------------------------------------------------------------- /Chapter03/user-invoke.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/user-invoke.c -------------------------------------------------------------------------------- /Chapter03/waitqueue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter03/waitqueue.c -------------------------------------------------------------------------------- /Chapter04/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter04/Makefile -------------------------------------------------------------------------------- /Chapter04/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter04/README.md -------------------------------------------------------------------------------- /Chapter04/dummy-char.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter04/dummy-char.c -------------------------------------------------------------------------------- /Chapter07/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter07/Makefile -------------------------------------------------------------------------------- /Chapter07/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter07/README.md -------------------------------------------------------------------------------- /Chapter07/platform-dummy-char.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter07/platform-dummy-char.c -------------------------------------------------------------------------------- /Chapter07/platform-dummy-ins.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter07/platform-dummy-ins.c -------------------------------------------------------------------------------- /Chapter08/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter08/Makefile -------------------------------------------------------------------------------- /Chapter08/ee24lc512.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter08/ee24lc512.c -------------------------------------------------------------------------------- /Chapter09/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter09/Makefile -------------------------------------------------------------------------------- /Chapter09/eeprom_93xx46.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter09/eeprom_93xx46.c -------------------------------------------------------------------------------- /Chapter09/eeprom_93xx46.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter09/eeprom_93xx46.h -------------------------------------------------------------------------------- /Chapter10/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter10/Makefile -------------------------------------------------------------------------------- /Chapter10/kmalloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter10/kmalloc.c -------------------------------------------------------------------------------- /Chapter10/vma_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter10/vma_list.c -------------------------------------------------------------------------------- /Chapter10/vmalloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter10/vmalloc.c -------------------------------------------------------------------------------- /Chapter11/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter11/Makefile -------------------------------------------------------------------------------- /Chapter11/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter11/README.md -------------------------------------------------------------------------------- /Chapter11/dma-single-buffer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter11/dma-single-buffer.c -------------------------------------------------------------------------------- /Chapter14/sysfs-kobj-and-group/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter14/sysfs-kobj-and-group/Makefile -------------------------------------------------------------------------------- /Chapter14/sysfs-kobj-and-group/sysfs-group.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter14/sysfs-kobj-and-group/sysfs-group.c -------------------------------------------------------------------------------- /Chapter14/sysfs-poll/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter14/sysfs-poll/Makefile -------------------------------------------------------------------------------- /Chapter14/sysfs-poll/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter14/sysfs-poll/README.md -------------------------------------------------------------------------------- /Chapter14/sysfs-poll/sysfs-poll-user.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter14/sysfs-poll/sysfs-poll-user.c -------------------------------------------------------------------------------- /Chapter14/sysfs-poll/sysfs-poll.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter14/sysfs-poll/sysfs-poll.c -------------------------------------------------------------------------------- /Chapter14/sysfs-poll/sysfs-select-user.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter14/sysfs-poll/sysfs-select-user.c -------------------------------------------------------------------------------- /Chapter15/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter15/Makefile -------------------------------------------------------------------------------- /Chapter15/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter15/README.md -------------------------------------------------------------------------------- /Chapter15/iio-dummy-random.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter15/iio-dummy-random.c -------------------------------------------------------------------------------- /Chapter15/iio-ins.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter15/iio-ins.c -------------------------------------------------------------------------------- /Chapter16/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/Makefile -------------------------------------------------------------------------------- /Chapter16/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/README.md -------------------------------------------------------------------------------- /Chapter16/fake-gpio-chip.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/fake-gpio-chip.c -------------------------------------------------------------------------------- /Chapter16/fake-gpio-ins.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/fake-gpio-ins.c -------------------------------------------------------------------------------- /Chapter16/gpio/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/gpio/Makefile -------------------------------------------------------------------------------- /Chapter16/gpio/gpio-descriptor-module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/gpio/gpio-descriptor-module.c -------------------------------------------------------------------------------- /Chapter16/gpio/gpio-legacy-dt-module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/gpio/gpio-legacy-dt-module.c -------------------------------------------------------------------------------- /Chapter16/gpio/gpio-legacy-module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/gpio/gpio-legacy-module.c -------------------------------------------------------------------------------- /Chapter16/mcp23016.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter16/mcp23016.c -------------------------------------------------------------------------------- /Chapter17/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter17/Makefile -------------------------------------------------------------------------------- /Chapter17/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter17/README.md -------------------------------------------------------------------------------- /Chapter17/input-button.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter17/input-button.c -------------------------------------------------------------------------------- /Chapter17/input-polled-button.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter17/input-polled-button.c -------------------------------------------------------------------------------- /Chapter17/polled-ins.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/Chapter17/polled-ins.c -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition/HEAD/README.md --------------------------------------------------------------------------------