V4L/DVB: Add FE_CAN_PSK_8 to allow apps to identify PSK_8 capable DVB devices
authorKlaus Schmidinger <Klaus.Schmidinger@tvdr.de>
Sun, 11 Apr 2010 09:12:52 +0000 (06:12 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 19 May 2010 15:57:47 +0000 (12:57 -0300)
The enum fe_caps provides flags that allow an application to detect
whether a device is capable of handling various modulation types etc.
A flag for detecting PSK_8, however, is missing.
This patch adds the flag FE_CAN_PSK_8 to frontend.h and implements
it for the gp8psk-fe.c and cx24116.c driver (apparently the only ones
with PSK_8). Only the gp8psk-fe.c has been explicitly tested, though.

Signed-off-by: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>
Tested-by: Derek Kelly <user.vdr@gmail.com>
Acked-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/gp8psk-fe.c
drivers/media/dvb/frontends/cx24116.c
include/linux/dvb/frontend.h

index 7a7f1b2..3914380 100644 (file)
@@ -349,7 +349,7 @@ static struct dvb_frontend_ops gp8psk_fe_ops = {
                         * FE_CAN_QAM_16 is for compatibility
                         * (Myth incorrectly detects Turbo-QPSK as plain QAM-16)
                         */
-                       FE_CAN_QPSK | FE_CAN_QAM_16
+                       FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_PSK_8
        },
 
        .release = gp8psk_fe_release,
index 2410d8b..13ae2c5 100644 (file)
@@ -1479,7 +1479,7 @@ static struct dvb_frontend_ops cx24116_ops = {
                        FE_CAN_FEC_4_5 | FE_CAN_FEC_5_6 | FE_CAN_FEC_6_7 |
                        FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                        FE_CAN_2G_MODULATION |
-                       FE_CAN_QPSK | FE_CAN_RECOVER
+                       FE_CAN_QPSK | FE_CAN_RECOVER | FE_CAN_PSK_8
        },
 
        .release = cx24116_release,
index b6cb542..7c73f0b 100644 (file)
@@ -62,6 +62,7 @@ typedef enum fe_caps {
        FE_CAN_8VSB                     = 0x200000,
        FE_CAN_16VSB                    = 0x400000,
        FE_HAS_EXTENDED_CAPS            = 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
+       FE_CAN_PSK_8                    = 0x8000000,  /* frontend supports "8psk modulation" */
        FE_CAN_2G_MODULATION            = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
        FE_NEEDS_BENDING                = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
        FE_CAN_RECOVER                  = 0x40000000, /* frontend can recover from a cable unplug automatically */