{"id":31537891,"url":"https://github.com/pro-utkarshm/linux-kernel-drivers","last_synced_at":"2026-06-11T16:31:55.841Z","repository":{"id":241870963,"uuid":"808083375","full_name":"pro-utkarshM/Linux-kernel-drivers","owner":"pro-utkarshM","description":"Trying to make a series on drivers.","archived":false,"fork":false,"pushed_at":"2024-06-21T05:11:31.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T12:39:35.528Z","etag":null,"topics":["c","linux","linux-kernel","linux-kernel-driver","makefile"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pro-utkarshM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-30T10:53:15.000Z","updated_at":"2024-06-22T13:27:40.000Z","dependencies_parsed_at":"2024-05-30T12:31:26.433Z","dependency_job_id":"160d9d52-3e4a-478b-8bfb-9899f0d42236","html_url":"https://github.com/pro-utkarshM/Linux-kernel-drivers","commit_stats":null,"previous_names":["pro-utkarshm/linux-kernel-drivers"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pro-utkarshM/Linux-kernel-drivers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro-utkarshM%2FLinux-kernel-drivers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro-utkarshM%2FLinux-kernel-drivers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro-utkarshM%2FLinux-kernel-drivers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro-utkarshM%2FLinux-kernel-drivers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pro-utkarshM","download_url":"https://codeload.github.com/pro-utkarshM/Linux-kernel-drivers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pro-utkarshM%2FLinux-kernel-drivers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34208762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","linux","linux-kernel","linux-kernel-driver","makefile"],"created_at":"2025-10-04T08:13:48.612Z","updated_at":"2026-06-11T16:31:55.834Z","avatar_url":"https://github.com/pro-utkarshM.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux Driver Tutorial\n\nHere you can find examples for simple Linux Kernel Modules and Linux Drivers.\n\n## Content\n\nIn this repo you can find examples for:\n1. Simple Kernel Module\n2. Device Numbers and Device Files\n3. Create device file in driver and callbacks\n4. GPIO Driver\n5. Text LCD Driver\n6. PWM Module\n7. Temperature Sensor (I2C)\n8. Timer in Linux Kernel Modules\n9. High Resolution Timer in Linux Kernel Modules\n10. Accessing SPI with a Linux Kernel Module (BMP280 sensor again)\n11. Using a GPIO Interrupt in a Linux Kernel Module\n12. Using Parameters in a Linux Kernel Module\n13. IOCTL in a Linux Kernel Module\n14. Threads in a Linux Kernel Module\n15. Sending a signal from a Linux Kernel Module to an userspace application\n16. The poll callback\n17. Waitqueues in a Linux Kernel Module\n18. Create procfs entries from a Linux Kernel Module\n19. Create sysfs entries from a Linux Kernel Module\n20. Parse the device tree from a Linux Kernel Module to get the deivce properties of a specific device\n21. Device Tree GPIO Driver \n22. Device Tree Driver for I2C Device\n23. Dynamical memory management in a Linux Kernel module\n24. Serial (UART) Driver\n25. Industrial IO compatible driver for an ATMEGA I2C ADC\n26. Device Tree SPI Driver (IIO compatible driver for Atmega SPI ADC)\n27. Misc Device\n28. Mutex for exclusive access to shared resource\n29. Completions for synchronisation\n30. Direct Memory Access (DMA) memcopy example\n31. Accessing files form a Linux Driver\n32. The mmap callback\n33. Linked Lists\n34. Registering device numbers, read and write callback in character devices Take 2\n35. Private Data in struct file\n36. I2C Device Driver without Device Tree \n\n\n## More Information\n\nFor more information about my Linux Driver examples check out my [blogs](https://utkarsh-maurya.netlify.app/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpro-utkarshm%2Flinux-kernel-drivers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpro-utkarshm%2Flinux-kernel-drivers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpro-utkarshm%2Flinux-kernel-drivers/lists"}