Maybe I'm stupid, but I thought Igor had incorporated S2API into the repository at:
s2-liplianin: Summary
If I use that through the latest update (changeset 13255) and add the patch for the 7301 (mine is a little newer than the one you list and has a few more changes in it), the kernel panics on tuning. If instead I start with an earlier version from 27 Sep (changeset 13249) and apply the 7301 patch, the system doesn't crash and I have some tuning capability. But it is rather flakey. There may very well be differences in the code Igor and his merry band are running, but I think I've made a decent effort to get close. It may be that we also have different standards for software maturity.
In my reading it appears the S2API is still a work in progress and only a subset of apps have incorporated it. The developers are very proud they have not documented it, yet. I suppose the most practical approach with Linux is to read the kernel and module code, but frankly when I'm writing an app I'd rather not shoot at a moving target. My understanding was the S2API added capabilities through a different interface mechanism, and that it did not incorporate all the previous API functionality. Thus if one had an app that worked with the old API, it would of necessity continue to function. Anecdotally it seems people continue to have more success using the old API than the new, which is perfectly fine while the S2API details get ironed out. As I have no desperate need for S2API, I tried apps that only employ the old API. This could be the root of the problem, but then the problem would not be mine if I understand the S2API concept.
I can try Igor's commit repository, but I'm already convinced this part of the Linux tree is rather chaotic and whatever works today probably won't work tomorrow. It will be all worked out in time, but I don't have a lot of desire to join the fray and become another headless chicken running around like I have for the past few days. If I had wanted to do V4L driver development, I would already be there. What I want to do is enhance my blindscanning capabilities and am willing to work and contribute to the Linux cause. So far I have done nothing in that direction, and the prospects for near-term success appear gloomier than when I first looked.
Igor does what he wants and for the most part the world benefits. But the Linux world is fraught with personalities, politics, power plays, egos and the like and the subculture of V4L is no different. I would not be surprised if good work, like stv0903 blindscanning, is being ignored and wheels reinvented for reasons other than technical. If one reads through the stv090x driver, it is clear that a lot of work has gone into the blindscanning code and I'm inclined to believe a fair amount of it works on the TT S2-1600. Whether they had access to STMicro documentation or if someone figured it out doesn't really matter. There is a good understanding of the stv0903 in the wild. I don't have the same comfort factor with Igor's stv0900 driver. I'm not actually criticizing Igor, but the process, because I believe this could have been brought to 'market' faster with better cooperation. One recurring problem I've had with Linux over the past decade is that hardware is often obsolete by the time the software that supports it is becoming mature. As a consumer this does not breed confidence.