Re: [PATCH][Update_for_2.6.38] DM04/QQBOX Frontend attach change.
On Fri, 2010-12-03 at 09:32 -0200, Mauro Carvalho Chehab wrote: Em 27-11-2010 11:13, Malcolm Priestley escreveu: Driver Version v1.73 - Frontend attach change. To stop double rc registration in multi tuner environment or firmware change. Signed-off-by: Malcolm Priestley tvbox...@gmail.com +static int lme_name(struct dvb_usb_adapter *adap) +{ + struct lme2510_state *st = adap-dev-priv; + const char *desc = adap-dev-desc-name; + char *fe_name[] = {, LG TDQY-P001F, SHARP:BS2F7HZ7395}; + char *name = adap-fe-ops.info.name; + + strcpy(name, desc); + strcat(name, fe_name[st-tuner_config]); Please use, instead, strlcpy/strlcat, to avoid writing outside the buffer size. Patch appears to have been lost. Resend. Driver Version v1.74 Amended patch with change to strlcpy/strlcat. Signed-off-by: Malcolm Priestley tvbox...@gmail.com diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index 1455c23..9eea418 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c @@ -584,6 +584,7 @@ static int lme2510_int_service(struct dvb_usb_adapter *adap) ret = lme2510_int_read(adap); if (ret 0) { rc_unregister_device(rc); + info(INT Unable to start Interupt Service); return -ENODEV; } @@ -674,7 +675,7 @@ static void lme_coldreset(struct usb_device *dev) return; } -static void lme_firmware_switch(struct usb_device *udev, int cold) +static int lme_firmware_switch(struct usb_device *udev, int cold) { const struct firmware *fw = NULL; char lme2510c_s7395[] = dvb-usb-lme2510c-s7395.fw; @@ -685,7 +686,7 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) cold = (cold 0) ? (cold 1) : 0; if (udev-descriptor.idProduct == 0x1122) - return; + return 0; switch (dvb_usb_lme2510_firmware) { case 0: @@ -715,10 +716,12 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) release_firmware(fw); - if (cold) + if (cold) { lme_coldreset(udev); + return -ENODEV; + } - return; + return ret; } static int lme2510_kill_urb(struct usb_data_stream *stream) @@ -786,45 +789,43 @@ static int dm04_lme2510_set_voltage(struct dvb_frontend *fe, return (ret 0) ? -ENODEV : 0; } +static int lme_name(struct dvb_usb_adapter *adap) +{ + struct lme2510_state *st = adap-dev-priv; + const char *desc = adap-dev-desc-name; + char *fe_name[] = {, LG TDQY-P001F, SHARP:BS2F7HZ7395}; + char *name = adap-fe-ops.info.name; + + strlcpy(name, desc, 128); + strlcat(name, fe_name[st-tuner_config], 128); + + return 0; +} + static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) { - int ret = 0; struct lme2510_state *st = adap-dev-priv; - /* Interupt Start */ - ret = lme2510_int_service(adap); - if (ret 0) { - info(INT Unable to start Interupt Service); - return -ENODEV; - } + int ret = 0; st-i2c_talk_onoff = 1; - st-i2c_gate = 4; + st-i2c_gate = 4; adap-fe = dvb_attach(tda10086_attach, tda10086_config, adap-dev-i2c_adap); if (adap-fe) { info(TUN Found Frontend TDA10086); - memcpy(adap-fe-ops.info.name, - DM04_LG_TDQY-P001F DVB-S, 24); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 4; st-i2c_tuner_addr = 0xc0; - if (dvb_attach(tda826x_attach, adap-fe, 0xc0, - adap-dev-i2c_adap, 1)) { - info(TUN TDA8263 Found); - st-tuner_config = TUNER_LG; - if (dvb_usb_lme2510_firmware != 1) { - dvb_usb_lme2510_firmware = 1; - lme_firmware_switch(adap-dev-udev, 1); - } else /*stops LG/Sharp multi tuner problems*/ - dvb_usb_lme2510_firmware = 0; - return 0; - } - kfree(adap-fe); - adap-fe = NULL; + st-tuner_config = TUNER_LG; + if (dvb_usb_lme2510_firmware != 1) { + dvb_usb_lme2510_firmware = 1; + ret = lme_firmware_switch(adap-dev-udev, 1); + } else /*stops LG/Sharp multi tuner problems*/ + dvb_usb_lme2510_firmware = 0; + goto end; } st-i2c_gate = 5; @@ -833,28 +834,64 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) if (adap-fe) { info(FE Found Stv0288); -
Re: [PATCH][Update_for_2.6.38] DM04/QQBOX Frontend attach change.
Em 27-11-2010 11:13, Malcolm Priestley escreveu: Driver Version v1.73 - Frontend attach change. To stop double rc registration in multi tuner environment or firmware change. Signed-off-by: Malcolm Priestley tvbox...@gmail.com diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index 1455c23..dc3172f 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c @@ -584,6 +584,7 @@ static int lme2510_int_service(struct dvb_usb_adapter *adap) ret = lme2510_int_read(adap); if (ret 0) { rc_unregister_device(rc); + info(INT Unable to start Interupt Service); return -ENODEV; } @@ -674,7 +675,7 @@ static void lme_coldreset(struct usb_device *dev) return; } -static void lme_firmware_switch(struct usb_device *udev, int cold) +static int lme_firmware_switch(struct usb_device *udev, int cold) { const struct firmware *fw = NULL; char lme2510c_s7395[] = dvb-usb-lme2510c-s7395.fw; @@ -685,7 +686,7 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) cold = (cold 0) ? (cold 1) : 0; if (udev-descriptor.idProduct == 0x1122) - return; + return 0; switch (dvb_usb_lme2510_firmware) { case 0: @@ -715,10 +716,12 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) release_firmware(fw); - if (cold) + if (cold) { lme_coldreset(udev); + return -ENODEV; + } - return; + return ret; } static int lme2510_kill_urb(struct usb_data_stream *stream) @@ -786,45 +789,43 @@ static int dm04_lme2510_set_voltage(struct dvb_frontend *fe, return (ret 0) ? -ENODEV : 0; } +static int lme_name(struct dvb_usb_adapter *adap) +{ + struct lme2510_state *st = adap-dev-priv; + const char *desc = adap-dev-desc-name; + char *fe_name[] = {, LG TDQY-P001F, SHARP:BS2F7HZ7395}; + char *name = adap-fe-ops.info.name; + + strcpy(name, desc); + strcat(name, fe_name[st-tuner_config]); Please use, instead, strlcpy/strlcat, to avoid writing outside the buffer size. + + return 0; +} + static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) { - int ret = 0; struct lme2510_state *st = adap-dev-priv; - /* Interupt Start */ - ret = lme2510_int_service(adap); - if (ret 0) { - info(INT Unable to start Interupt Service); - return -ENODEV; - } + int ret = 0; st-i2c_talk_onoff = 1; - st-i2c_gate = 4; + st-i2c_gate = 4; adap-fe = dvb_attach(tda10086_attach, tda10086_config, adap-dev-i2c_adap); if (adap-fe) { info(TUN Found Frontend TDA10086); - memcpy(adap-fe-ops.info.name, - DM04_LG_TDQY-P001F DVB-S, 24); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 4; st-i2c_tuner_addr = 0xc0; - if (dvb_attach(tda826x_attach, adap-fe, 0xc0, - adap-dev-i2c_adap, 1)) { - info(TUN TDA8263 Found); - st-tuner_config = TUNER_LG; - if (dvb_usb_lme2510_firmware != 1) { - dvb_usb_lme2510_firmware = 1; - lme_firmware_switch(adap-dev-udev, 1); - } else /*stops LG/Sharp multi tuner problems*/ - dvb_usb_lme2510_firmware = 0; - return 0; - } - kfree(adap-fe); - adap-fe = NULL; + st-tuner_config = TUNER_LG; + if (dvb_usb_lme2510_firmware != 1) { + dvb_usb_lme2510_firmware = 1; + ret = lme_firmware_switch(adap-dev-udev, 1); + } else /*stops LG/Sharp multi tuner problems*/ + dvb_usb_lme2510_firmware = 0; + goto end; } st-i2c_gate = 5; @@ -833,28 +834,64 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) if (adap-fe) { info(FE Found Stv0288); - memcpy(adap-fe-ops.info.name, - DM04_SHARP:BS2F7HZ7395, 22); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 5; st-i2c_tuner_addr = 0xc0; - if (dvb_attach(ix2505v_attach , adap-fe, lme_tuner, - adap-dev-i2c_adap)) { - st-tuner_config = TUNER_S7395; - info(TUN Sharp IX2505V silicon tuner); - if (dvb_usb_lme2510_firmware != 0) { -
Re: [PATCH][Update_for_2.6.38] DM04/QQBOX Frontend attach change.
On Fri, 2010-12-03 at 09:32 -0200, Mauro Carvalho Chehab wrote: Em 27-11-2010 11:13, Malcolm Priestley escreveu: Driver Version v1.73 - Frontend attach change. To stop double rc registration in multi tuner environment or firmware change. Signed-off-by: Malcolm Priestley tvbox...@gmail.com + strcpy(name, desc); + strcat(name, fe_name[st-tuner_config]); Please use, instead, strlcpy/strlcat, to avoid writing outside the buffer size. + Driver Version v1.74 Amended patch with change to strlcpy/strlcat. Signed-off-by: Malcolm Priestley tvbox...@gmail.com diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index 1455c23..9eea418 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c @@ -584,6 +584,7 @@ static int lme2510_int_service(struct dvb_usb_adapter *adap) ret = lme2510_int_read(adap); if (ret 0) { rc_unregister_device(rc); + info(INT Unable to start Interupt Service); return -ENODEV; } @@ -674,7 +675,7 @@ static void lme_coldreset(struct usb_device *dev) return; } -static void lme_firmware_switch(struct usb_device *udev, int cold) +static int lme_firmware_switch(struct usb_device *udev, int cold) { const struct firmware *fw = NULL; char lme2510c_s7395[] = dvb-usb-lme2510c-s7395.fw; @@ -685,7 +686,7 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) cold = (cold 0) ? (cold 1) : 0; if (udev-descriptor.idProduct == 0x1122) - return; + return 0; switch (dvb_usb_lme2510_firmware) { case 0: @@ -715,10 +716,12 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) release_firmware(fw); - if (cold) + if (cold) { lme_coldreset(udev); + return -ENODEV; + } - return; + return ret; } static int lme2510_kill_urb(struct usb_data_stream *stream) @@ -786,45 +789,43 @@ static int dm04_lme2510_set_voltage(struct dvb_frontend *fe, return (ret 0) ? -ENODEV : 0; } +static int lme_name(struct dvb_usb_adapter *adap) +{ + struct lme2510_state *st = adap-dev-priv; + const char *desc = adap-dev-desc-name; + char *fe_name[] = {, LG TDQY-P001F, SHARP:BS2F7HZ7395}; + char *name = adap-fe-ops.info.name; + + strlcpy(name, desc, 128); + strlcat(name, fe_name[st-tuner_config], 128); + + return 0; +} + static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) { - int ret = 0; struct lme2510_state *st = adap-dev-priv; - /* Interupt Start */ - ret = lme2510_int_service(adap); - if (ret 0) { - info(INT Unable to start Interupt Service); - return -ENODEV; - } + int ret = 0; st-i2c_talk_onoff = 1; - st-i2c_gate = 4; + st-i2c_gate = 4; adap-fe = dvb_attach(tda10086_attach, tda10086_config, adap-dev-i2c_adap); if (adap-fe) { info(TUN Found Frontend TDA10086); - memcpy(adap-fe-ops.info.name, - DM04_LG_TDQY-P001F DVB-S, 24); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 4; st-i2c_tuner_addr = 0xc0; - if (dvb_attach(tda826x_attach, adap-fe, 0xc0, - adap-dev-i2c_adap, 1)) { - info(TUN TDA8263 Found); - st-tuner_config = TUNER_LG; - if (dvb_usb_lme2510_firmware != 1) { - dvb_usb_lme2510_firmware = 1; - lme_firmware_switch(adap-dev-udev, 1); - } else /*stops LG/Sharp multi tuner problems*/ - dvb_usb_lme2510_firmware = 0; - return 0; - } - kfree(adap-fe); - adap-fe = NULL; + st-tuner_config = TUNER_LG; + if (dvb_usb_lme2510_firmware != 1) { + dvb_usb_lme2510_firmware = 1; + ret = lme_firmware_switch(adap-dev-udev, 1); + } else /*stops LG/Sharp multi tuner problems*/ + dvb_usb_lme2510_firmware = 0; + goto end; } st-i2c_gate = 5; @@ -833,28 +834,64 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) if (adap-fe) { info(FE Found Stv0288); - memcpy(adap-fe-ops.info.name, - DM04_SHARP:BS2F7HZ7395, 22); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 5; st-i2c_tuner_addr = 0xc0; -
[PATCH][Update_for_2.6.38] DM04/QQBOX Frontend attach change - amended.
On Fri, 2010-12-03 at 09:32 -0200, Mauro Carvalho Chehab wrote: Em 27-11-2010 11:13, Malcolm Priestley escreveu: Driver Version v1.73 - Frontend attach change. To stop double rc registration in multi tuner environment or firmware change. Signed-off-by: Malcolm Priestley tvbox...@gmail.com + strcpy(name, desc); + strcat(name, fe_name[st-tuner_config]); Please use, instead, strlcpy/strlcat, to avoid writing outside the buffer size. + Driver Version v1.74 Amended patch with change to strlcpy/strlcat. Signed-off-by: Malcolm Priestley tvbox...@gmail.com diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index 1455c23..9eea418 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c @@ -584,6 +584,7 @@ static int lme2510_int_service(struct dvb_usb_adapter *adap) ret = lme2510_int_read(adap); if (ret 0) { rc_unregister_device(rc); + info(INT Unable to start Interupt Service); return -ENODEV; } @@ -674,7 +675,7 @@ static void lme_coldreset(struct usb_device *dev) return; } -static void lme_firmware_switch(struct usb_device *udev, int cold) +static int lme_firmware_switch(struct usb_device *udev, int cold) { const struct firmware *fw = NULL; char lme2510c_s7395[] = dvb-usb-lme2510c-s7395.fw; @@ -685,7 +686,7 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) cold = (cold 0) ? (cold 1) : 0; if (udev-descriptor.idProduct == 0x1122) - return; + return 0; switch (dvb_usb_lme2510_firmware) { case 0: @@ -715,10 +716,12 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) release_firmware(fw); - if (cold) + if (cold) { lme_coldreset(udev); + return -ENODEV; + } - return; + return ret; } static int lme2510_kill_urb(struct usb_data_stream *stream) @@ -786,45 +789,43 @@ static int dm04_lme2510_set_voltage(struct dvb_frontend *fe, return (ret 0) ? -ENODEV : 0; } +static int lme_name(struct dvb_usb_adapter *adap) +{ + struct lme2510_state *st = adap-dev-priv; + const char *desc = adap-dev-desc-name; + char *fe_name[] = {, LG TDQY-P001F, SHARP:BS2F7HZ7395}; + char *name = adap-fe-ops.info.name; + + strlcpy(name, desc, 128); + strlcat(name, fe_name[st-tuner_config], 128); + + return 0; +} + static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) { - int ret = 0; struct lme2510_state *st = adap-dev-priv; - /* Interupt Start */ - ret = lme2510_int_service(adap); - if (ret 0) { - info(INT Unable to start Interupt Service); - return -ENODEV; - } + int ret = 0; st-i2c_talk_onoff = 1; - st-i2c_gate = 4; + st-i2c_gate = 4; adap-fe = dvb_attach(tda10086_attach, tda10086_config, adap-dev-i2c_adap); if (adap-fe) { info(TUN Found Frontend TDA10086); - memcpy(adap-fe-ops.info.name, - DM04_LG_TDQY-P001F DVB-S, 24); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 4; st-i2c_tuner_addr = 0xc0; - if (dvb_attach(tda826x_attach, adap-fe, 0xc0, - adap-dev-i2c_adap, 1)) { - info(TUN TDA8263 Found); - st-tuner_config = TUNER_LG; - if (dvb_usb_lme2510_firmware != 1) { - dvb_usb_lme2510_firmware = 1; - lme_firmware_switch(adap-dev-udev, 1); - } else /*stops LG/Sharp multi tuner problems*/ - dvb_usb_lme2510_firmware = 0; - return 0; - } - kfree(adap-fe); - adap-fe = NULL; + st-tuner_config = TUNER_LG; + if (dvb_usb_lme2510_firmware != 1) { + dvb_usb_lme2510_firmware = 1; + ret = lme_firmware_switch(adap-dev-udev, 1); + } else /*stops LG/Sharp multi tuner problems*/ + dvb_usb_lme2510_firmware = 0; + goto end; } st-i2c_gate = 5; @@ -833,28 +834,64 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) if (adap-fe) { info(FE Found Stv0288); - memcpy(adap-fe-ops.info.name, - DM04_SHARP:BS2F7HZ7395, 22); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 5; st-i2c_tuner_addr = 0xc0; -
[PATCH][Update_for_2.6.38] DM04/QQBOX Frontend attach change.
Driver Version v1.73 - Frontend attach change. To stop double rc registration in multi tuner environment or firmware change. Signed-off-by: Malcolm Priestley tvbox...@gmail.com diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index 1455c23..dc3172f 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c @@ -584,6 +584,7 @@ static int lme2510_int_service(struct dvb_usb_adapter *adap) ret = lme2510_int_read(adap); if (ret 0) { rc_unregister_device(rc); + info(INT Unable to start Interupt Service); return -ENODEV; } @@ -674,7 +675,7 @@ static void lme_coldreset(struct usb_device *dev) return; } -static void lme_firmware_switch(struct usb_device *udev, int cold) +static int lme_firmware_switch(struct usb_device *udev, int cold) { const struct firmware *fw = NULL; char lme2510c_s7395[] = dvb-usb-lme2510c-s7395.fw; @@ -685,7 +686,7 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) cold = (cold 0) ? (cold 1) : 0; if (udev-descriptor.idProduct == 0x1122) - return; + return 0; switch (dvb_usb_lme2510_firmware) { case 0: @@ -715,10 +716,12 @@ static void lme_firmware_switch(struct usb_device *udev, int cold) release_firmware(fw); - if (cold) + if (cold) { lme_coldreset(udev); + return -ENODEV; + } - return; + return ret; } static int lme2510_kill_urb(struct usb_data_stream *stream) @@ -786,45 +789,43 @@ static int dm04_lme2510_set_voltage(struct dvb_frontend *fe, return (ret 0) ? -ENODEV : 0; } +static int lme_name(struct dvb_usb_adapter *adap) +{ + struct lme2510_state *st = adap-dev-priv; + const char *desc = adap-dev-desc-name; + char *fe_name[] = {, LG TDQY-P001F, SHARP:BS2F7HZ7395}; + char *name = adap-fe-ops.info.name; + + strcpy(name, desc); + strcat(name, fe_name[st-tuner_config]); + + return 0; +} + static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) { - int ret = 0; struct lme2510_state *st = adap-dev-priv; - /* Interupt Start */ - ret = lme2510_int_service(adap); - if (ret 0) { - info(INT Unable to start Interupt Service); - return -ENODEV; - } + int ret = 0; st-i2c_talk_onoff = 1; - st-i2c_gate = 4; + st-i2c_gate = 4; adap-fe = dvb_attach(tda10086_attach, tda10086_config, adap-dev-i2c_adap); if (adap-fe) { info(TUN Found Frontend TDA10086); - memcpy(adap-fe-ops.info.name, - DM04_LG_TDQY-P001F DVB-S, 24); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 4; st-i2c_tuner_addr = 0xc0; - if (dvb_attach(tda826x_attach, adap-fe, 0xc0, - adap-dev-i2c_adap, 1)) { - info(TUN TDA8263 Found); - st-tuner_config = TUNER_LG; - if (dvb_usb_lme2510_firmware != 1) { - dvb_usb_lme2510_firmware = 1; - lme_firmware_switch(adap-dev-udev, 1); - } else /*stops LG/Sharp multi tuner problems*/ - dvb_usb_lme2510_firmware = 0; - return 0; - } - kfree(adap-fe); - adap-fe = NULL; + st-tuner_config = TUNER_LG; + if (dvb_usb_lme2510_firmware != 1) { + dvb_usb_lme2510_firmware = 1; + ret = lme_firmware_switch(adap-dev-udev, 1); + } else /*stops LG/Sharp multi tuner problems*/ + dvb_usb_lme2510_firmware = 0; + goto end; } st-i2c_gate = 5; @@ -833,28 +834,64 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) if (adap-fe) { info(FE Found Stv0288); - memcpy(adap-fe-ops.info.name, - DM04_SHARP:BS2F7HZ7395, 22); - adap-fe-ops.set_voltage = dm04_lme2510_set_voltage; st-i2c_tuner_gate_w = 4; st-i2c_tuner_gate_r = 5; st-i2c_tuner_addr = 0xc0; - if (dvb_attach(ix2505v_attach , adap-fe, lme_tuner, - adap-dev-i2c_adap)) { - st-tuner_config = TUNER_S7395; - info(TUN Sharp IX2505V silicon tuner); - if (dvb_usb_lme2510_firmware != 0) { - dvb_usb_lme2510_firmware = 0; -