aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-cards.c
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@kernellabs.com>2009-06-18 23:20:28 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-23 02:14:16 -0400
commitcdf7bfa8926fb26d5900103ae09eb5f3eddb95cc (patch)
tree7b20b253b717678c71a4343546ec4e123be6e2e7 /drivers/media/video/em28xx/em28xx-cards.c
parentf867c3f4eab1d5006df4f3734fab1134feffbeba (diff)
V4L/DVB (12100): em28xx: make sure the analog GPIOs are set if we used a card hint
In cases where the board had a default USB ID, we would not indentify the board until after the call to em28xx_set_mode(). As a result, for those boards the analog GPIOs were not being set before probing the i2c bus for devices (the probe would occur with the GPIOs being all high). Make a call to em28xx_set_mode() so that the GPIOs are set properly before probing the i2c bus for devices. This problem was detected with the EVGA inDtube, where the tvp5150 is not powered on unless GPIO1 is pulled low. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 00cc791a9e4..0b6e5c7c346 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -2101,6 +2101,12 @@ void em28xx_card_setup(struct em28xx *dev)
2101 case EM2880_BOARD_MSI_DIGIVOX_AD: 2101 case EM2880_BOARD_MSI_DIGIVOX_AD:
2102 if (!em28xx_hint_board(dev)) 2102 if (!em28xx_hint_board(dev))
2103 em28xx_set_model(dev); 2103 em28xx_set_model(dev);
2104
2105 /* In cases where we had to use a board hint, the call to
2106 em28xx_set_mode() in em28xx_pre_card_setup() was a no-op,
2107 so make the call now so the analog GPIOs are set properly
2108 before probing the i2c bus. */
2109 em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
2104 break; 2110 break;
2105 } 2111 }
2106 2112