Now, ops->info.type is handled inside the dvb_frontend
core, only for DVBv3 calls, and according with the
delivery system. So, drivers should not care or use it,
otherwise, it may have issues with DVBv5 calls.
The drivers that were still using it were detected via
this small temporary hack:
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -29,13 +29,16 @@
#include <linux/types.h>
typedef enum fe_type {
+#if defined(__DVB_CORE__) || !defined (__KERNEL__)
FE_QPSK,
FE_QAM,
FE_OFDM,
FE_ATSC
+#else
+FE_FOOO
+#endif
} fe_type_t;
-
typedef enum fe_caps {
FE_IS_STUPID = 0,
FE_CAN_INVERSION_AUTO = 0x1,
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
The per-delivery system tables are confusing.
Add an extra table that explains them, and some
dprintk calls, that allows to check if mt2063 driver
is working as expected.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Instead of printing it just for debug purposes, outputs the detected
version at the logs. This may be useful if someone wants to report
a problem.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
While here, improve a few debug messages that helped to track the
issue and may be useful in the future.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This also helps to identify when a device is not initialized,
if the bridge doesn't return an error for a I2C failed transfer.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Instead of crash, return -ENODEV, if the device is not poperly
initialized.
Also, give a second chance for it to initialize, at set_params
calls.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
mt2063.c:1531:12: warning: variable 'ofout' set but not used [-Wunused-but-set-variable]
mt2063.c:1531:6: warning: variable 'ofin' set but not used [-Wunused-but-set-variable]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Several vars at set_parms functions were set, but unused.
Remove them and change the logic to return -EINVAL if the
analog set_param is used for digital mode.
At the analog side, cleans the logic that sets the several
analog standards.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
No functional changes on this patch. Better organize the delivery
system information and data types, putting everything together,
to improve readability.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
The driver were using a hacky way of setting analog and digital
frequencies. Remove the hack and properly add the tuner logic for
each supported type of standard.
I was tempted to add more standards there, like SECAM and to fix
radio (as stepping seems broken), but I opted to keep it as-is,
as tests would be needed to add additional standards.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Such code is disabled via ifdef's. Also, they're ugly and rely
on some static structures. Just remove. If ever needed, the git
log can be used to recover it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This is a big patch, yet trivial: now that all tuners use the DVBv5
way to pass parameters (e. g. via fe->dtv_property_cache), the
extra parameter can be removed from set_params() call.
After this change, very few DVBv3 specific stuff are left at the
tuners.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>