In this article, dive into the existing Epiphany kernel module, break it into parts and investigate its functions. Analyzing a few thousands of lines of code is not that exciting, so we are going to pretend the driver doesn't exist and write it from scratch. The empirical approach will help us understand the Kernel <-> Epiphany communication better, and that will become crucial for the project we'll implement at the end of the series.