Re: [PATCH] mtd: remove DEBUGFS_RO_ATTR()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Yangtao,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on mtd/master]
[also build test ERROR on v4.20-rc4 next-20181130]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Yangtao-Li/mtd-remove-DEBUGFS_RO_ATTR/20181202-065958
base:   git://git.infradead.org/linux-mtd.git master
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 6.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=6.4.0 make.cross ARCH=nds32 

All errors (new ones prefixed by >>):

   drivers/mtd/devices/docg3.c:1679:1: warning: data definition has no type or storage class
    DEBUGFS_RO_ATTR(device_id, dbg_device_id_show);
    ^~~~~~~~~~~~~~~
   drivers/mtd/devices/docg3.c:1679:1: error: type defaults to 'int' in declaration of 'DEBUGFS_RO_ATTR' [-Werror=implicit-int]
   drivers/mtd/devices/docg3.c:1679:1: warning: parameter names (without types) in function declaration
   drivers/mtd/devices/docg3.c: In function 'doc_dbg_register':
>> drivers/mtd/devices/docg3.c:1752:9: error: 'device_id_fops' undeclared (first use in this function)
           &device_id_fops);
            ^~~~~~~~~~~~~~
   drivers/mtd/devices/docg3.c:1752:9: note: each undeclared identifier is reported only once for each function it appears in
   At top level:
   drivers/mtd/devices/docg3.c:1667:12: warning: 'dbg_device_id_show' defined but not used [-Wunused-function]
    static int dbg_device_id_show(struct seq_file *s, void *p)
               ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/device_id_fops +1752 drivers/mtd/devices/docg3.c

efa2ca73 Robert Jarzmik  2011-10-05  1666  
efa2ca73 Robert Jarzmik  2011-10-05  1667  static int dbg_device_id_show(struct seq_file *s, void *p)
efa2ca73 Robert Jarzmik  2011-10-05  1668  {
efa2ca73 Robert Jarzmik  2011-10-05  1669  	struct docg3 *docg3 = (struct docg3 *)s->private;
7b0e67f6 Robert Jarzmik  2012-03-22  1670  	int id;
7b0e67f6 Robert Jarzmik  2012-03-22  1671  
7b0e67f6 Robert Jarzmik  2012-03-22  1672  	mutex_lock(&docg3->cascade->lock);
7b0e67f6 Robert Jarzmik  2012-03-22  1673  	id = doc_register_readb(docg3, DOC_DEVICESELECT);
7b0e67f6 Robert Jarzmik  2012-03-22  1674  	mutex_unlock(&docg3->cascade->lock);
efa2ca73 Robert Jarzmik  2011-10-05  1675  
8c98d255 Joe Perches     2014-09-29  1676  	seq_printf(s, "DeviceId = %d\n", id);
8c98d255 Joe Perches     2014-09-29  1677  	return 0;
efa2ca73 Robert Jarzmik  2011-10-05  1678  }
efa2ca73 Robert Jarzmik  2011-10-05 @1679  DEBUGFS_RO_ATTR(device_id, dbg_device_id_show);
efa2ca73 Robert Jarzmik  2011-10-05  1680  
34e778aa Yangtao Li      2018-12-01  1681  static int protection_show(struct seq_file *s, void *p)
efa2ca73 Robert Jarzmik  2011-10-05  1682  {
efa2ca73 Robert Jarzmik  2011-10-05  1683  	struct docg3 *docg3 = (struct docg3 *)s->private;
dbc26d98 Robert Jarzmik  2011-11-19  1684  	int protect, dps0, dps0_low, dps0_high, dps1, dps1_low, dps1_high;
dbc26d98 Robert Jarzmik  2011-11-19  1685  
7b0e67f6 Robert Jarzmik  2012-03-22  1686  	mutex_lock(&docg3->cascade->lock);
dbc26d98 Robert Jarzmik  2011-11-19  1687  	protect = doc_register_readb(docg3, DOC_PROTECTION);
dbc26d98 Robert Jarzmik  2011-11-19  1688  	dps0 = doc_register_readb(docg3, DOC_DPS0_STATUS);
dbc26d98 Robert Jarzmik  2011-11-19  1689  	dps0_low = doc_register_readw(docg3, DOC_DPS0_ADDRLOW);
dbc26d98 Robert Jarzmik  2011-11-19  1690  	dps0_high = doc_register_readw(docg3, DOC_DPS0_ADDRHIGH);
dbc26d98 Robert Jarzmik  2011-11-19  1691  	dps1 = doc_register_readb(docg3, DOC_DPS1_STATUS);
dbc26d98 Robert Jarzmik  2011-11-19  1692  	dps1_low = doc_register_readw(docg3, DOC_DPS1_ADDRLOW);
dbc26d98 Robert Jarzmik  2011-11-19  1693  	dps1_high = doc_register_readw(docg3, DOC_DPS1_ADDRHIGH);
7b0e67f6 Robert Jarzmik  2012-03-22  1694  	mutex_unlock(&docg3->cascade->lock);
efa2ca73 Robert Jarzmik  2011-10-05  1695  
8c98d255 Joe Perches     2014-09-29  1696  	seq_printf(s, "Protection = 0x%02x (", protect);
efa2ca73 Robert Jarzmik  2011-10-05  1697  	if (protect & DOC_PROTECT_FOUNDRY_OTP_LOCK)
8c98d255 Joe Perches     2014-09-29  1698  		seq_puts(s, "FOUNDRY_OTP_LOCK,");
efa2ca73 Robert Jarzmik  2011-10-05  1699  	if (protect & DOC_PROTECT_CUSTOMER_OTP_LOCK)
8c98d255 Joe Perches     2014-09-29  1700  		seq_puts(s, "CUSTOMER_OTP_LOCK,");
efa2ca73 Robert Jarzmik  2011-10-05  1701  	if (protect & DOC_PROTECT_LOCK_INPUT)
8c98d255 Joe Perches     2014-09-29  1702  		seq_puts(s, "LOCK_INPUT,");
efa2ca73 Robert Jarzmik  2011-10-05  1703  	if (protect & DOC_PROTECT_STICKY_LOCK)
8c98d255 Joe Perches     2014-09-29  1704  		seq_puts(s, "STICKY_LOCK,");
efa2ca73 Robert Jarzmik  2011-10-05  1705  	if (protect & DOC_PROTECT_PROTECTION_ENABLED)
8c98d255 Joe Perches     2014-09-29  1706  		seq_puts(s, "PROTECTION ON,");
efa2ca73 Robert Jarzmik  2011-10-05  1707  	if (protect & DOC_PROTECT_IPL_DOWNLOAD_LOCK)
8c98d255 Joe Perches     2014-09-29  1708  		seq_puts(s, "IPL_DOWNLOAD_LOCK,");
efa2ca73 Robert Jarzmik  2011-10-05  1709  	if (protect & DOC_PROTECT_PROTECTION_ERROR)
8c98d255 Joe Perches     2014-09-29  1710  		seq_puts(s, "PROTECT_ERR,");
efa2ca73 Robert Jarzmik  2011-10-05  1711  	else
8c98d255 Joe Perches     2014-09-29  1712  		seq_puts(s, "NO_PROTECT_ERR");
8c98d255 Joe Perches     2014-09-29  1713  	seq_puts(s, ")\n");
efa2ca73 Robert Jarzmik  2011-10-05  1714  
8c98d255 Joe Perches     2014-09-29  1715  	seq_printf(s, "DPS0 = 0x%02x : Protected area [0x%x - 0x%x] : OTP=%d, READ=%d, WRITE=%d, HW_LOCK=%d, KEY_OK=%d\n",
efa2ca73 Robert Jarzmik  2011-10-05  1716  		   dps0, dps0_low, dps0_high,
efa2ca73 Robert Jarzmik  2011-10-05  1717  		   !!(dps0 & DOC_DPS_OTP_PROTECTED),
efa2ca73 Robert Jarzmik  2011-10-05  1718  		   !!(dps0 & DOC_DPS_READ_PROTECTED),
efa2ca73 Robert Jarzmik  2011-10-05  1719  		   !!(dps0 & DOC_DPS_WRITE_PROTECTED),
efa2ca73 Robert Jarzmik  2011-10-05  1720  		   !!(dps0 & DOC_DPS_HW_LOCK_ENABLED),
efa2ca73 Robert Jarzmik  2011-10-05  1721  		   !!(dps0 & DOC_DPS_KEY_OK));
8c98d255 Joe Perches     2014-09-29  1722  	seq_printf(s, "DPS1 = 0x%02x : Protected area [0x%x - 0x%x] : OTP=%d, READ=%d, WRITE=%d, HW_LOCK=%d, KEY_OK=%d\n",
efa2ca73 Robert Jarzmik  2011-10-05  1723  		   dps1, dps1_low, dps1_high,
efa2ca73 Robert Jarzmik  2011-10-05  1724  		   !!(dps1 & DOC_DPS_OTP_PROTECTED),
efa2ca73 Robert Jarzmik  2011-10-05  1725  		   !!(dps1 & DOC_DPS_READ_PROTECTED),
efa2ca73 Robert Jarzmik  2011-10-05  1726  		   !!(dps1 & DOC_DPS_WRITE_PROTECTED),
efa2ca73 Robert Jarzmik  2011-10-05  1727  		   !!(dps1 & DOC_DPS_HW_LOCK_ENABLED),
efa2ca73 Robert Jarzmik  2011-10-05  1728  		   !!(dps1 & DOC_DPS_KEY_OK));
8c98d255 Joe Perches     2014-09-29  1729  	return 0;
efa2ca73 Robert Jarzmik  2011-10-05  1730  }
34e778aa Yangtao Li      2018-12-01  1731  
34e778aa Yangtao Li      2018-12-01  1732  DEFINE_SHOW_ATTRIBUTE(protection);
efa2ca73 Robert Jarzmik  2011-10-05  1733  
e8e3edb9 Mario Rugiero   2017-05-29  1734  static void __init doc_dbg_register(struct mtd_info *floor)
efa2ca73 Robert Jarzmik  2011-10-05  1735  {
e8e3edb9 Mario Rugiero   2017-05-29  1736  	struct dentry *root = floor->dbg.dfs_dir;
e8e3edb9 Mario Rugiero   2017-05-29  1737  	struct docg3 *docg3 = floor->priv;
efa2ca73 Robert Jarzmik  2011-10-05  1738  
1530578a Boris Brezillon 2017-11-11  1739  	if (IS_ERR_OR_NULL(root)) {
1530578a Boris Brezillon 2017-11-11  1740  		if (IS_ENABLED(CONFIG_DEBUG_FS) &&
1530578a Boris Brezillon 2017-11-11  1741  		    !IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER))
1530578a Boris Brezillon 2017-11-11  1742  			dev_warn(floor->dev.parent,
1530578a Boris Brezillon 2017-11-11  1743  				 "CONFIG_MTD_PARTITIONED_MASTER must be enabled to expose debugfs stuff\n");
e8e3edb9 Mario Rugiero   2017-05-29  1744  		return;
1530578a Boris Brezillon 2017-11-11  1745  	}
efa2ca73 Robert Jarzmik  2011-10-05  1746  
e8e3edb9 Mario Rugiero   2017-05-29  1747  	debugfs_create_file("docg3_flashcontrol", S_IRUSR, root, docg3,
efa2ca73 Robert Jarzmik  2011-10-05  1748  			    &flashcontrol_fops);
e8e3edb9 Mario Rugiero   2017-05-29  1749  	debugfs_create_file("docg3_asic_mode", S_IRUSR, root, docg3,
e8e3edb9 Mario Rugiero   2017-05-29  1750  			    &asic_mode_fops);
e8e3edb9 Mario Rugiero   2017-05-29  1751  	debugfs_create_file("docg3_device_id", S_IRUSR, root, docg3,
e8e3edb9 Mario Rugiero   2017-05-29 @1752  			    &device_id_fops);
e8e3edb9 Mario Rugiero   2017-05-29  1753  	debugfs_create_file("docg3_protection", S_IRUSR, root, docg3,
e8e3edb9 Mario Rugiero   2017-05-29  1754  			    &protection_fops);
efa2ca73 Robert Jarzmik  2011-10-05  1755  }
efa2ca73 Robert Jarzmik  2011-10-05  1756  

:::::: The code at line 1752 was first introduced by commit
:::::: e8e3edb95ce6a146bc774b6cfad3553f4383edc8 mtd: create per-device and module-scope debugfs entries

:::::: TO: Mario Rugiero <mrugiero@xxxxxxxxx>
:::::: CC: Brian Norris <computersforpeace@xxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux