.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* |
---|
2 | 3 | * Linux-DVB Driver for DiBcom's DiB0090 base-band RF Tuner. |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (C) 2005-9 DiBcom (http://www.dibcom.fr/) |
---|
5 | 6 | * |
---|
6 | | - * This program is free software; you can redistribute it and/or |
---|
7 | | - * modify it under the terms of the GNU General Public License as |
---|
8 | | - * published by the Free Software Foundation; either version 2 of the |
---|
9 | | - * License, or (at your option) any later version. |
---|
10 | | - * |
---|
11 | | - * This program is distributed in the hope that it will be useful, but |
---|
12 | | - * WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
13 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
14 | | - * |
---|
15 | | - * GNU General Public License for more details. |
---|
16 | | - * |
---|
17 | | - * |
---|
18 | 7 | * This code is more or less generated from another driver, please |
---|
19 | 8 | * excuse some codingstyle oddities. |
---|
20 | | - * |
---|
21 | 9 | */ |
---|
22 | 10 | |
---|
23 | 11 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
---|
.. | .. |
---|
1072 | 1060 | void dib0090_pwm_gain_reset(struct dvb_frontend *fe) |
---|
1073 | 1061 | { |
---|
1074 | 1062 | struct dib0090_state *state = fe->tuner_priv; |
---|
1075 | | - u16 *bb_ramp = (u16 *)&bb_ramp_pwm_normal; /* default baseband config */ |
---|
1076 | | - u16 *rf_ramp = NULL; |
---|
| 1063 | + const u16 *bb_ramp = bb_ramp_pwm_normal; /* default baseband config */ |
---|
| 1064 | + const u16 *rf_ramp = NULL; |
---|
1077 | 1065 | u8 en_pwm_rf_mux = 1; |
---|
1078 | 1066 | |
---|
1079 | 1067 | /* reset the AGC */ |
---|
1080 | 1068 | if (state->config->use_pwm_agc) { |
---|
1081 | 1069 | if (state->current_band == BAND_CBAND) { |
---|
1082 | 1070 | if (state->identity.in_soc) { |
---|
1083 | | - bb_ramp = (u16 *)&bb_ramp_pwm_normal_socs; |
---|
| 1071 | + bb_ramp = bb_ramp_pwm_normal_socs; |
---|
1084 | 1072 | if (state->identity.version == SOC_8090_P1G_11R1 || state->identity.version == SOC_8090_P1G_21R1) |
---|
1085 | | - rf_ramp = (u16 *)&rf_ramp_pwm_cband_8090; |
---|
| 1073 | + rf_ramp = rf_ramp_pwm_cband_8090; |
---|
1086 | 1074 | else if (state->identity.version == SOC_7090_P1G_11R1 || state->identity.version == SOC_7090_P1G_21R1) { |
---|
1087 | 1075 | if (state->config->is_dib7090e) { |
---|
1088 | 1076 | if (state->rf_ramp == NULL) |
---|
1089 | | - rf_ramp = (u16 *)&rf_ramp_pwm_cband_7090e_sensitivity; |
---|
| 1077 | + rf_ramp = rf_ramp_pwm_cband_7090e_sensitivity; |
---|
1090 | 1078 | else |
---|
1091 | | - rf_ramp = (u16 *)state->rf_ramp; |
---|
| 1079 | + rf_ramp = state->rf_ramp; |
---|
1092 | 1080 | } else |
---|
1093 | | - rf_ramp = (u16 *)&rf_ramp_pwm_cband_7090p; |
---|
| 1081 | + rf_ramp = rf_ramp_pwm_cband_7090p; |
---|
1094 | 1082 | } |
---|
1095 | 1083 | } else |
---|
1096 | | - rf_ramp = (u16 *)&rf_ramp_pwm_cband; |
---|
| 1084 | + rf_ramp = rf_ramp_pwm_cband; |
---|
1097 | 1085 | } else |
---|
1098 | 1086 | |
---|
1099 | 1087 | if (state->current_band == BAND_VHF) { |
---|
1100 | 1088 | if (state->identity.in_soc) { |
---|
1101 | | - bb_ramp = (u16 *)&bb_ramp_pwm_normal_socs; |
---|
| 1089 | + bb_ramp = bb_ramp_pwm_normal_socs; |
---|
1102 | 1090 | /* rf_ramp = &rf_ramp_pwm_vhf_socs; */ /* TODO */ |
---|
1103 | 1091 | } else |
---|
1104 | | - rf_ramp = (u16 *)&rf_ramp_pwm_vhf; |
---|
| 1092 | + rf_ramp = rf_ramp_pwm_vhf; |
---|
1105 | 1093 | } else if (state->current_band == BAND_UHF) { |
---|
1106 | 1094 | if (state->identity.in_soc) { |
---|
1107 | | - bb_ramp = (u16 *)&bb_ramp_pwm_normal_socs; |
---|
| 1095 | + bb_ramp = bb_ramp_pwm_normal_socs; |
---|
1108 | 1096 | if (state->identity.version == SOC_8090_P1G_11R1 || state->identity.version == SOC_8090_P1G_21R1) |
---|
1109 | | - rf_ramp = (u16 *)&rf_ramp_pwm_uhf_8090; |
---|
| 1097 | + rf_ramp = rf_ramp_pwm_uhf_8090; |
---|
1110 | 1098 | else if (state->identity.version == SOC_7090_P1G_11R1 || state->identity.version == SOC_7090_P1G_21R1) |
---|
1111 | | - rf_ramp = (u16 *)&rf_ramp_pwm_uhf_7090; |
---|
| 1099 | + rf_ramp = rf_ramp_pwm_uhf_7090; |
---|
1112 | 1100 | } else |
---|
1113 | | - rf_ramp = (u16 *)&rf_ramp_pwm_uhf; |
---|
| 1101 | + rf_ramp = rf_ramp_pwm_uhf; |
---|
1114 | 1102 | } |
---|
1115 | 1103 | if (rf_ramp) |
---|
1116 | 1104 | dib0090_set_rframp_pwm(state, rf_ramp); |
---|
.. | .. |
---|
1416 | 1404 | } |
---|
1417 | 1405 | |
---|
1418 | 1406 | if (cfg_sensitivity) |
---|
1419 | | - state->rf_ramp = (const u16 *)&rf_ramp_pwm_cband_7090e_sensitivity; |
---|
| 1407 | + state->rf_ramp = rf_ramp_pwm_cband_7090e_sensitivity; |
---|
1420 | 1408 | else |
---|
1421 | | - state->rf_ramp = (const u16 *)&rf_ramp_pwm_cband_7090e_aci; |
---|
| 1409 | + state->rf_ramp = rf_ramp_pwm_cband_7090e_aci; |
---|
1422 | 1410 | dib0090_pwm_gain_reset(fe); |
---|
1423 | 1411 | |
---|
1424 | 1412 | return 0; |
---|
.. | .. |
---|
1705 | 1693 | if (state->identity.p1g) |
---|
1706 | 1694 | state->dc = dc_p1g_table; |
---|
1707 | 1695 | |
---|
1708 | | - /* fall through */ |
---|
| 1696 | + fallthrough; |
---|
1709 | 1697 | case CT_TUNER_STEP_0: |
---|
1710 | 1698 | dprintk("Start/continue DC calibration for %s path\n", |
---|
1711 | 1699 | (state->dc->i == 1) ? "I" : "Q"); |
---|
.. | .. |
---|
1760 | 1748 | } |
---|
1761 | 1749 | |
---|
1762 | 1750 | dib0090_set_trim(state); |
---|
1763 | | - dprintk("BB Offset Cal, BBreg=%hd,Offset=%hd,Value Set=%hd\n", state->dc->addr, state->adc_diff, state->step); |
---|
| 1751 | + dprintk("BB Offset Cal, BBreg=%u,Offset=%d,Value Set=%d\n", |
---|
| 1752 | + state->dc->addr, state->adc_diff, state->step); |
---|
1764 | 1753 | |
---|
1765 | 1754 | state->dc++; |
---|
1766 | 1755 | if (state->dc->addr == 0) /* done */ |
---|
.. | .. |
---|
2459 | 2448 | state->current_standard = state->fe->dtv_property_cache.delivery_system; |
---|
2460 | 2449 | |
---|
2461 | 2450 | ret = 20; |
---|
2462 | | - state->calibrate = CAPTRIM_CAL; /* captrim serach now */ |
---|
| 2451 | + state->calibrate = CAPTRIM_CAL; /* captrim search now */ |
---|
2463 | 2452 | } |
---|
2464 | 2453 | |
---|
2465 | 2454 | else if (*tune_state == CT_TUNER_STEP_0) { /* Warning : because of captrim cal, if you change this step, change it also in _cal.c file because it is the step following captrim cal state machine */ |
---|
.. | .. |
---|
2643 | 2632 | return NULL; |
---|
2644 | 2633 | } |
---|
2645 | 2634 | |
---|
2646 | | -EXPORT_SYMBOL(dib0090_register); |
---|
| 2635 | +EXPORT_SYMBOL_GPL(dib0090_register); |
---|
2647 | 2636 | |
---|
2648 | 2637 | struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config) |
---|
2649 | 2638 | { |
---|
.. | .. |
---|
2669 | 2658 | fe->tuner_priv = NULL; |
---|
2670 | 2659 | return NULL; |
---|
2671 | 2660 | } |
---|
2672 | | -EXPORT_SYMBOL(dib0090_fw_register); |
---|
| 2661 | +EXPORT_SYMBOL_GPL(dib0090_fw_register); |
---|
2673 | 2662 | |
---|
2674 | 2663 | MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@posteo.de>"); |
---|
2675 | 2664 | MODULE_AUTHOR("Olivier Grenie <olivier.grenie@parrot.com>"); |
---|