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 <l...@intel.com>

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

Reply via email to