[linux-next:master 8921/13745] drivers/scsi/FlashPoint.c:1076:11: error: 'struct sccb_mgr_info' has no member named '_sifields'
by kernel test robot
Hi Christoph,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 50b8b1d699ac313c0a07a3c185ffb23aecab8abb
commit: 8cad3b66bff4ee7c7d52b9a663cb6a2c5f66a7f7 [8921/13745] Buslogic: remove ISA support
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 8cad3b66bff4ee7c7d52b9a663cb6a2c5f66a7f7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/uapi/linux/signal.h:6,
from include/linux/signal_types.h:10,
from include/linux/sched.h:30,
from arch/ia64/include/asm/hw_irq.h:11,
from include/linux/irq.h:589,
from arch/ia64/include/asm/hardirq.h:19,
from include/linux/hardirq.h:10,
from include/linux/interrupt.h:11,
from drivers/scsi/BusLogic.c:27:
arch/ia64/include/uapi/asm/siginfo.h:15:27: error: expected ':', ',', ';', '}' or '__attribute__' before '.' token
15 | #define si_flags _sifields._sigfault._flags
| ^
drivers/scsi/FlashPoint.c:43:6: note: in expansion of macro 'si_flags'
43 | u16 si_flags;
| ^~~~~~~~
In file included from drivers/scsi/BusLogic.c:51:
drivers/scsi/FlashPoint.c: In function 'FlashPoint_ProbeHostAdapter':
>> drivers/scsi/FlashPoint.c:1076:11: error: 'struct sccb_mgr_info' has no member named '_sifields'
1076 | pCardInfo->si_flags = 0x0000;
| ^~
drivers/scsi/FlashPoint.c:1079:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1079 | pCardInfo->si_flags |= SCSI_PARITY_ENA;
| ^~
drivers/scsi/FlashPoint.c:1082:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1082 | pCardInfo->si_flags |= SOFT_RESET;
| ^~
drivers/scsi/FlashPoint.c:1085:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1085 | pCardInfo->si_flags |= EXTENDED_TRANSLATION;
| ^~
drivers/scsi/FlashPoint.c:1088:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1088 | pCardInfo->si_flags |= FLAG_SCAM_ENABLED;
| ^~
drivers/scsi/FlashPoint.c:1091:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1091 | pCardInfo->si_flags |= FLAG_SCAM_LEVEL2;
| ^~
drivers/scsi/FlashPoint.c:1107:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1107 | pCardInfo->si_flags |= SUPPORT_16TAR_32LUN;
| ^~
drivers/scsi/FlashPoint.c:1109:11: error: 'struct sccb_mgr_info' has no member named 'si_card_family'
1109 | pCardInfo->si_card_family = HARPOON_FAMILY;
| ^~
>> drivers/scsi/FlashPoint.c:1110:11: error: 'struct sccb_mgr_info' has no member named 'si_bustype'
1110 | pCardInfo->si_bustype = BUSTYPE_PCI;
| ^~
>> drivers/scsi/FlashPoint.c:1113:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1113 | pCardInfo->si_card_model[0] = '9';
| ^~
drivers/scsi/FlashPoint.c:1116:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1116 | pCardInfo->si_card_model[1] = '3';
| ^~
drivers/scsi/FlashPoint.c:1117:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1117 | pCardInfo->si_card_model[2] = '0';
| ^~
drivers/scsi/FlashPoint.c:1120:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1120 | pCardInfo->si_card_model[1] = '5';
| ^~
drivers/scsi/FlashPoint.c:1121:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1121 | pCardInfo->si_card_model[2] = '0';
| ^~
drivers/scsi/FlashPoint.c:1124:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1124 | pCardInfo->si_card_model[1] = '3';
| ^~
drivers/scsi/FlashPoint.c:1125:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1125 | pCardInfo->si_card_model[2] = '2';
| ^~
drivers/scsi/FlashPoint.c:1128:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1128 | pCardInfo->si_card_model[1] = '5';
| ^~
drivers/scsi/FlashPoint.c:1129:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1129 | pCardInfo->si_card_model[2] = '2';
| ^~
drivers/scsi/FlashPoint.c:1134:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1134 | pCardInfo->si_card_model[0] = (unsigned char)(temp >> 8);
| ^~
drivers/scsi/FlashPoint.c:1137:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1137 | pCardInfo->si_card_model[1] = (unsigned char)(temp & 0x00FF);
| ^~
drivers/scsi/FlashPoint.c:1138:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1138 | pCardInfo->si_card_model[2] = (unsigned char)(temp >> 8);
| ^~
drivers/scsi/FlashPoint.c:1141:15: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1141 | if (pCardInfo->si_card_model[1] == '3') {
| ^~
drivers/scsi/FlashPoint.c:1143:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1143 | pCardInfo->si_flags |= LOW_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1144:22: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1144 | } else if (pCardInfo->si_card_model[2] == '0') {
| ^~
drivers/scsi/FlashPoint.c:1148:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1148 | pCardInfo->si_flags |= LOW_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1151:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1151 | pCardInfo->si_flags |= HIGH_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1169:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1169 | pCardInfo->si_flags |= LOW_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1171:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1171 | pCardInfo->si_flags |= HIGH_BYTE_TERM;
| ^~
>> drivers/scsi/FlashPoint.c:1178:12: error: 'struct sccb_mgr_info' has no member named 'si_XlatInfo'
1178 | pCardInfo->si_XlatInfo[i] =
| ^~
>> drivers/scsi/FlashPoint.c:1185:11: error: 'struct sccb_mgr_info' has no member named 'si_relative_cardnum'
1185 | pCardInfo->si_relative_cardnum =
| ^~
drivers/scsi/FlashPoint.c: In function 'FlashPoint_HardwareResetHostAdapter':
drivers/scsi/FlashPoint.c:1278:30: error: 'struct sccb_mgr_info' has no member named '_sifields'
1278 | i = (unsigned char)pCardInfo->si_flags;
| ^~
drivers/scsi/FlashPoint.c:1292:17: error: 'struct sccb_mgr_info' has no member named '_sifields'
1292 | if (!(pCardInfo->si_flags & SOFT_RESET)) {
| ^~
drivers/scsi/FlashPoint.c:1299:15: error: 'struct sccb_mgr_info' has no member named '_sifields'
1299 | if (pCardInfo->si_flags & POST_ALL_UNDERRRUNS)
| ^~
drivers/scsi/FlashPoint.c: In function 'FlashPoint_AbortCCB':
drivers/scsi/FlashPoint.c:1618:16: warning: variable 'TID' set but not used [-Wunused-but-set-variable]
1618 | unsigned char TID;
| ^~~
drivers/scsi/BusLogic.c: In function 'blogic_msg':
drivers/scsi/BusLogic.c:3447:2: warning: function 'blogic_msg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
3447 | len = vsprintf(buf, fmt, args);
| ^~~
vim +1076 drivers/scsi/FlashPoint.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 929
47b5d69c4aa753 James Bottomley 2005-04-24 930 /*---------------------------------------------------------------------
^1da177e4c3f41 Linus Torvalds 2005-04-16 931 *
d8b6b8bd8a99ee Alexey Dobriyan 2006-03-08 932 * Function: FlashPoint_ProbeHostAdapter
^1da177e4c3f41 Linus Torvalds 2005-04-16 933 *
47b5d69c4aa753 James Bottomley 2005-04-24 934 * Description: Setup and/or Search for cards and return info to caller.
^1da177e4c3f41 Linus Torvalds 2005-04-16 935 *
47b5d69c4aa753 James Bottomley 2005-04-24 936 *---------------------------------------------------------------------*/
^1da177e4c3f41 Linus Torvalds 2005-04-16 937
7f101662dd55aa Alexey Dobriyan 2006-03-08 938 static int FlashPoint_ProbeHostAdapter(struct sccb_mgr_info *pCardInfo)
47b5d69c4aa753 James Bottomley 2005-04-24 939 {
db038cf86fc63d Alexey Dobriyan 2006-03-08 940 static unsigned char first_time = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 941
db038cf86fc63d Alexey Dobriyan 2006-03-08 942 unsigned char i, j, id, ScamFlg;
c823feeb33161c Alexey Dobriyan 2006-03-08 943 unsigned short temp, temp2, temp3, temp4, temp5, temp6;
391e2f25601e34 Khalid Aziz 2013-05-16 944 u32 ioport;
68d0c1ae66413e Alexey Dobriyan 2006-03-08 945 struct nvram_info *pCurrNvRam;
^1da177e4c3f41 Linus Torvalds 2005-04-16 946
47b5d69c4aa753 James Bottomley 2005-04-24 947 ioport = pCardInfo->si_baseaddr;
^1da177e4c3f41 Linus Torvalds 2005-04-16 948
47b5d69c4aa753 James Bottomley 2005-04-24 949 if (RD_HARPOON(ioport + hp_vendor_id_0) != ORION_VEND_0)
5c1b85e209af41 Alexey Dobriyan 2006-03-08 950 return (int)FAILURE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 951
^1da177e4c3f41 Linus Torvalds 2005-04-16 952 if ((RD_HARPOON(ioport + hp_vendor_id_1) != ORION_VEND_1))
5c1b85e209af41 Alexey Dobriyan 2006-03-08 953 return (int)FAILURE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 954
^1da177e4c3f41 Linus Torvalds 2005-04-16 955 if ((RD_HARPOON(ioport + hp_device_id_0) != ORION_DEV_0))
5c1b85e209af41 Alexey Dobriyan 2006-03-08 956 return (int)FAILURE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 957
^1da177e4c3f41 Linus Torvalds 2005-04-16 958 if ((RD_HARPOON(ioport + hp_device_id_1) != ORION_DEV_1))
5c1b85e209af41 Alexey Dobriyan 2006-03-08 959 return (int)FAILURE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 960
^1da177e4c3f41 Linus Torvalds 2005-04-16 961 if (RD_HARPOON(ioport + hp_rev_num) != 0x0f) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 962
^1da177e4c3f41 Linus Torvalds 2005-04-16 963 /* For new Harpoon then check for sub_device ID LSB
^1da177e4c3f41 Linus Torvalds 2005-04-16 964 the bits(0-3) must be all ZERO for compatible with
^1da177e4c3f41 Linus Torvalds 2005-04-16 965 current version of SCCBMgr, else skip this Harpoon
^1da177e4c3f41 Linus Torvalds 2005-04-16 966 device. */
^1da177e4c3f41 Linus Torvalds 2005-04-16 967
^1da177e4c3f41 Linus Torvalds 2005-04-16 968 if (RD_HARPOON(ioport + hp_sub_device_id_0) & 0x0f)
5c1b85e209af41 Alexey Dobriyan 2006-03-08 969 return (int)FAILURE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 970 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 971
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 972 if (first_time) {
47b5d69c4aa753 James Bottomley 2005-04-24 973 FPT_SccbMgrTableInitAll();
^1da177e4c3f41 Linus Torvalds 2005-04-16 974 first_time = 0;
47b5d69c4aa753 James Bottomley 2005-04-24 975 FPT_mbCards = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 976 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 977
47b5d69c4aa753 James Bottomley 2005-04-24 978 if (FPT_RdStack(ioport, 0) != 0x00) {
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 979 if (FPT_ChkIfChipInitialized(ioport) == 0) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 980 pCurrNvRam = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 981 WR_HARPOON(ioport + hp_semaphore, 0x00);
47b5d69c4aa753 James Bottomley 2005-04-24 982 FPT_XbowInit(ioport, 0); /*Must Init the SCSI before attempting */
47b5d69c4aa753 James Bottomley 2005-04-24 983 FPT_DiagEEPROM(ioport);
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 984 } else {
47b5d69c4aa753 James Bottomley 2005-04-24 985 if (FPT_mbCards < MAX_MB_CARDS) {
47b5d69c4aa753 James Bottomley 2005-04-24 986 pCurrNvRam = &FPT_nvRamInfo[FPT_mbCards];
47b5d69c4aa753 James Bottomley 2005-04-24 987 FPT_mbCards++;
^1da177e4c3f41 Linus Torvalds 2005-04-16 988 pCurrNvRam->niBaseAddr = ioport;
47b5d69c4aa753 James Bottomley 2005-04-24 989 FPT_RNVRamData(pCurrNvRam);
^1da177e4c3f41 Linus Torvalds 2005-04-16 990 } else
5c1b85e209af41 Alexey Dobriyan 2006-03-08 991 return (int)FAILURE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 992 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 993 } else
^1da177e4c3f41 Linus Torvalds 2005-04-16 994 pCurrNvRam = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 995
^1da177e4c3f41 Linus Torvalds 2005-04-16 996 WR_HARPOON(ioport + hp_clkctrl_0, CLKCTRL_DEFAULT);
^1da177e4c3f41 Linus Torvalds 2005-04-16 997 WR_HARPOON(ioport + hp_sys_ctrl, 0x00);
^1da177e4c3f41 Linus Torvalds 2005-04-16 998
^1da177e4c3f41 Linus Torvalds 2005-04-16 999 if (pCurrNvRam)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1000 pCardInfo->si_id = pCurrNvRam->niAdapId;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1001 else
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1002 pCardInfo->si_id =
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1003 (unsigned
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1004 char)(FPT_utilEERead(ioport,
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1005 (ADAPTER_SCSI_ID /
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1006 2)) & (unsigned char)0x0FF);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1007
^1da177e4c3f41 Linus Torvalds 2005-04-16 1008 pCardInfo->si_lun = 0x00;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1009 pCardInfo->si_fw_revision = ORION_FW_REV;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1010 temp2 = 0x0000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1011 temp3 = 0x0000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1012 temp4 = 0x0000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1013 temp5 = 0x0000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1014 temp6 = 0x0000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1015
^1da177e4c3f41 Linus Torvalds 2005-04-16 1016 for (id = 0; id < (16 / 2); id++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1017
^1da177e4c3f41 Linus Torvalds 2005-04-16 1018 if (pCurrNvRam) {
c823feeb33161c Alexey Dobriyan 2006-03-08 1019 temp = (unsigned short)pCurrNvRam->niSyncTbl[id];
^1da177e4c3f41 Linus Torvalds 2005-04-16 1020 temp = ((temp & 0x03) + ((temp << 4) & 0xc0)) +
^1da177e4c3f41 Linus Torvalds 2005-04-16 1021 (((temp << 4) & 0x0300) + ((temp << 8) & 0xc000));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1022 } else
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1023 temp =
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1024 FPT_utilEERead(ioport,
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1025 (unsigned short)((SYNC_RATE_TBL / 2)
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1026 + id));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1027
^1da177e4c3f41 Linus Torvalds 2005-04-16 1028 for (i = 0; i < 2; temp >>= 8, i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1029
^1da177e4c3f41 Linus Torvalds 2005-04-16 1030 temp2 >>= 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1031 temp3 >>= 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1032 temp4 >>= 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1033 temp5 >>= 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1034 temp6 >>= 1;
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1035 switch (temp & 0x3) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1036 case AUTO_RATE_20: /* Synchronous, 20 mega-transfers/second */
df561f6688fef7 Gustavo A. R. Silva 2020-08-23 1037 temp6 |= 0x8000;
df561f6688fef7 Gustavo A. R. Silva 2020-08-23 1038 fallthrough;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1039 case AUTO_RATE_10: /* Synchronous, 10 mega-transfers/second */
df561f6688fef7 Gustavo A. R. Silva 2020-08-23 1040 temp5 |= 0x8000;
df561f6688fef7 Gustavo A. R. Silva 2020-08-23 1041 fallthrough;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1042 case AUTO_RATE_05: /* Synchronous, 5 mega-transfers/second */
df561f6688fef7 Gustavo A. R. Silva 2020-08-23 1043 temp2 |= 0x8000;
df561f6688fef7 Gustavo A. R. Silva 2020-08-23 1044 fallthrough;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1045 case AUTO_RATE_00: /* Asynchronous */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1046 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1047 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1048
^1da177e4c3f41 Linus Torvalds 2005-04-16 1049 if (temp & DISC_ENABLE_BIT)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1050 temp3 |= 0x8000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1051
^1da177e4c3f41 Linus Torvalds 2005-04-16 1052 if (temp & WIDE_NEGO_BIT)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1053 temp4 |= 0x8000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1054
^1da177e4c3f41 Linus Torvalds 2005-04-16 1055 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1056 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1057
^1da177e4c3f41 Linus Torvalds 2005-04-16 1058 pCardInfo->si_per_targ_init_sync = temp2;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1059 pCardInfo->si_per_targ_no_disc = temp3;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1060 pCardInfo->si_per_targ_wide_nego = temp4;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1061 pCardInfo->si_per_targ_fast_nego = temp5;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1062 pCardInfo->si_per_targ_ultra_nego = temp6;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1063
^1da177e4c3f41 Linus Torvalds 2005-04-16 1064 if (pCurrNvRam)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1065 i = pCurrNvRam->niSysConf;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1066 else
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1067 i = (unsigned
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1068 char)(FPT_utilEERead(ioport, (SYSTEM_CONFIG / 2)));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1069
^1da177e4c3f41 Linus Torvalds 2005-04-16 1070 if (pCurrNvRam)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1071 ScamFlg = pCurrNvRam->niScamConf;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1072 else
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1073 ScamFlg =
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1074 (unsigned char)FPT_utilEERead(ioport, SCAM_CONFIG / 2);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1075
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1076 pCardInfo->si_flags = 0x0000;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1077
^1da177e4c3f41 Linus Torvalds 2005-04-16 1078 if (i & 0x01)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1079 pCardInfo->si_flags |= SCSI_PARITY_ENA;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1080
^1da177e4c3f41 Linus Torvalds 2005-04-16 1081 if (!(i & 0x02))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1082 pCardInfo->si_flags |= SOFT_RESET;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1083
^1da177e4c3f41 Linus Torvalds 2005-04-16 1084 if (i & 0x10)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1085 pCardInfo->si_flags |= EXTENDED_TRANSLATION;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1086
^1da177e4c3f41 Linus Torvalds 2005-04-16 1087 if (ScamFlg & SCAM_ENABLED)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1088 pCardInfo->si_flags |= FLAG_SCAM_ENABLED;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1089
^1da177e4c3f41 Linus Torvalds 2005-04-16 1090 if (ScamFlg & SCAM_LEVEL2)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1091 pCardInfo->si_flags |= FLAG_SCAM_LEVEL2;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1092
^1da177e4c3f41 Linus Torvalds 2005-04-16 1093 j = (RD_HARPOON(ioport + hp_bm_ctrl) & ~SCSI_TERM_ENA_L);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1094 if (i & 0x04) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1095 j |= SCSI_TERM_ENA_L;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1096 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1097 WR_HARPOON(ioport + hp_bm_ctrl, j);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1098
^1da177e4c3f41 Linus Torvalds 2005-04-16 1099 j = (RD_HARPOON(ioport + hp_ee_ctrl) & ~SCSI_TERM_ENA_H);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1100 if (i & 0x08) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1101 j |= SCSI_TERM_ENA_H;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1102 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1103 WR_HARPOON(ioport + hp_ee_ctrl, j);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1104
^1da177e4c3f41 Linus Torvalds 2005-04-16 1105 if (!(RD_HARPOON(ioport + hp_page_ctrl) & NARROW_SCSI_CARD))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1106
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1107 pCardInfo->si_flags |= SUPPORT_16TAR_32LUN;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1108
^1da177e4c3f41 Linus Torvalds 2005-04-16 1109 pCardInfo->si_card_family = HARPOON_FAMILY;
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1110 pCardInfo->si_bustype = BUSTYPE_PCI;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1111
^1da177e4c3f41 Linus Torvalds 2005-04-16 1112 if (pCurrNvRam) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1113 pCardInfo->si_card_model[0] = '9';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1114 switch (pCurrNvRam->niModel & 0x0f) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1115 case MODEL_LT:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1116 pCardInfo->si_card_model[1] = '3';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1117 pCardInfo->si_card_model[2] = '0';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1118 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1119 case MODEL_LW:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1120 pCardInfo->si_card_model[1] = '5';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1121 pCardInfo->si_card_model[2] = '0';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1122 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1123 case MODEL_DL:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1124 pCardInfo->si_card_model[1] = '3';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1125 pCardInfo->si_card_model[2] = '2';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1126 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1127 case MODEL_DW:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1128 pCardInfo->si_card_model[1] = '5';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1129 pCardInfo->si_card_model[2] = '2';
^1da177e4c3f41 Linus Torvalds 2005-04-16 1130 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1131 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1132 } else {
47b5d69c4aa753 James Bottomley 2005-04-24 1133 temp = FPT_utilEERead(ioport, (MODEL_NUMB_0 / 2));
db038cf86fc63d Alexey Dobriyan 2006-03-08 1134 pCardInfo->si_card_model[0] = (unsigned char)(temp >> 8);
47b5d69c4aa753 James Bottomley 2005-04-24 1135 temp = FPT_utilEERead(ioport, (MODEL_NUMB_2 / 2));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1136
db038cf86fc63d Alexey Dobriyan 2006-03-08 1137 pCardInfo->si_card_model[1] = (unsigned char)(temp & 0x00FF);
db038cf86fc63d Alexey Dobriyan 2006-03-08 1138 pCardInfo->si_card_model[2] = (unsigned char)(temp >> 8);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1139 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1140
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1141 if (pCardInfo->si_card_model[1] == '3') {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1142 if (RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1143 pCardInfo->si_flags |= LOW_BYTE_TERM;
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1144 } else if (pCardInfo->si_card_model[2] == '0') {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1145 temp = RD_HARPOON(ioport + hp_xfer_pad);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1146 WR_HARPOON(ioport + hp_xfer_pad, (temp & ~BIT(4)));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1147 if (RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1148 pCardInfo->si_flags |= LOW_BYTE_TERM;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1149 WR_HARPOON(ioport + hp_xfer_pad, (temp | BIT(4)));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1150 if (RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7))
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1151 pCardInfo->si_flags |= HIGH_BYTE_TERM;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1152 WR_HARPOON(ioport + hp_xfer_pad, temp);
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1153 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1154 temp = RD_HARPOON(ioport + hp_ee_ctrl);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1155 temp2 = RD_HARPOON(ioport + hp_xfer_pad);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1156 WR_HARPOON(ioport + hp_ee_ctrl, (temp | SEE_CS));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1157 WR_HARPOON(ioport + hp_xfer_pad, (temp2 | BIT(4)));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1158 temp3 = 0;
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1159 for (i = 0; i < 8; i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1160 temp3 <<= 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1161 if (!(RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7)))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1162 temp3 |= 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1163 WR_HARPOON(ioport + hp_xfer_pad, (temp2 & ~BIT(4)));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1164 WR_HARPOON(ioport + hp_xfer_pad, (temp2 | BIT(4)));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1165 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1166 WR_HARPOON(ioport + hp_ee_ctrl, temp);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1167 WR_HARPOON(ioport + hp_xfer_pad, temp2);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1168 if (!(temp3 & BIT(7)))
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1169 pCardInfo->si_flags |= LOW_BYTE_TERM;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1170 if (!(temp3 & BIT(6)))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1171 pCardInfo->si_flags |= HIGH_BYTE_TERM;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1172 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1173
^1da177e4c3f41 Linus Torvalds 2005-04-16 1174 ARAM_ACCESS(ioport);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1175
^1da177e4c3f41 Linus Torvalds 2005-04-16 1176 for (i = 0; i < 4; i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1177
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1178 pCardInfo->si_XlatInfo[i] =
^1da177e4c3f41 Linus Torvalds 2005-04-16 1179 RD_HARPOON(ioport + hp_aramBase + BIOS_DATA_OFFSET + i);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1180 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1181
^1da177e4c3f41 Linus Torvalds 2005-04-16 1182 /* return with -1 if no sort, else return with
^1da177e4c3f41 Linus Torvalds 2005-04-16 1183 logical card number sorted by BIOS (zero-based) */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1184
^1da177e4c3f41 Linus Torvalds 2005-04-16 @1185 pCardInfo->si_relative_cardnum =
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1186 (unsigned
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1187 char)(RD_HARPOON(ioport + hp_aramBase + BIOS_RELATIVE_CARD) - 1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1188
^1da177e4c3f41 Linus Torvalds 2005-04-16 1189 SGRAM_ACCESS(ioport);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1190
47b5d69c4aa753 James Bottomley 2005-04-24 1191 FPT_s_PhaseTbl[0] = FPT_phaseDataOut;
47b5d69c4aa753 James Bottomley 2005-04-24 1192 FPT_s_PhaseTbl[1] = FPT_phaseDataIn;
47b5d69c4aa753 James Bottomley 2005-04-24 1193 FPT_s_PhaseTbl[2] = FPT_phaseIllegal;
47b5d69c4aa753 James Bottomley 2005-04-24 1194 FPT_s_PhaseTbl[3] = FPT_phaseIllegal;
47b5d69c4aa753 James Bottomley 2005-04-24 1195 FPT_s_PhaseTbl[4] = FPT_phaseCommand;
47b5d69c4aa753 James Bottomley 2005-04-24 1196 FPT_s_PhaseTbl[5] = FPT_phaseStatus;
47b5d69c4aa753 James Bottomley 2005-04-24 1197 FPT_s_PhaseTbl[6] = FPT_phaseMsgOut;
47b5d69c4aa753 James Bottomley 2005-04-24 1198 FPT_s_PhaseTbl[7] = FPT_phaseMsgIn;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1199
^1da177e4c3f41 Linus Torvalds 2005-04-16 1200 pCardInfo->si_present = 0x01;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1201
5c1b85e209af41 Alexey Dobriyan 2006-03-08 1202 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1203 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1204
:::::: The code at line 1076 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH] scsi: ufs: Add batched WB buffer flush
by kernel test robot
Hi Daejun,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on mkp-scsi/for-next]
[also build test WARNING on scsi/for-next next-20210419]
[cannot apply to linus/master v5.12-rc8]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Daejun-Park/scsi-ufs-Add-batched...
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: x86_64-randconfig-a012-20210419 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project ca8eef7e3da8f750d7c7aa004fe426d1d34787ea)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/9f59814819c3a0ab46c3f1faf61332a03...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Daejun-Park/scsi-ufs-Add-batched-WB-buffer-flush/20210420-105527
git checkout 9f59814819c3a0ab46c3f1faf61332a03a158de2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/scsi/ufs/ufs-sysfs.c:290:6: warning: variable 'res' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (wb_batched_flush == hba->vps->wb_batched_flush)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/ufs/ufs-sysfs.c:301:9: note: uninitialized use occurs here
return res < 0 ? res : count;
^~~
drivers/scsi/ufs/ufs-sysfs.c:290:2: note: remove the 'if' if its condition is always false
if (wb_batched_flush == hba->vps->wb_batched_flush)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/ufs/ufs-sysfs.c:271:13: note: initialize the variable 'res' to silence this warning
ssize_t res;
^
= 0
1 warning generated.
vim +290 drivers/scsi/ufs/ufs-sysfs.c
264
265 static ssize_t wb_batched_flush_store(struct device *dev,
266 struct device_attribute *attr,
267 const char *buf, size_t count)
268 {
269 struct ufs_hba *hba = dev_get_drvdata(dev);
270 unsigned int wb_batched_flush;
271 ssize_t res;
272
273 if (!ufshcd_is_wb_allowed(hba)) {
274 dev_warn(dev, "To control WB through wb_batched_flush is not allowed!\n");
275 return -EOPNOTSUPP;
276 }
277
278 if (kstrtouint(buf, 0, &wb_batched_flush))
279 return -EINVAL;
280
281 if (wb_batched_flush != 0 && wb_batched_flush != 1)
282 return -EINVAL;
283
284 down(&hba->host_sem);
285 if (!ufshcd_is_user_access_allowed(hba)) {
286 res = -EBUSY;
287 goto out;
288 }
289
> 290 if (wb_batched_flush == hba->vps->wb_batched_flush)
291 goto out;
292
293 pm_runtime_get_sync(hba->dev);
294 res = ufshcd_wb_toggle_flush_during_h8(hba, !wb_batched_flush);
295 pm_runtime_put_sync(hba->dev);
296 if (!res)
297 hba->vps->wb_batched_flush = wb_batched_flush;
298
299 out:
300 up(&hba->host_sem);
301 return res < 0 ? res : count;
302 }
303
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[xlnx:master 20/33] drivers/usb/dwc3/core.h:1421:6: warning: no previous prototype for function 'dwc3_mask_phy_reset'
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx master
head: 5fd22595ae63ccd63022971d869da5cb90447a29
commit: 31d7800cc8d815f78d1bfa30655799f5733a4f59 [20/33] usb: dwc3: Add support for masking phy reset signal
config: x86_64-randconfig-r025-20210419 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2b50f5a4343f8fb06acaa5c36355bcf58092c9cd)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/Xilinx/linux-xlnx/commit/31d7800cc8d815f78d1bfa3065579...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx master
git checkout 31d7800cc8d815f78d1bfa30655799f5733a4f59
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/usb/dwc3/core.c:11:
In file included from include/linux/clk.h:17:
In file included from include/linux/notifier.h:15:
In file included from include/linux/rwsem.h:16:
In file included from include/linux/spinlock.h:51:
In file included from include/linux/preempt.h:81:
In file included from arch/x86/include/asm/preempt.h:7:
In file included from include/linux/thread_info.h:38:
In file included from arch/x86/include/asm/thread_info.h:53:
arch/x86/include/asm/cpufeature.h:164:2: error: implicit declaration of function 'asm_volatile_goto' [-Werror,-Wimplicit-function-declaration]
asm_volatile_goto("1: jmp 6f\n"
^
arch/x86/include/asm/cpufeature.h:195:4: error: expected ')'
: : [feature] "i" (bit),
^
arch/x86/include/asm/cpufeature.h:164:19: note: to match this '('
asm_volatile_goto("1: jmp 6f\n"
^
In file included from drivers/usb/dwc3/core.c:36:
drivers/usb/dwc3/core.h:1413:6: warning: no previous prototype for function 'dwc3_simple_wakeup_capable' [-Wmissing-prototypes]
void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup)
^
drivers/usb/dwc3/core.h:1413:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup)
^
static
drivers/usb/dwc3/core.h:1415:6: warning: no previous prototype for function 'dwc3_set_simple_data' [-Wmissing-prototypes]
void dwc3_set_simple_data(struct dwc3 *dwc)
^
drivers/usb/dwc3/core.h:1415:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_set_simple_data(struct dwc3 *dwc)
^
static
drivers/usb/dwc3/core.h:1417:6: warning: no previous prototype for function 'dwc3_simple_check_quirks' [-Wmissing-prototypes]
void dwc3_simple_check_quirks(struct dwc3 *dwc)
^
drivers/usb/dwc3/core.h:1417:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_simple_check_quirks(struct dwc3 *dwc)
^
static
drivers/usb/dwc3/core.h:1419:5: warning: no previous prototype for function 'dwc3_set_usb_core_power' [-Wmissing-prototypes]
int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on)
^
drivers/usb/dwc3/core.h:1419:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on)
^
static
>> drivers/usb/dwc3/core.h:1421:6: warning: no previous prototype for function 'dwc3_mask_phy_reset' [-Wmissing-prototypes]
void dwc3_mask_phy_reset(struct device *dev, bool mask)
^
drivers/usb/dwc3/core.h:1421:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_mask_phy_reset(struct device *dev, bool mask)
^
static
5 warnings and 2 errors generated.
--
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/trace.h:17:
In file included from include/linux/tracepoint.h:18:
In file included from include/linux/srcu.h:33:
In file included from include/linux/rcupdate.h:40:
In file included from include/linux/preempt.h:81:
In file included from arch/x86/include/asm/preempt.h:7:
In file included from include/linux/thread_info.h:38:
In file included from arch/x86/include/asm/thread_info.h:53:
arch/x86/include/asm/cpufeature.h:164:2: error: implicit declaration of function 'asm_volatile_goto' [-Werror,-Wimplicit-function-declaration]
asm_volatile_goto("1: jmp 6f\n"
^
arch/x86/include/asm/cpufeature.h:195:4: error: expected ')'
: : [feature] "i" (bit),
^
arch/x86/include/asm/cpufeature.h:164:19: note: to match this '('
asm_volatile_goto("1: jmp 6f\n"
^
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/trace.h:19:
drivers/usb/dwc3/core.h:1413:6: warning: no previous prototype for function 'dwc3_simple_wakeup_capable' [-Wmissing-prototypes]
void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup)
^
drivers/usb/dwc3/core.h:1413:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup)
^
static
drivers/usb/dwc3/core.h:1415:6: warning: no previous prototype for function 'dwc3_set_simple_data' [-Wmissing-prototypes]
void dwc3_set_simple_data(struct dwc3 *dwc)
^
drivers/usb/dwc3/core.h:1415:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_set_simple_data(struct dwc3 *dwc)
^
static
drivers/usb/dwc3/core.h:1417:6: warning: no previous prototype for function 'dwc3_simple_check_quirks' [-Wmissing-prototypes]
void dwc3_simple_check_quirks(struct dwc3 *dwc)
^
drivers/usb/dwc3/core.h:1417:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_simple_check_quirks(struct dwc3 *dwc)
^
static
drivers/usb/dwc3/core.h:1419:5: warning: no previous prototype for function 'dwc3_set_usb_core_power' [-Wmissing-prototypes]
int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on)
^
drivers/usb/dwc3/core.h:1419:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on)
^
static
>> drivers/usb/dwc3/core.h:1421:6: warning: no previous prototype for function 'dwc3_mask_phy_reset' [-Wmissing-prototypes]
void dwc3_mask_phy_reset(struct device *dev, bool mask)
^
drivers/usb/dwc3/core.h:1421:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_mask_phy_reset(struct device *dev, bool mask)
^
static
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/./trace.h:341:
In file included from include/trace/define_trace.h:96:
In file included from include/trace/trace_events.h:20:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:18:
In file included from include/uapi/linux/bpf_perf_event.h:11:
In file included from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1:
In file included from include/uapi/asm-generic/bpf_perf_event.h:4:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:83:11: warning: array index 3 is past the end of the array (which contains 1 element) [-Warray-bounds]
return (set->sig[3] | set->sig[2] |
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/./trace.h:341:
In file included from include/trace/define_trace.h:96:
In file included from include/trace/trace_events.h:20:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:18:
In file included from include/uapi/linux/bpf_perf_event.h:11:
In file included from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1:
In file included from include/uapi/asm-generic/bpf_perf_event.h:4:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:83:25: warning: array index 2 is past the end of the array (which contains 1 element) [-Warray-bounds]
return (set->sig[3] | set->sig[2] |
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/./trace.h:341:
In file included from include/trace/define_trace.h:96:
In file included from include/trace/trace_events.h:20:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:18:
In file included from include/uapi/linux/bpf_perf_event.h:11:
In file included from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1:
In file included from include/uapi/asm-generic/bpf_perf_event.h:4:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:84:4: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
set->sig[1] | set->sig[0]) == 0;
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/./trace.h:341:
In file included from include/trace/define_trace.h:96:
In file included from include/trace/trace_events.h:20:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:18:
In file included from include/uapi/linux/bpf_perf_event.h:11:
In file included from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1:
In file included from include/uapi/asm-generic/bpf_perf_event.h:4:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:86:11: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
return (set->sig[1] | set->sig[0]) == 0;
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/./trace.h:341:
In file included from include/trace/define_trace.h:96:
In file included from include/trace/trace_events.h:20:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:18:
In file included from include/uapi/linux/bpf_perf_event.h:11:
In file included from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1:
In file included from include/uapi/asm-generic/bpf_perf_event.h:4:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:99:11: warning: array index 3 is past the end of the array (which contains 1 element) [-Warray-bounds]
return (set1->sig[3] == set2->sig[3]) &&
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/trace.c:11:
In file included from drivers/usb/dwc3/./trace.h:341:
In file included from include/trace/define_trace.h:96:
In file included from include/trace/trace_events.h:20:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:18:
In file included from include/uapi/linux/bpf_perf_event.h:11:
In file included from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1:
In file included from include/uapi/asm-generic/bpf_perf_event.h:4:
--
_SIG_SET_OP(signotset, _sig_not)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/signal.h:159:3: note: expanded from macro '_SIG_SET_OP'
set->sig[2] = op(set->sig[2]); \
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/debugfs.c:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:169:1: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
_SIG_SET_OP(signotset, _sig_not)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/signal.h:160:27: note: expanded from macro '_SIG_SET_OP'
case 2: set->sig[1] = op(set->sig[1]); \
^ ~
include/linux/signal.h:168:24: note: expanded from macro '_sig_not'
#define _sig_not(x) (~(x))
^
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/debugfs.c:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:169:1: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
_SIG_SET_OP(signotset, _sig_not)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/signal.h:160:10: note: expanded from macro '_SIG_SET_OP'
case 2: set->sig[1] = op(set->sig[1]); \
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/debugfs.c:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:180:10: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
case 2: set->sig[1] = 0;
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/debugfs.c:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:192:10: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
case 2: set->sig[1] = -1;
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/debugfs.c:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:222:10: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
case 2: set->sig[1] = 0;
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/debugfs.c:13:
In file included from include/linux/ptrace.h:7:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:234:10: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
case 2: set->sig[1] = -1;
^ ~
arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
In file included from drivers/usb/dwc3/debugfs.c:23:
drivers/usb/dwc3/core.h:1413:6: warning: no previous prototype for function 'dwc3_simple_wakeup_capable' [-Wmissing-prototypes]
void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup)
^
drivers/usb/dwc3/core.h:1413:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup)
^
static
drivers/usb/dwc3/core.h:1415:6: warning: no previous prototype for function 'dwc3_set_simple_data' [-Wmissing-prototypes]
void dwc3_set_simple_data(struct dwc3 *dwc)
^
drivers/usb/dwc3/core.h:1415:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_set_simple_data(struct dwc3 *dwc)
^
static
drivers/usb/dwc3/core.h:1417:6: warning: no previous prototype for function 'dwc3_simple_check_quirks' [-Wmissing-prototypes]
void dwc3_simple_check_quirks(struct dwc3 *dwc)
^
drivers/usb/dwc3/core.h:1417:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_simple_check_quirks(struct dwc3 *dwc)
^
static
drivers/usb/dwc3/core.h:1419:5: warning: no previous prototype for function 'dwc3_set_usb_core_power' [-Wmissing-prototypes]
int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on)
^
drivers/usb/dwc3/core.h:1419:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on)
^
static
>> drivers/usb/dwc3/core.h:1421:6: warning: no previous prototype for function 'dwc3_mask_phy_reset' [-Wmissing-prototypes]
void dwc3_mask_phy_reset(struct device *dev, bool mask)
^
drivers/usb/dwc3/core.h:1421:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dwc3_mask_phy_reset(struct device *dev, bool mask)
^
static
54 warnings and 2 errors generated.
vim +/dwc3_mask_phy_reset +1421 drivers/usb/dwc3/core.h
1402
1403 #if IS_ENABLED(CONFIG_USB_DWC3_OF_SIMPLE)
1404 int dwc3_enable_hw_coherency(struct device *dev);
1405 void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup);
1406 void dwc3_set_simple_data(struct dwc3 *dwc);
1407 void dwc3_simple_check_quirks(struct dwc3 *dwc);
1408 int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on);
1409 void dwc3_mask_phy_reset(struct device *dev, bool mask);
1410 #else
1411 static inline int dwc3_enable_hw_coherency(struct device *dev)
1412 { return 1; }
1413 void dwc3_simple_wakeup_capable(struct device *dev, bool wakeup)
1414 { ; }
1415 void dwc3_set_simple_data(struct dwc3 *dwc)
1416 { ; }
1417 void dwc3_simple_check_quirks(struct dwc3 *dwc)
1418 { ; }
> 1419 int dwc3_set_usb_core_power(struct dwc3 *dwc, bool on)
1420 { ; }
> 1421 void dwc3_mask_phy_reset(struct device *dev, bool mask)
1422 { ; }
1423 #endif
1424
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[android-common:android-4.19 1/1] drivers/media/dvb-core/dvb_frontend.c:2701:1: warning: the frame size of 1040 bytes is larger than 1024 bytes
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-4.19
head: 8e89bf80ce8d8780bd3db165a50fa5b5bca5875c
commit: 8e89bf80ce8d8780bd3db165a50fa5b5bca5875c [1/1] ANDROID: fix allmodconfig build
config: arm-randconfig-r026-20210419 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-4.19
git checkout 8e89bf80ce8d8780bd3db165a50fa5b5bca5875c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/media/dvb-core/dvb_frontend.c: In function 'dvb_frontend_handle_ioctl':
>> drivers/media/dvb-core/dvb_frontend.c:2701:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2701 | }
| ^
vim +2701 drivers/media/dvb-core/dvb_frontend.c
9682cea27e9ce7 drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2325
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2326 static int dvb_frontend_handle_ioctl(struct file *file,
13c97bf56724b4 drivers/media/dvb/dvb-core/dvb_frontend.c Steven Toth 2008-09-04 2327 unsigned int cmd, void *parg)
13c97bf56724b4 drivers/media/dvb/dvb-core/dvb_frontend.c Steven Toth 2008-09-04 2328 {
13c97bf56724b4 drivers/media/dvb/dvb-core/dvb_frontend.c Steven Toth 2008-09-04 2329 struct dvb_device *dvbdev = file->private_data;
13c97bf56724b4 drivers/media/dvb/dvb-core/dvb_frontend.c Steven Toth 2008-09-04 2330 struct dvb_frontend *fe = dvbdev->priv;
13c97bf56724b4 drivers/media/dvb/dvb-core/dvb_frontend.c Steven Toth 2008-09-04 2331 struct dvb_frontend_private *fepriv = fe->frontend_priv;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2332 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
330dada5957e3c drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-12-12 2333 int i, err = -ENOTSUPP;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2334
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2335 dev_dbg(fe->dvb->device, "%s:\n", __func__);
13c97bf56724b4 drivers/media/dvb/dvb-core/dvb_frontend.c Steven Toth 2008-09-04 2336
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2337 switch (cmd) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2338 case FE_SET_PROPERTY: {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2339 struct dtv_properties *tvps = parg;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2340 struct dtv_property *tvp = NULL;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2341
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2342 dev_dbg(fe->dvb->device, "%s: properties.num = %d\n",
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2343 __func__, tvps->num);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2344 dev_dbg(fe->dvb->device, "%s: properties.props = %p\n",
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2345 __func__, tvps->props);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2346
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2347 /*
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2348 * Put an arbitrary limit on the number of messages that can
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2349 * be sent at once
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2350 */
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2351 if (!tvps->num || (tvps->num > DTV_IOCTL_MAX_MSGS))
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2352 return -EINVAL;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2353
f44d6107f87936 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-03-22 2354 tvp = memdup_user((void __user *)tvps->props, tvps->num * sizeof(*tvp));
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2355 if (IS_ERR(tvp))
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2356 return PTR_ERR(tvp);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2357
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2358 for (i = 0; i < tvps->num; i++) {
c4303473b3a931 drivers/media/dvb-core/dvb_frontend.c Satendra Singh Thakur 2017-09-20 2359 err = dtv_property_process_set(fe, file,
c4303473b3a931 drivers/media/dvb-core/dvb_frontend.c Satendra Singh Thakur 2017-09-20 2360 (tvp + i)->cmd,
c4303473b3a931 drivers/media/dvb-core/dvb_frontend.c Satendra Singh Thakur 2017-09-20 2361 (tvp + i)->u.data);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2362 if (err < 0) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2363 kfree(tvp);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2364 return err;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2365 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2366 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2367 kfree(tvp);
a9cb97c3e62890 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-11-01 2368 err = 0;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2369 break;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2370 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2371 case FE_GET_PROPERTY: {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2372 struct dtv_properties *tvps = parg;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2373 struct dtv_property *tvp = NULL;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2374 struct dtv_frontend_properties getp = fe->dtv_property_cache;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2375
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2376 dev_dbg(fe->dvb->device, "%s: properties.num = %d\n",
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2377 __func__, tvps->num);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2378 dev_dbg(fe->dvb->device, "%s: properties.props = %p\n",
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2379 __func__, tvps->props);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2380
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2381 /*
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2382 * Put an arbitrary limit on the number of messages that can
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2383 * be sent at once
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2384 */
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2385 if (!tvps->num || (tvps->num > DTV_IOCTL_MAX_MSGS))
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2386 return -EINVAL;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2387
f44d6107f87936 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-03-22 2388 tvp = memdup_user((void __user *)tvps->props, tvps->num * sizeof(*tvp));
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2389 if (IS_ERR(tvp))
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2390 return PTR_ERR(tvp);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2391
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2392 /*
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2393 * Let's use our own copy of property cache, in order to
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2394 * avoid mangling with DTV zigzag logic, as drivers might
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2395 * return crap, if they don't check if the data is available
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2396 * before updating the properties cache.
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2397 */
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2398 if (fepriv->state != FESTATE_IDLE) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2399 err = dtv_get_frontend(fe, &getp, NULL);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2400 if (err < 0) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2401 kfree(tvp);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2402 return err;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2403 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2404 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2405 for (i = 0; i < tvps->num; i++) {
01153bf04db18d drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-10-11 2406 err = dtv_property_process_get(fe, &getp,
01153bf04db18d drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-10-11 2407 tvp + i, file);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2408 if (err < 0) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2409 kfree(tvp);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2410 return err;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2411 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2412 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2413
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2414 if (copy_to_user((void __user *)tvps->props, tvp,
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2415 tvps->num * sizeof(struct dtv_property))) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2416 kfree(tvp);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2417 return -EFAULT;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2418 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2419 kfree(tvp);
a9cb97c3e62890 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-11-01 2420 err = 0;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2421 break;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2422 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2423
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2424 case FE_GET_INFO: {
0c53c70f6afa2d drivers/media/dvb/dvb-core/dvb_frontend.c Johannes Stezenbach 2005-05-16 2425 struct dvb_frontend_info *info = parg;
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2426 memset(info, 0, sizeof(*info));
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2427
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2428 strcpy(info->name, fe->ops.info.name);
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2429 info->symbol_rate_min = fe->ops.info.symbol_rate_min;
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2430 info->symbol_rate_max = fe->ops.info.symbol_rate_max;
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2431 info->symbol_rate_tolerance = fe->ops.info.symbol_rate_tolerance;
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2432 info->caps = fe->ops.info.caps;
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2433 info->frequency_stepsize = dvb_frontend_get_stepsize(fe);
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2434 dvb_frontend_get_frequency_limits(fe, &info->frequency_min,
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2435 &info->frequency_max,
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2436 &info->frequency_tolerance);
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2437
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2438 /*
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2439 * Associate the 4 delivery systems supported by DVBv3
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2440 * API with their DVBv5 counterpart. For the other standards,
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2441 * use the closest type, assuming that it would hopefully
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2442 * work with a DVBv3 application.
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2443 * It should be noticed that, on multi-frontend devices with
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2444 * different types (terrestrial and cable, for example),
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2445 * a pure DVBv3 application won't be able to use all delivery
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2446 * systems. Yet, changing the DVBv5 cache to the other delivery
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2447 * system should be enough for making it work.
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2448 */
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2449 switch (dvbv3_type(c->delivery_system)) {
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2450 case DVBV3_QPSK:
9474c5e63f61d0 drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-05 2451 info->type = FE_QPSK;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2452 break;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2453 case DVBV3_ATSC:
9474c5e63f61d0 drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-05 2454 info->type = FE_ATSC;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2455 break;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2456 case DVBV3_QAM:
9474c5e63f61d0 drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-05 2457 info->type = FE_QAM;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2458 break;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2459 case DVBV3_OFDM:
9474c5e63f61d0 drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-05 2460 info->type = FE_OFDM;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2461 break;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2462 default:
36bdbc3fff09bc drivers/media/dvb-core/dvb_frontend.c Antti Palosaari 2012-08-15 2463 dev_err(fe->dvb->device,
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2464 "%s: doesn't know how to handle a DVBv3 call to delivery system %i\n",
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2465 __func__, c->delivery_system);
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2466 info->type = FE_OFDM;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2467 }
36bdbc3fff09bc drivers/media/dvb-core/dvb_frontend.c Antti Palosaari 2012-08-15 2468 dev_dbg(fe->dvb->device, "%s: current delivery system on cache: %d, V3 type: %d\n",
f1b1eabff0eb3f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-07-05 2469 __func__, c->delivery_system, info->type);
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2470
c9d57de6103e34 drivers/media/dvb-core/dvb_frontend.c Malcolm Priestley 2015-08-31 2471 /* Set CAN_INVERSION_AUTO bit on in other than oneshot mode */
c9d57de6103e34 drivers/media/dvb-core/dvb_frontend.c Malcolm Priestley 2015-08-31 2472 if (!(fepriv->tune_mode_flags & FE_TUNE_MODE_ONESHOT))
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2473 info->caps |= FE_CAN_INVERSION_AUTO;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2474 err = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2475 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2476 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2477
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2478 case FE_READ_STATUS: {
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2479 enum fe_status *status = parg;
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2480
25985edcedea63 drivers/media/dvb/dvb-core/dvb_frontend.c Lucas De Marchi 2011-03-30 2481 /* if retune was requested but hasn't occurred yet, prevent
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2482 * that user get signal state from previous tuning */
01886255ddf440 drivers/media/dvb/dvb-core/dvb_frontend.c Janne Grunau 2009-09-01 2483 if (fepriv->state == FESTATE_RETUNE ||
01886255ddf440 drivers/media/dvb/dvb-core/dvb_frontend.c Janne Grunau 2009-09-01 2484 fepriv->state == FESTATE_ERROR) {
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2485 err = 0;
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2486 *status = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2487 break;
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2488 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2489
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2490 if (fe->ops.read_status)
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2491 err = fe->ops.read_status(fe, status);
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2492 break;
6757ccc57d2cc4 drivers/media/dvb/dvb-core/dvb_frontend.c Peter Beutner 2005-07-07 2493 }
48caa6f12902df drivers/media/dvb-core/dvb_frontend.c Antti Palosaari 2012-08-09 2494
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2495 case FE_DISEQC_RESET_OVERLOAD:
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2496 if (fe->ops.diseqc_reset_overload) {
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2497 err = fe->ops.diseqc_reset_overload(fe);
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2498 fepriv->state = FESTATE_DISEQC;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2499 fepriv->status = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2500 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2501 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2502
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2503 case FE_DISEQC_SEND_MASTER_CMD:
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2504 if (fe->ops.diseqc_send_master_cmd) {
8d7e506350a3ff drivers/media/dvb-core/dvb_frontend.c Dan Carpenter 2015-06-06 2505 struct dvb_diseqc_master_cmd *cmd = parg;
8d7e506350a3ff drivers/media/dvb-core/dvb_frontend.c Dan Carpenter 2015-06-06 2506
8d7e506350a3ff drivers/media/dvb-core/dvb_frontend.c Dan Carpenter 2015-06-06 2507 if (cmd->msg_len > sizeof(cmd->msg)) {
8d7e506350a3ff drivers/media/dvb-core/dvb_frontend.c Dan Carpenter 2015-06-06 2508 err = -EINVAL;
8d7e506350a3ff drivers/media/dvb-core/dvb_frontend.c Dan Carpenter 2015-06-06 2509 break;
8d7e506350a3ff drivers/media/dvb-core/dvb_frontend.c Dan Carpenter 2015-06-06 2510 }
8d7e506350a3ff drivers/media/dvb-core/dvb_frontend.c Dan Carpenter 2015-06-06 2511 err = fe->ops.diseqc_send_master_cmd(fe, cmd);
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2512 fepriv->state = FESTATE_DISEQC;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2513 fepriv->status = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2514 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2515 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2516
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2517 case FE_DISEQC_SEND_BURST:
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2518 if (fe->ops.diseqc_send_burst) {
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2519 err = fe->ops.diseqc_send_burst(fe,
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2520 (enum fe_sec_mini_cmd)parg);
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2521 fepriv->state = FESTATE_DISEQC;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2522 fepriv->status = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2523 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2524 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2525
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2526 case FE_SET_TONE:
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2527 if (fe->ops.set_tone) {
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2528 err = fe->ops.set_tone(fe,
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2529 (enum fe_sec_tone_mode)parg);
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2530 fepriv->tone = (enum fe_sec_tone_mode)parg;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2531 fepriv->state = FESTATE_DISEQC;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2532 fepriv->status = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2533 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2534 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2535
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2536 case FE_SET_VOLTAGE:
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2537 if (fe->ops.set_voltage) {
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2538 err = fe->ops.set_voltage(fe,
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2539 (enum fe_sec_voltage)parg);
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2540 fepriv->voltage = (enum fe_sec_voltage)parg;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2541 fepriv->state = FESTATE_DISEQC;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2542 fepriv->status = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2543 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2544 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2545
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2546 case FE_DISEQC_RECV_SLAVE_REPLY:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2547 if (fe->ops.diseqc_recv_slave_reply)
01153bf04db18d drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-10-11 2548 err = fe->ops.diseqc_recv_slave_reply(fe, parg);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2549 break;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2550
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2551 case FE_ENABLE_HIGH_LNB_VOLTAGE:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2552 if (fe->ops.enable_high_lnb_voltage)
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2553 err = fe->ops.enable_high_lnb_voltage(fe, (long)parg);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2554 break;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2555
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2556 case FE_SET_FRONTEND_TUNE_MODE:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2557 fepriv->tune_mode_flags = (unsigned long)parg;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2558 err = 0;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2559 break;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2560
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2561 /* DEPRECATED dish control ioctls */
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2562
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2563 case FE_DISHNETWORK_SEND_LEGACY_CMD:
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2564 if (fe->ops.dishnetwork_send_legacy_command) {
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2565 err = fe->ops.dishnetwork_send_legacy_command(fe,
0df289a209e02f drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2015-06-07 2566 (unsigned long)parg);
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2567 fepriv->state = FESTATE_DISEQC;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2568 fepriv->status = 0;
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2569 } else if (fe->ops.set_voltage) {
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2570 /*
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2571 * NOTE: This is a fallback condition. Some frontends
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2572 * (stv0299 for instance) take longer than 8msec to
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2573 * respond to a set_voltage command. Those switches
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2574 * need custom routines to switch properly. For all
2030c0325aa3d4 drivers/media/dvb/dvb-core/dvb_frontend.c Guillaume Audirac 2010-05-06 2575 * other frontends, the following should work ok.
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2576 * Dish network legacy switches (as used by Dish500)
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2577 * are controlled by sending 9-bit command words
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2578 * spaced 8msec apart.
25985edcedea63 drivers/media/dvb/dvb-core/dvb_frontend.c Lucas De Marchi 2011-03-30 2579 * the actual command word is switch/port dependent
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2580 * so it is up to the userspace application to send
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2581 * the right command.
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2582 * The command must always start with a '0' after
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2583 * initialization, so parg is 8 bits and does not
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2584 * include the initialization or start bit
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2585 */
c6eb8eafdba4ad drivers/media/dvb/dvb-core/dvb_frontend.c Hans Verkuil 2008-09-03 2586 unsigned long swcmd = ((unsigned long)parg) << 1;
9056a23ba19d91 drivers/media/dvb-core/dvb_frontend.c Tina Ruchandani 2015-05-31 2587 ktime_t nexttime;
9056a23ba19d91 drivers/media/dvb-core/dvb_frontend.c Tina Ruchandani 2015-05-31 2588 ktime_t tv[10];
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2589 int i;
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2590 u8 last = 1;
09c2cc98cd5761 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2018-05-11 2591
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2592 if (dvb_frontend_debug)
b3ad24d2e0b039 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-10-13 2593 dprintk("%s switch command: 0x%04lx\n",
b3ad24d2e0b039 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-10-13 2594 __func__, swcmd);
6b3f99989eb73e drivers/media/dvb-core/dvb_frontend.c Abhilash Jindal 2016-01-31 2595 nexttime = ktime_get_boottime();
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2596 if (dvb_frontend_debug)
b9b1b3a8f7b760 drivers/media/dvb-core/dvb_frontend.c Ezequiel Garcia 2012-10-23 2597 tv[0] = nexttime;
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2598 /* before sending a command, initialize by sending
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2599 * a 32ms 18V to the switch
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2600 */
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2601 fe->ops.set_voltage(fe, SEC_VOLTAGE_18);
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2602 dvb_frontend_sleep_until(&nexttime, 32000);
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2603
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2604 for (i = 0; i < 9; i++) {
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2605 if (dvb_frontend_debug)
6b3f99989eb73e drivers/media/dvb-core/dvb_frontend.c Abhilash Jindal 2016-01-31 2606 tv[i + 1] = ktime_get_boottime();
c6eb8eafdba4ad drivers/media/dvb/dvb-core/dvb_frontend.c Hans Verkuil 2008-09-03 2607 if ((swcmd & 0x01) != last) {
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2608 /* set voltage to (last ? 13V : 18V) */
dea74869f3c62b drivers/media/dvb/dvb-core/dvb_frontend.c Patrick Boettcher 2006-05-14 2609 fe->ops.set_voltage(fe, (last) ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18);
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2610 last = (last) ? 0 : 1;
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2611 }
c6eb8eafdba4ad drivers/media/dvb/dvb-core/dvb_frontend.c Hans Verkuil 2008-09-03 2612 swcmd = swcmd >> 1;
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2613 if (i != 8)
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2614 dvb_frontend_sleep_until(&nexttime, 8000);
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2615 }
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2616 if (dvb_frontend_debug) {
b3ad24d2e0b039 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-10-13 2617 dprintk("%s(%d): switch delay (should be 32k followed by all 8k)\n",
46b4f7c176a2dd drivers/media/dvb/dvb-core/dvb_frontend.c Harvey Harrison 2008-04-08 2618 __func__, fe->dvb->num);
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2619 for (i = 1; i < 10; i++)
b3ad24d2e0b039 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-10-13 2620 pr_info("%d: %d\n", i,
9056a23ba19d91 drivers/media/dvb-core/dvb_frontend.c Tina Ruchandani 2015-05-31 2621 (int)ktime_us_delta(tv[i], tv[i - 1]));
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2622 }
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2623 err = 0;
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2624 fepriv->state = FESTATE_DISEQC;
83b75b049be981 drivers/media/dvb/dvb-core/dvb_frontend.c NooneImportant 2005-11-08 2625 fepriv->status = 0;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2626 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2627 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2628
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2629 /* DEPRECATED statistics ioctls */
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2630
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2631 case FE_READ_BER:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2632 if (fe->ops.read_ber) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2633 if (fepriv->thread)
01153bf04db18d drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-10-11 2634 err = fe->ops.read_ber(fe, parg);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2635 else
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2636 err = -EAGAIN;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2637 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2638 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2639
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2640 case FE_READ_SIGNAL_STRENGTH:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2641 if (fe->ops.read_signal_strength) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2642 if (fepriv->thread)
01153bf04db18d drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-10-11 2643 err = fe->ops.read_signal_strength(fe, parg);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2644 else
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2645 err = -EAGAIN;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2646 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2647 break;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2648
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2649 case FE_READ_SNR:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2650 if (fe->ops.read_snr) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2651 if (fepriv->thread)
01153bf04db18d drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-10-11 2652 err = fe->ops.read_snr(fe, parg);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2653 else
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2654 err = -EAGAIN;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2655 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2656 break;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2657
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2658 case FE_READ_UNCORRECTED_BLOCKS:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2659 if (fe->ops.read_ucblocks) {
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2660 if (fepriv->thread)
01153bf04db18d drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-10-11 2661 err = fe->ops.read_ucblocks(fe, parg);
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2662 else
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2663 err = -EAGAIN;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2664 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2665 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2666
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2667 /* DEPRECATED DVBv3 ioctls */
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2668
9682cea27e9ce7 drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2669 case FE_SET_FRONTEND:
be431b16c6bd22 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2013-03-18 2670 err = dvbv3_set_delivery_system(fe);
04be0f76a8d0ea drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2671 if (err)
04be0f76a8d0ea drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2672 break;
04be0f76a8d0ea drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2673
e399ce77e6e8f0 drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2674 err = dtv_property_cache_sync(fe, c, parg);
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2675 if (err)
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2676 break;
5bfaaddef8d46c drivers/media/dvb/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2012-01-01 2677 err = dtv_set_frontend(fe);
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2678 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2679 case FE_GET_EVENT:
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2680 err = dvb_frontend_get_event(fe, parg, file->f_flags);
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2681 break;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2682
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2683 case FE_GET_FRONTEND: {
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2684 struct dtv_frontend_properties getp = fe->dtv_property_cache;
36cb557a2f6451 drivers/media/dvb/dvb-core/dvb_frontend.c Andrew de Quincey 2006-01-09 2685
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2686 /*
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2687 * Let's use our own copy of property cache, in order to
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2688 * avoid mangling with DTV zigzag logic, as drivers might
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2689 * return crap, if they don't check if the data is available
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2690 * before updating the properties cache.
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2691 */
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2692 err = dtv_get_frontend(fe, &getp, parg);
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2693 break;
bb31d2381c7304 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2016-02-04 2694 }
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2695
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2696 default:
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2697 return -ENOTSUPP;
d73dcf0cdb95a4 drivers/media/dvb-core/dvb_frontend.c Mauro Carvalho Chehab 2017-09-18 2698 } /* switch */
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2699
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2700 return err;
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 @2701 }
^1da177e4c3f41 drivers/media/dvb/dvb-core/dvb_frontend.c Linus Torvalds 2005-04-16 2702
:::::: The code at line 2701 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[linux-sof-driver:pr/2839 11/11] ERROR: modpost: "sof_client_get_debugfs_root" [sound/soc/sof/snd-sof-probes.ko] undefined!
by kernel test robot
tree: https://github.com/thesofproject/linux pr/2839
head: 15fe7d05b9aa6e18a92ef9fc0aec61b4fd3d9f21
commit: 15fe7d05b9aa6e18a92ef9fc0aec61b4fd3d9f21 [11/11] wip probe rework
config: x86_64-sof-customedconfig-sof-defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/thesofproject/linux/commit/15fe7d05b9aa6e18a92ef9fc0ae...
git remote add linux-sof-driver https://github.com/thesofproject/linux
git fetch --no-tags linux-sof-driver pr/2839
git checkout 15fe7d05b9aa6e18a92ef9fc0aec61b4fd3d9f21
# save the attached .config to linux build tree
make W=1 W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
>> ERROR: modpost: "sof_client_get_debugfs_root" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "sof_client_ipc_tx_message" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "sof_client_get_dma_dev" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "__auxiliary_driver_register" [sound/soc/sof/intel/snd-sof-intel-hda-common.ko] undefined!
>> ERROR: modpost: "auxiliary_driver_unregister" [sound/soc/sof/intel/snd-sof-intel-hda-common.ko] undefined!
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SND_SOC_SOF_DEBUG_PROBES
Depends on SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_DEVELOPER_SUPPORT && SND_SOC_SOF_DEBUG
Selected by
- SND_SOC_SOF_HDA_PROBES && SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_INTEL_TOPLEVEL && SND_SOC_SOF_PCI && SND_SOC_SOF_HDA_COMMON
WARNING: unmet direct dependencies detected for SND_SOC_SOF_DEBUG_PROBES
Depends on SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_DEVELOPER_SUPPORT && SND_SOC_SOF_DEBUG
Selected by
- SND_SOC_SOF_HDA_PROBES && SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_INTEL_TOPLEVEL && SND_SOC_SOF_PCI && SND_SOC_SOF_HDA_COMMON
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH hwmon-next v2 2/3] hwmon: (pmbus) Add support for MPS Multi-phase mp2888 controller
by kernel test robot
Hi Vadim,
I love your patch! Yet something to improve:
[auto build test ERROR on hwmon/hwmon-next]
[also build test ERROR on robh/for-next v5.12-rc8 next-20210419]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Vadim-Pasternak/Add-support-for-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/d106a4d0141a89fe7b41d016067a7dbba...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vadim-Pasternak/Add-support-for-MPS-Multi-phase-mp2888-controller/20210419-210711
git checkout d106a4d0141a89fe7b41d016067a7dbba730c932
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/mips/kernel/head.o: in function `kernel_entry':
(.ref.text+0xac): relocation truncated to fit: R_MIPS_26 against `start_kernel'
init/main.o: in function `set_reset_devices':
main.c:(.init.text+0x20): relocation truncated to fit: R_MIPS_26 against `_mcount'
main.c:(.init.text+0x30): relocation truncated to fit: R_MIPS_26 against `__sanitizer_cov_trace_pc'
init/main.o: in function `debug_kernel':
main.c:(.init.text+0x9c): relocation truncated to fit: R_MIPS_26 against `_mcount'
main.c:(.init.text+0xac): relocation truncated to fit: R_MIPS_26 against `__sanitizer_cov_trace_pc'
init/main.o: in function `quiet_kernel':
main.c:(.init.text+0x118): relocation truncated to fit: R_MIPS_26 against `_mcount'
main.c:(.init.text+0x128): relocation truncated to fit: R_MIPS_26 against `__sanitizer_cov_trace_pc'
init/main.o: in function `init_setup':
main.c:(.init.text+0x1ac): relocation truncated to fit: R_MIPS_26 against `_mcount'
main.c:(.init.text+0x1cc): relocation truncated to fit: R_MIPS_26 against `__sanitizer_cov_trace_pc'
main.c:(.init.text+0x204): relocation truncated to fit: R_MIPS_26 against `__sanitizer_cov_trace_pc'
main.c:(.init.text+0x22c): additional relocation overflows omitted from the output
mips-linux-ld: drivers/hwmon/pmbus/mp2888.o: in function `mp2888_read_word_data':
>> mp2888.c:(.text.mp2888_read_word_data+0x120): undefined reference to `__divdi3'
>> mips-linux-ld: mp2888.c:(.text.mp2888_read_word_data+0x23c): undefined reference to `__divdi3'
mips-linux-ld: mp2888.c:(.text.mp2888_read_word_data+0x268): undefined reference to `__divdi3'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months