aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/siano
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2012-02-03 17:12:42 -0500
committerJiri Kosina <jkosina@suse.cz>2012-02-03 17:13:05 -0500
commit972c5ae961d6e5103e2b33d935cfa4145fd47140 (patch)
tree350b2a76b979ba8766c09838617df67ff330eca0 /drivers/media/dvb/siano
parent5196d20305d5e30d871111d3a876cf067dd94255 (diff)
parent7c7ed8ec337bf5f62cc5287a6eb6b2f1b7504c2f (diff)
Merge branch 'master' into for-next
Sync with Linus' tree to be able to apply patch to a newer code (namely drivers/gpu/drm/gma500/psb_intel_lvds.c)
Diffstat (limited to 'drivers/media/dvb/siano')
-rw-r--r--drivers/media/dvb/siano/smsdvb.c33
1 files changed, 20 insertions, 13 deletions
diff --git a/drivers/media/dvb/siano/smsdvb.c b/drivers/media/dvb/siano/smsdvb.c
index 37c594f82782..654685c9303e 100644
--- a/drivers/media/dvb/siano/smsdvb.c
+++ b/drivers/media/dvb/siano/smsdvb.c
@@ -50,7 +50,7 @@ struct smsdvb_client_t {
50 struct completion tune_done; 50 struct completion tune_done;
51 51
52 /* todo: save freq/band instead whole struct */ 52 /* todo: save freq/band instead whole struct */
53 struct dvb_frontend_parameters fe_params; 53 struct dtv_frontend_properties fe_params;
54 54
55 struct SMSHOSTLIB_STATISTICS_DVB_S sms_stat_dvb; 55 struct SMSHOSTLIB_STATISTICS_DVB_S sms_stat_dvb;
56 int event_fe_state; 56 int event_fe_state;
@@ -591,8 +591,7 @@ static int smsdvb_get_tune_settings(struct dvb_frontend *fe,
591 return 0; 591 return 0;
592} 592}
593 593
594static int smsdvb_dvbt_set_frontend(struct dvb_frontend *fe, 594static int smsdvb_dvbt_set_frontend(struct dvb_frontend *fe)
595 struct dvb_frontend_parameters *p)
596{ 595{
597 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 596 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
598 struct smsdvb_client_t *client = 597 struct smsdvb_client_t *client =
@@ -658,8 +657,7 @@ static int smsdvb_dvbt_set_frontend(struct dvb_frontend *fe,
658 &client->tune_done); 657 &client->tune_done);
659} 658}
660 659
661static int smsdvb_isdbt_set_frontend(struct dvb_frontend *fe, 660static int smsdvb_isdbt_set_frontend(struct dvb_frontend *fe)
662 struct dvb_frontend_parameters *p)
663{ 661{
664 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 662 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
665 struct smsdvb_client_t *client = 663 struct smsdvb_client_t *client =
@@ -723,8 +721,7 @@ static int smsdvb_isdbt_set_frontend(struct dvb_frontend *fe,
723 &client->tune_done); 721 &client->tune_done);
724} 722}
725 723
726static int smsdvb_set_frontend(struct dvb_frontend *fe, 724static int smsdvb_set_frontend(struct dvb_frontend *fe)
727 struct dvb_frontend_parameters *fep)
728{ 725{
729 struct smsdvb_client_t *client = 726 struct smsdvb_client_t *client =
730 container_of(fe, struct smsdvb_client_t, frontend); 727 container_of(fe, struct smsdvb_client_t, frontend);
@@ -733,18 +730,18 @@ static int smsdvb_set_frontend(struct dvb_frontend *fe,
733 switch (smscore_get_device_mode(coredev)) { 730 switch (smscore_get_device_mode(coredev)) {
734 case DEVICE_MODE_DVBT: 731 case DEVICE_MODE_DVBT:
735 case DEVICE_MODE_DVBT_BDA: 732 case DEVICE_MODE_DVBT_BDA:
736 return smsdvb_dvbt_set_frontend(fe, fep); 733 return smsdvb_dvbt_set_frontend(fe);
737 case DEVICE_MODE_ISDBT: 734 case DEVICE_MODE_ISDBT:
738 case DEVICE_MODE_ISDBT_BDA: 735 case DEVICE_MODE_ISDBT_BDA:
739 return smsdvb_isdbt_set_frontend(fe, fep); 736 return smsdvb_isdbt_set_frontend(fe);
740 default: 737 default:
741 return -EINVAL; 738 return -EINVAL;
742 } 739 }
743} 740}
744 741
745static int smsdvb_get_frontend(struct dvb_frontend *fe, 742static int smsdvb_get_frontend(struct dvb_frontend *fe)
746 struct dvb_frontend_parameters *fep)
747{ 743{
744 struct dtv_frontend_properties *fep = &fe->dtv_property_cache;
748 struct smsdvb_client_t *client = 745 struct smsdvb_client_t *client =
749 container_of(fe, struct smsdvb_client_t, frontend); 746 container_of(fe, struct smsdvb_client_t, frontend);
750 747
@@ -752,7 +749,7 @@ static int smsdvb_get_frontend(struct dvb_frontend *fe,
752 749
753 /* todo: */ 750 /* todo: */
754 memcpy(fep, &client->fe_params, 751 memcpy(fep, &client->fe_params,
755 sizeof(struct dvb_frontend_parameters)); 752 sizeof(struct dtv_frontend_properties));
756 753
757 return 0; 754 return 0;
758} 755}
@@ -789,7 +786,6 @@ static void smsdvb_release(struct dvb_frontend *fe)
789static struct dvb_frontend_ops smsdvb_fe_ops = { 786static struct dvb_frontend_ops smsdvb_fe_ops = {
790 .info = { 787 .info = {
791 .name = "Siano Mobile Digital MDTV Receiver", 788 .name = "Siano Mobile Digital MDTV Receiver",
792 .type = FE_OFDM,
793 .frequency_min = 44250000, 789 .frequency_min = 44250000,
794 .frequency_max = 867250000, 790 .frequency_max = 867250000,
795 .frequency_stepsize = 250000, 791 .frequency_stepsize = 250000,
@@ -873,6 +869,17 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev,
873 memcpy(&client->frontend.ops, &smsdvb_fe_ops, 869 memcpy(&client->frontend.ops, &smsdvb_fe_ops,
874 sizeof(struct dvb_frontend_ops)); 870 sizeof(struct dvb_frontend_ops));
875 871
872 switch (smscore_get_device_mode(coredev)) {
873 case DEVICE_MODE_DVBT:
874 case DEVICE_MODE_DVBT_BDA:
875 smsdvb_fe_ops.delsys[0] = SYS_DVBT;
876 break;
877 case DEVICE_MODE_ISDBT:
878 case DEVICE_MODE_ISDBT_BDA:
879 smsdvb_fe_ops.delsys[0] = SYS_ISDBT;
880 break;
881 }
882
876 rc = dvb_register_frontend(&client->adapter, &client->frontend); 883 rc = dvb_register_frontend(&client->adapter, &client->frontend);
877 if (rc < 0) { 884 if (rc < 0) {
878 sms_err("frontend registration failed %d", rc); 885 sms_err("frontend registration failed %d", rc);