diff options
Diffstat (limited to 'drivers/media/video')
-rw-r--r-- | drivers/media/video/tuner-core.c | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index c8cd718675ab..b5dacde023ee 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c | |||
@@ -340,16 +340,6 @@ static void tuner_i2c_address_check(struct tuner *t) | |||
340 | tuner_warn("====================== WARNING! ======================\n"); | 340 | tuner_warn("====================== WARNING! ======================\n"); |
341 | } | 341 | } |
342 | 342 | ||
343 | static void attach_tda829x(struct tuner *t) | ||
344 | { | ||
345 | struct tda829x_config cfg = { | ||
346 | .lna_cfg = t->config, | ||
347 | .tuner_callback = t->tuner_callback, | ||
348 | }; | ||
349 | dvb_attach(tda829x_attach, | ||
350 | &t->fe, t->i2c->adapter, t->i2c->addr, &cfg); | ||
351 | } | ||
352 | |||
353 | static struct xc5000_config xc5000_cfg; | 343 | static struct xc5000_config xc5000_cfg; |
354 | 344 | ||
355 | static void set_type(struct i2c_client *c, unsigned int type, | 345 | static void set_type(struct i2c_client *c, unsigned int type, |
@@ -385,12 +375,19 @@ static void set_type(struct i2c_client *c, unsigned int type, | |||
385 | 375 | ||
386 | switch (t->type) { | 376 | switch (t->type) { |
387 | case TUNER_MT2032: | 377 | case TUNER_MT2032: |
388 | dvb_attach(microtune_attach, | 378 | if (!dvb_attach(microtune_attach, |
389 | &t->fe, t->i2c->adapter, t->i2c->addr); | 379 | &t->fe, t->i2c->adapter, t->i2c->addr)) |
380 | goto attach_failed; | ||
390 | break; | 381 | break; |
391 | case TUNER_PHILIPS_TDA8290: | 382 | case TUNER_PHILIPS_TDA8290: |
392 | { | 383 | { |
393 | attach_tda829x(t); | 384 | struct tda829x_config cfg = { |
385 | .lna_cfg = t->config, | ||
386 | .tuner_callback = t->tuner_callback, | ||
387 | }; | ||
388 | if (!dvb_attach(tda829x_attach, &t->fe, t->i2c->adapter, | ||
389 | t->i2c->addr, &cfg)) | ||
390 | goto attach_failed; | ||
394 | break; | 391 | break; |
395 | } | 392 | } |
396 | case TUNER_TEA5767: | 393 | case TUNER_TEA5767: |
@@ -441,8 +438,9 @@ static void set_type(struct i2c_client *c, unsigned int type, | |||
441 | break; | 438 | break; |
442 | } | 439 | } |
443 | case TUNER_TDA9887: | 440 | case TUNER_TDA9887: |
444 | dvb_attach(tda9887_attach, | 441 | if (!dvb_attach(tda9887_attach, |
445 | &t->fe, t->i2c->adapter, t->i2c->addr); | 442 | &t->fe, t->i2c->adapter, t->i2c->addr)) |
443 | goto attach_failed; | ||
446 | break; | 444 | break; |
447 | case TUNER_XC5000: | 445 | case TUNER_XC5000: |
448 | { | 446 | { |