diff options
Diffstat (limited to 'drivers/media/video/cx25840/cx25840-core.c')
-rw-r--r-- | drivers/media/video/cx25840/cx25840-core.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c index 67bda9f9a44..9c12bd39cfb 100644 --- a/drivers/media/video/cx25840/cx25840-core.c +++ b/drivers/media/video/cx25840/cx25840-core.c | |||
@@ -625,6 +625,22 @@ static int cx25840_command(struct i2c_client *client, unsigned int cmd, | |||
625 | struct v4l2_tuner *vt = arg; | 625 | struct v4l2_tuner *vt = arg; |
626 | struct v4l2_routing *route = arg; | 626 | struct v4l2_routing *route = arg; |
627 | 627 | ||
628 | /* ignore these commands */ | ||
629 | switch (cmd) { | ||
630 | case TUNER_SET_TYPE_ADDR: | ||
631 | return 0; | ||
632 | } | ||
633 | |||
634 | if (!state->is_initialized) { | ||
635 | v4l_dbg(1, cx25840_debug, client, "cmd %08x triggered fw load\n", cmd); | ||
636 | /* initialize on first use */ | ||
637 | state->is_initialized = 1; | ||
638 | if (state->is_cx25836) | ||
639 | cx25836_initialize(client); | ||
640 | else | ||
641 | cx25840_initialize(client, 1); | ||
642 | } | ||
643 | |||
628 | switch (cmd) { | 644 | switch (cmd) { |
629 | #ifdef CONFIG_VIDEO_ADV_DEBUG | 645 | #ifdef CONFIG_VIDEO_ADV_DEBUG |
630 | /* ioctls to allow direct access to the | 646 | /* ioctls to allow direct access to the |
@@ -906,11 +922,6 @@ static int cx25840_detect_client(struct i2c_adapter *adapter, int address, | |||
906 | 922 | ||
907 | i2c_attach_client(client); | 923 | i2c_attach_client(client); |
908 | 924 | ||
909 | if (state->is_cx25836) | ||
910 | cx25836_initialize(client); | ||
911 | else | ||
912 | cx25840_initialize(client, 1); | ||
913 | |||
914 | return 0; | 925 | return 0; |
915 | } | 926 | } |
916 | 927 | ||