Fixed si470x_start() disabling the interrupt signal, causing tune
operations to never complete. This does not affect USB radios
because they poll the registers instead of using the IRQ line.
Signed-off-by: Douglas Fischer <fischerdouglasc@gmail.com>
[hans.verkuil@cisco.com: fixed 80 column checkpatch warning]
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
                goto done;
 
        /* sysconfig 1 */
-       radio->registers[SYSCONFIG1] =
-               (de << 11) & SYSCONFIG1_DE;             /* DE*/
+       radio->registers[SYSCONFIG1] |= SYSCONFIG1_RDSIEN | SYSCONFIG1_STCIEN |
+                                       SYSCONFIG1_RDS;
+       radio->registers[SYSCONFIG1] &= ~SYSCONFIG1_GPIO2;
+       radio->registers[SYSCONFIG1] |= SYSCONFIG1_GPIO2_INT;
+       if (de)
+               radio->registers[SYSCONFIG1] |= SYSCONFIG1_DE;
        retval = si470x_set_register(radio, SYSCONFIG1);
        if (retval < 0)
                goto done;
 
 #define SYSCONFIG1_BLNDADJ     0x00c0  /* bits 07..06: Stereo/Mono Blend Level Adjustment */
 #define SYSCONFIG1_GPIO3       0x0030  /* bits 05..04: General Purpose I/O 3 */
 #define SYSCONFIG1_GPIO2       0x000c  /* bits 03..02: General Purpose I/O 2 */
+#define SYSCONFIG1_GPIO2_DIS   0x0000  /* Disable GPIO 2 interrupt */
+#define SYSCONFIG1_GPIO2_INT   0x0004  /* Enable STC/RDS interrupt */
 #define SYSCONFIG1_GPIO1       0x0003  /* bits 01..00: General Purpose I/O 1 */
 
 #define SYSCONFIG2             5       /* System Configuration 2 */