About the Blog
Google Summer of Code 2012 attendee!I have been planning own blog for my Kernel development stuff for a while but newer got enough time nor motivation to learn things to start blogging. Things gone ahead after I was chosen for the Google Summer of Code programme as there was some pressure for the blog to report progression of the project.
My GSoC project is under the Linux Foundation umbrella and it is Kernel development for my favourite area - Linux television interface. Traditionally I have been coding only new television chip drivers. Type of those chip are; USB-interface (aka DVB USB bridge), demodulator and RF tuner. There is around 20 chip drivers currently I have done which is huge amount of drivers for the single developer.
Current problemsDuring the development of those drivers I have gained very good overall understanding of the whole digital television side of the Linux Kernel and also that technology in general. It is not big surprise I have met a quite lot general issues, issues that are outside of individual driver, somewhere in our core routines. Those issues and limitations are raised up during a long time as hardware has gone more complex and old routines are not flexible enough for the new hardware.
Due to those core limitations there is many ugly hacks needed for the drivers in order to operate. Sometimes those hacks are even very wrong but still mainly working with a little bit luck. More often those hacks still means "only" duplicated code, complex code and wasted resources.
Usually I am too busy to hack support for new the hardware and due to that I have no possibility to allocate enough resources for fixing known general issues. Now that GSoC project gives me possibility to fix those!
GSoC scheduleThat GSoC project is workload of three months. Initially I split it to the two big parts, DVB USB enhancements and DVB core enhancements. DVB core contains mainly DVB frontend changes.
Planned schedule is here:
week 21: DVB-USB plan driver interface + RFC
week 22: DVB-USB implementation
week 23: DVB-USB implementation
week 24: DVB-USB implementation
week 25: DVB-USB implementation
week 26: DVB-USB convert few existing drivers to use that new interface
week 27: DVB-CORE learn frontend handling
week 28: DVB-CORE plan needed changes + RFC
week 29: DVB-CORE implementation
week 30: DVB-CORE implementation
week 31: DVB-CORE implementation
week 22: DVB-CORE convert few existing drivers to use that new interface
week 33: pencils down, finalize
week 34: pencils down, finalize