tree: https://github.com/0day-ci/linux/commits/UPDATE-20191005-005305/Mauro-Carvalho-Chehab/media-cxd2841er-avoid-too-many-status-inquires/20191003-224524 head: efac65071ccae96e9185db48174c7f77a2fe5098 commit: efac65071ccae96e9185db48174c7f77a2fe5098 [1/1] media: cxd2841er: avoid too many status inquires config: xtensa-allyesconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout efac65071ccae96e9185db48174c7f77a2fe5098 # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=xtensa If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from include/linux/acpi.h:15:0, from include/linux/i2c.h:13, from include/media/dvb_frontend.h:38, from drivers/media//dvb-frontends/cxd2841er.c:26: drivers/media//dvb-frontends/cxd2841er.c: In function 'cxd2841er_read_ber': >> drivers/media//dvb-frontends/cxd2841er.c:2010:27: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=] dev_info(&priv->i2c->dev, "BER interval: %d ms", priv->ber_interval); ^ include/linux/device.h:1658:22: note: in definition of macro 'dev_fmt' #define dev_fmt(fmt) fmt ^~~ >> drivers/media//dvb-frontends/cxd2841er.c:2010:1: note: in expansion of macro 'dev_info' dev_info(&priv->i2c->dev, "BER interval: %d ms", priv->ber_interval); ^~~~~~~~ drivers/media//dvb-frontends/cxd2841er.c: In function 'cxd2841er_read_ucblocks': drivers/media//dvb-frontends/cxd2841er.c:2166:27: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=] dev_info(&priv->i2c->dev, "UCB interval: %d ms", priv->ucb_interval); ^ include/linux/device.h:1658:22: note: in definition of macro 'dev_fmt' #define dev_fmt(fmt) fmt ^~~ drivers/media//dvb-frontends/cxd2841er.c:2166:1: note: in expansion of macro 'dev_info' dev_info(&priv->i2c->dev, "UCB interval: %d ms", priv->ucb_interval); ^~~~~~~~ vim +/dev_info +2010 drivers/media//dvb-frontends/cxd2841er.c 1944 1945 static void cxd2841er_read_ber(struct dvb_frontend *fe) 1946 { 1947 struct dtv_frontend_properties *p = &fe->dtv_property_cache; 1948 struct cxd2841er_priv *priv = fe->demodulator_priv; 1949 u32 ret, bit_error = 0, bit_count = 0; 1950 1951 if (priv->ber_time && 1952 (!time_after(jiffies, priv->ber_time))) 1953 return; 1954 1955 dev_dbg(&priv->i2c->dev, "%s()\n", __func__); 1956 switch (p->delivery_system) { 1957 case SYS_DVBC_ANNEX_A: 1958 case SYS_DVBC_ANNEX_B: 1959 case SYS_DVBC_ANNEX_C: 1960 ret = cxd2841er_read_ber_c(priv, &bit_error, &bit_count); 1961 break; 1962 case SYS_ISDBT: 1963 ret = cxd2841er_read_ber_i(priv, &bit_error, &bit_count); 1964 break; 1965 case SYS_DVBS: 1966 ret = cxd2841er_mon_read_ber_s(priv, &bit_error, &bit_count); 1967 1968 if (!priv->ber_interval && p->symbol_rate) 1969 priv->ber_interval = (10000000) / (p->symbol_rate / 1000); 1970 break; 1971 case SYS_DVBS2: 1972 ret = cxd2841er_mon_read_ber_s2(priv, &bit_error, &bit_count); 1973 1974 if (!priv->ber_interval && p->symbol_rate) 1975 priv->ber_interval = (10000000) / (p->symbol_rate / 1000); 1976 break; 1977 case SYS_DVBT: 1978 ret = cxd2841er_read_ber_t(priv, &bit_error, &bit_count); 1979 break; 1980 case SYS_DVBT2: 1981 ret = cxd2841er_read_ber_t2(priv, &bit_error, &bit_count); 1982 break; 1983 default: 1984 p->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; 1985 p->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; 1986 return; 1987 } 1988 1989 if (!ret) { 1990 p->post_bit_error.stat[0].scale = FE_SCALE_COUNTER; 1991 p->post_bit_error.stat[0].uvalue += bit_error; 1992 p->post_bit_count.stat[0].scale = FE_SCALE_COUNTER; 1993 p->post_bit_count.stat[0].uvalue += bit_count; 1994 } else { 1995 p->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; 1996 p->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; 1997 } 1998 1999 /* 2000 * If the per-delivery system doesn't specify, set a default timeout 2001 * that will wait for ~12.5 seconds for 8MHz channels 2002 */ 2003 if (!priv->ber_interval && p->bandwidth_hz) 2004 priv->ber_interval = (100000000) / (p->bandwidth_hz / 1000); 2005 2006 if (priv->ber_interval < 1000) 2007 priv->ber_interval = 1000; 2008 2009 // HACK: > 2010 dev_info(&priv->i2c->dev, "BER interval: %d ms", priv->ber_interval); 2011 2012 priv->ber_time = jiffies + msecs_to_jiffies(priv->ber_interval); 2013 } 2014 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip