summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2009-05-30 21:45:46 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-23 03:21:20 -0300
commit1ca27379f3673b40edbd2fec53b93c993fdb4f0c (patch)
treed925042ba76dc770a40ec223e1cd1e7b8320d6cd /drivers/media/dvb
parentccb83408b258f7e9f9fe763f9a7d06ebcc21134f (diff)
downloadop-kernel-dev-1ca27379f3673b40edbd2fec53b93c993fdb4f0c.zip
op-kernel-dev-1ca27379f3673b40edbd2fec53b93c993fdb4f0c.tar.gz
V4L/DVB (11913): cx231xx: TRY_FMT should not actually set anything
In the TRY_FMT handler the function get_scale() is called to find what the scaler hardware will produce for a requested size. The problem is that get_scale(struct cx231xx *dev, ..., unsigned int *vscale, unsigned int *hscale) saves the calculated scale values into both the pointer arguments and into dev's hscale and vscale fields. TRY_FMT shouldn't actually change anything in the device state. The code to in get_scale() that writes to dev->[hv]scale can just be deleted. In all cases when dev's fields should be modified, get_scale() was called with get_scale(dev, ..., &dev->hscale, &dev->vscale), so dev was getting updated anyway. This didn't actually cause a problem because nothing ever actually made use of the hscale and vscale fields. I changed cx231xx_resolution_set() to use those fields rather than re-calculate them with a call to get_scale(). Updating [hv]scale in cx231xx_resolution_set() isn't necessary because every call of cx231xx_resolution_set() was already preceded by a call to get_scale() or setting the [hv]scale fields, so they will be always be up-to-date w.r.t. width and height. Removing the call to get_scale() from cx231xx_resolution_set() allowed making get_scale() a static function, which is a good thing for something with such a short name. There is already another function with the same name in the em28xx driver, but that one is static. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud