TODO:

From the initial code review:

The main thing you need to do is to implement all the controls using the
control framework (see Documentation/video4linux/v4l2-controls.txt).
Most drivers are by now converted to the control framework, so you will
find many examples of how to do this in drivers/media/radio.

The sysfs stuff should be replaced by controls as well. A lot of the RDS
support is now available as controls (although there may well be some
missing features, but that is easy enough to add). Since the RDS data is
actually read() from the device I am not sure whether the RDS
properties/controls should be there at all.

Correct Coding Style, as this driver also violates several Style
rules, and do evil tricks, like returning from a function inside a
macro.

Finally this driver should probably be split up into two parts: one
v4l2_subdev-based core driver and one platform driver. See e.g.
radio-si4713/si4713-i2c.c as a good example. But I would wait with that
until the rest of the driver is cleaned up. Then I have a better idea of
whether this is necessary or not.
