summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/or51132.c
AgeCommit message (Collapse)Author
2009-08-10Use kzalloc for frontend states to have struct dvb_frontend properlyDouglas Schilling Landgraf
From: Matthias Schwarzott <zzam@gentoo.org> This patch changes most frontend drivers to allocate their state structure via kzalloc and not kmalloc. This is done to properly initialize the embedded "struct dvb_frontend frontend" field, that they all have. The visible effect of this struct being uninitalized is, that the member "id" that is used to set the name of kernel thread is totally random. Some board drivers (for example cx88-dvb) set this "id" via videobuf_dvb_alloc_frontend but most do not. So I at least get random id values for saa7134, flexcop and ttpci based cards. It looks like this in dmesg: DVB: registering adapter 1 frontend -10551321 (ST STV0299 DVB-S) The related kernel thread then also gets a strange name like "kdvb-ad-1-fe--1". Priority: normal Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> CC: Michael Krufky <mkrufky@linuxtv.org> CC: Steven Toth <stoth@linuxtv.org> CC: Timothy Lee <timothy.lee@siriushk.com> CC: Igor M. Liplianin <liplianin@me.by> Acked-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
2009-04-26Link firmware to physical deviceMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> Use the physical device rather than the i2c adapter as the reference device when loading firmwares. This will prevent the sysfs name collision with i2c-dev that has been reported many times. I may have missed other drivers which need the same fix. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-05-21 or51132.c: unalignedMauro Carvalho Chehab
From: Al Viro <viro@ftp.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-26backported kernel changeset cbfa6f2a684e9fb7d6a5025b3893b8f93112683cMauro Carvalho Chehab
From: Tobias Klauser <tklauser@distanz.ch> DVB: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-08media/dvb/frontends replace remaining __FUNCTION__ occurrencesMichael Krufky
From: Harvey Harrison <harvey.harrison@gmail.com> __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Acked-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-01-07 Cleans up error handling on or51xxx_attachMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> state is already NULL. Reviewed-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-21Cleanup: remove linux/moduleparam.h from drivers/media filesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This patch removes all occurences of moduleparm.h from drivers/media files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09dvb/frontends: remove unnecessary #include's of "dvb-pll.h"Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> These sources do not need to #include "dvb-pll.h" Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-03-02or51132: refactor i2c code, improve error resilienceTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The code the i2c transactions was leftover from the old V4L-based ATSC driver. It did too little with too much code. It is re-written to remove unnecessary parameters and be more efficient. A demod register can now be read with one function call, instead of repeating a dozen line block of code each time. There were msleep()'s, which appear to be unnecessary, spread around all the I2C transactions. These have been removed. Reading SNR used to take about 130 ms, now it's down to 1.8 ms. Reads from the demodulator's registers do not return correct results sometimes. Adding or removing the delays in the I2C transactions did not appear to effect the probability of failure. If anything, the transactions without delays were less likely to fail, but since far more transactions could be made per second the number of failures per hour was greater. To increase reliability, the SNR and get_params functions will now retry once if they get bad data back. This appears to have reduced the probability of failure to effectively zero. Some error messages are cleaned up or given KERN_* levels when they were missing. or51132_setmode() wasn't returning correct error codes, which is fixed as well. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Rusty Scott <rustys@ieee.org>
2006-12-04or51132: Changed SNR and signal strength reportingTrent Piepho
From: Rusty Scott <rustys@ieee.org> Removes embedded log functions and makes use of the DVB math functions to provide SNR in dB. The changes are modeled after recent changes made to the LGDT330x frontends in lgdt330x.c Signed-off-by: Rusty Scott <rustys@ieee.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-05-14Change dvb_frontend_ops to be a real field instead of a pointer field inside ↵Patrick Boettcher
dvb_frontend From: Patrick Boettcher <pb@linuxtv.org> The dvb_frontend_ops is a pointer inside dvb_frontend. That's why every demod-driver is having a field of dvb_frontend_ops in its private-state-struct and using the reference for filling the pointer-field in dvb_frontend. - It saves at least two lines of code per demod-driver, - reduces object size (one less dereference per frontend_ops-access), - be coherent with dvb_tuner_ops, - makes it a little bit easier for newbies to understand how it works and - avoids stupid mistakes because you would have to copy the dvb_frontend_ops always, before you could assign the static pointer directly, which was dangerous. Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2006-04-18Convert or51132 to refactored tuner codeAndrew de Quincey
From: Andrew de Quincey <adq_dvb@lidskialf.net> Convert to tuner_ops calls. Remove pll function pointers from structure. Remove dvb-pll code - done elsewhere now. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-04-06Add support for FE_GET_FRONTEND to or51132 frontendTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Adds the FE_GET_FRONTEND ioctl to the or51132 frontend. Current modulation is read from the hardware, while frequency is taken from the driver's state. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-04-04Remove a wee bit of cruftTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> A few lines that do nothing in the or51132 frontend, removed. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-04-04Avoid unnecessary firmware re-loads in or51132 frontendTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> As QAM_64, QAM_256, and QAM_AUTO all use the same firmware, switching between these modulations doesn't require a firmware re-load. This also fixes a mishandled error condition, in which the firmware file is loaded into the kernel, the clock mode is changed, but then the firmware upload to the device fails. The modulation change is aborted, but the clock mode would still be changed. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-04-03fix spelling error / typo in commentsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-02Clean up some cruft in or51132 frontendMauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> There is some old code in the or51133 firmware loading function that has no effect. Left a comment to in case it helps someone trying to reverse engineer the chip. kernel-sync with V4L/DVB (3708a) Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2005-11-26Whitespaces cleanups.Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-11-07[PATCH] fix missing includesMichael Krufky
I recently picked up my older work to remove unnecessary #includes of sched.h, starting from a patch by Dave Jones to not include sched.h from module.h. This reduces the number of indirect includes of sched.h by ~300. Another ~400 pointless direct includes can be removed after this disentangling (patch to follow later). However, quite a few indirect includes need to be fixed up for this. In order to feed the patches through -mm with as little disturbance as possible, I've split out the fixes I accumulated up to now (complete for i386 and x86_64, more archs to follow later) and post them before the real patch. This way this large part of the patch is kept simple with only adding #includes, and all hunks are independent of each other. So if any hunk rejects or gets in the way of other patches, just drop it. My scripts will pick it up again in the next round. Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-10-24From: Jesper Juhl <jesper.juhl@gmail.com>Johannes Stezenbach
This is the drivers/media/ part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in drivers/media/. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Cc: Johannes Stezenbach <js@linuxtv.org> Cc: Michael Krufky <mkrufky@m1k.net> Cc: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-26Fix integer overflow bug in read_signal_strength()Johannes Stezenbach
reported by Anthony Leclerc. Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
2005-08-25This fix has also been applied to lgdt330x. There isMichael Krufky
an optimization that keeps track of the frequency tuned by the digital decoder. The digital driver does not set the frequency if it has not changed since it was tuned. The analog tuner driver knows nothing about the frequency saved by the digital driver. When the frequency is set using the video4linux code with tvtime, the hardware get changed but the digital driver's state does not get updated. Switch back to the same digital channel and the driver finds no change in frequency so the tuner is not reset to the digital frequency. The work around is to remove the check and always set the tuner to the specified frequency. Signed-off-by: Mac Michaels <wmichaels1@earthlink.net> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-05-05sync back cleanups from kernel (whitespace and printk format)Johannes Stezenbach
2005-04-05 - remove unnecessary casts in frontendsKenneth Aafloy
2005-03-21make logarithm stuff static (conflicts; BTW, we now have alreadyJohannes Stezenbach
two copies of this cruft -> should be factored out)
2005-03-13fix a warningJohannes Stezenbach
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-03-13patch submitted by Gerd Knorr:Johannes Stezenbach
add support for OR51132 frontend (pcHDTV HD-3000) - VSB/QAM