Working on kernel drivers

I have already said that I’m currently in the States for work; I’m here with Luca and we’re working on a project I won’t go into details of (not yet at least). One of my task, though, I can talk of, simply because I have posted one patch already and thus it’s not much secret.

I’m working on kernel-level support for an ITE IT8728F Super I/O chip. For those who’re not used to these names, a Super I/O chip is a chip, that usually stays behind an LPC bridge, that contains the PS/2 (Mouse, Keyboard) controller, as well as the Floppy Disk Controller, the interface to the hardware monitors, and so on so forth.

The IT87 family is a vast one, and is usually well supported in the hardware monitor departement, where even the IT8728 is currently supported out of the kernel. What it lacked, though, at first sight was support for the WTD (Watchdog Timer), that I needed. That was easy as it was just a matter of adding the IDs in the right places, which I did and sent the patch to the LKML.

What I’m working now on, instead, is the GPIO (General Purpose I/O) interface of the chip that we need to work on; it’s proving a bit more complex than I expected… this one is a driver I’m writing from scratch, as the one that was there already for another chip (IT8761) is not compatible at all with what we have here.

Another issue with this is that I’m looking at the other two drivers implemented for this family (the hardware monitor and the watchdog) and I’m thinking that having a Multifunction Device Driver for this would probably be a better idea, since there are so many knobs and tweaks we could add, simply by registering a platform device and adding a few attributes to the sysfs.

I’m not sure how much of this work I can push through as work for this project, but I’m pretty sure if I can push some more free-time hours on the task I can get this to integrate with the LED class drivers, so I can achieve what Luca thought was possible already (control the power/harddrive LEDs to perform a different task, like it’s already done on a multitude of laptops).

For the moment, I’m afraid I only have to finish the GPIO driver quickly, and send it out for review, but if you’re interested in testing or helping out with this chip, please do let me know, it could be interesting.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s