Linux-RTC Archive on lore.kernel.org
 help / color / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: kbuild-all@lists.01.org, Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Akinobu Mita <akinobu.mita@gmail.com>,
	Joe Perches <joe@perches.com>,
	linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [PATCH] rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
Date: Mon, 13 Jan 2020 05:45:39 +0800
Message-ID: <202001130520.bXS12E9N%lkp@intel.com> (raw)
In-Reply-To: <20200112171349.22268-1-geert@linux-m68k.org>


[-- Attachment #1: Type: text/plain, Size: 9269 bytes --]

Hi Geert,

I love your patch! Yet something to improve:

[auto build test ERROR on abelloni/rtc-next]
[also build test ERROR on v5.5-rc5 next-20200110]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Geert-Uytterhoeven/rtc-i2c-spi-Avoid-inclusion-of-REGMAP-support-when-not-needed/20200113-013332
base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.5.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=7.5.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> drivers/rtc/rtc-ds1307.c:1570:21: error: variable 'regmap_config' has initializer but incomplete type
    static const struct regmap_config regmap_config = {
                        ^~~~~~~~~~~~~
>> drivers/rtc/rtc-ds1307.c:1571:3: error: 'const struct regmap_config' has no member named 'reg_bits'
     .reg_bits = 8,
      ^~~~~~~~
>> drivers/rtc/rtc-ds1307.c:1571:14: warning: excess elements in struct initializer
     .reg_bits = 8,
                 ^
   drivers/rtc/rtc-ds1307.c:1571:14: note: (near initialization for 'regmap_config')
>> drivers/rtc/rtc-ds1307.c:1572:3: error: 'const struct regmap_config' has no member named 'val_bits'
     .val_bits = 8,
      ^~~~~~~~
   drivers/rtc/rtc-ds1307.c:1572:14: warning: excess elements in struct initializer
     .val_bits = 8,
                 ^
   drivers/rtc/rtc-ds1307.c:1572:14: note: (near initialization for 'regmap_config')
   drivers/rtc/rtc-ds1307.c: In function 'ds1307_probe':
>> drivers/rtc/rtc-ds1307.c:1596:19: error: implicit declaration of function 'devm_regmap_init_i2c'; did you mean 'devm_request_irq'? [-Werror=implicit-function-declaration]
     ds1307->regmap = devm_regmap_init_i2c(client, &regmap_config);
                      ^~~~~~~~~~~~~~~~~~~~
                      devm_request_irq
>> drivers/rtc/rtc-ds1307.c:1596:17: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     ds1307->regmap = devm_regmap_init_i2c(client, &regmap_config);
                    ^
   drivers/rtc/rtc-ds1307.c: At top level:
>> drivers/rtc/rtc-ds1307.c:1570:35: error: storage size of 'regmap_config' isn't known
    static const struct regmap_config regmap_config = {
                                      ^~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/regmap_config +1570 drivers/rtc/rtc-ds1307.c

445c02076f1e60 Akinobu Mita             2016-01-25  1569  
11e5890b5342c8 Heiner Kallweit          2017-03-10 @1570  static const struct regmap_config regmap_config = {
11e5890b5342c8 Heiner Kallweit          2017-03-10 @1571  	.reg_bits = 8,
11e5890b5342c8 Heiner Kallweit          2017-03-10 @1572  	.val_bits = 8,
11e5890b5342c8 Heiner Kallweit          2017-03-10  1573  };
11e5890b5342c8 Heiner Kallweit          2017-03-10  1574  
5a167f4543e45d Greg Kroah-Hartman       2012-12-21  1575  static int ds1307_probe(struct i2c_client *client,
d2653e92732bd3 Jean Delvare             2008-04-29  1576  			const struct i2c_device_id *id)
1abb0dc92d706e David Brownell           2006-06-25  1577  {
1abb0dc92d706e David Brownell           2006-06-25  1578  	struct ds1307		*ds1307;
1abb0dc92d706e David Brownell           2006-06-25  1579  	int			err = -ENODEV;
584ce30c72954e Heiner Kallweit          2017-08-29  1580  	int			tmp;
7624df482d7aba Heiner Kallweit          2017-07-12  1581  	const struct chip_desc	*chip;
82e2d43f6315d7 Heiner Kallweit          2017-07-12  1582  	bool			want_irq;
8bc2a40730ec74 Michael Lange            2016-01-21  1583  	bool			ds1307_can_wakeup_device = false;
042fa8c7c04dd4 Alexandre Belloni        2017-09-04  1584  	unsigned char		regs[8];
01ce893d37f053 Jingoo Han               2013-11-12  1585  	struct ds1307_platform_data *pdata = dev_get_platdata(&client->dev);
d8490fd55ab90e Heiner Kallweit          2017-07-12  1586  	u8			trickle_charger_setup = 0;
1abb0dc92d706e David Brownell           2006-06-25  1587  
edca66d2ceae6b Jingoo Han               2013-07-03  1588  	ds1307 = devm_kzalloc(&client->dev, sizeof(struct ds1307), GFP_KERNEL);
40ce972d59fcfd David Anders             2012-03-23  1589  	if (!ds1307)
c065f35c179290 David Brownell           2007-07-17  1590  		return -ENOMEM;
045e0e85f2f6ee David Brownell           2007-07-17  1591  
11e5890b5342c8 Heiner Kallweit          2017-03-10  1592  	dev_set_drvdata(&client->dev, ds1307);
11e5890b5342c8 Heiner Kallweit          2017-03-10  1593  	ds1307->dev = &client->dev;
11e5890b5342c8 Heiner Kallweit          2017-03-10  1594  	ds1307->name = client->name;
33df2ee1bb59b8 Joakim Tjernlund         2009-06-17  1595  
11e5890b5342c8 Heiner Kallweit          2017-03-10 @1596  	ds1307->regmap = devm_regmap_init_i2c(client, &regmap_config);
11e5890b5342c8 Heiner Kallweit          2017-03-10  1597  	if (IS_ERR(ds1307->regmap)) {
11e5890b5342c8 Heiner Kallweit          2017-03-10  1598  		dev_err(ds1307->dev, "regmap allocation failed\n");
11e5890b5342c8 Heiner Kallweit          2017-03-10  1599  		return PTR_ERR(ds1307->regmap);
11e5890b5342c8 Heiner Kallweit          2017-03-10  1600  	}
11e5890b5342c8 Heiner Kallweit          2017-03-10  1601  
11e5890b5342c8 Heiner Kallweit          2017-03-10  1602  	i2c_set_clientdata(client, ds1307);
7ef6d2c266e5b0 Javier Martinez Canillas 2017-03-03  1603  
7ef6d2c266e5b0 Javier Martinez Canillas 2017-03-03  1604  	if (client->dev.of_node) {
7ef6d2c266e5b0 Javier Martinez Canillas 2017-03-03  1605  		ds1307->type = (enum ds_type)
7ef6d2c266e5b0 Javier Martinez Canillas 2017-03-03  1606  			of_device_get_match_data(&client->dev);
7ef6d2c266e5b0 Javier Martinez Canillas 2017-03-03  1607  		chip = &chips[ds1307->type];
7ef6d2c266e5b0 Javier Martinez Canillas 2017-03-03  1608  	} else if (id) {
9c19b8930d2cf9 Tin Huynh                2016-11-30  1609  		chip = &chips[id->driver_data];
3760f736716f74 Jean Delvare             2008-04-29  1610  		ds1307->type = id->driver_data;
9c19b8930d2cf9 Tin Huynh                2016-11-30  1611  	} else {
9c19b8930d2cf9 Tin Huynh                2016-11-30  1612  		const struct acpi_device_id *acpi_id;
9c19b8930d2cf9 Tin Huynh                2016-11-30  1613  
9c19b8930d2cf9 Tin Huynh                2016-11-30  1614  		acpi_id = acpi_match_device(ACPI_PTR(ds1307_acpi_ids),
11e5890b5342c8 Heiner Kallweit          2017-03-10  1615  					    ds1307->dev);
9c19b8930d2cf9 Tin Huynh                2016-11-30  1616  		if (!acpi_id)
9c19b8930d2cf9 Tin Huynh                2016-11-30  1617  			return -ENODEV;
9c19b8930d2cf9 Tin Huynh                2016-11-30  1618  		chip = &chips[acpi_id->driver_data];
9c19b8930d2cf9 Tin Huynh                2016-11-30  1619  		ds1307->type = acpi_id->driver_data;
9c19b8930d2cf9 Tin Huynh                2016-11-30  1620  	}
33df2ee1bb59b8 Joakim Tjernlund         2009-06-17  1621  
82e2d43f6315d7 Heiner Kallweit          2017-07-12  1622  	want_irq = client->irq > 0 && chip->alarm;
82e2d43f6315d7 Heiner Kallweit          2017-07-12  1623  
9c19b8930d2cf9 Tin Huynh                2016-11-30  1624  	if (!pdata)
d8490fd55ab90e Heiner Kallweit          2017-07-12  1625  		trickle_charger_setup = ds1307_trickle_init(ds1307, chip);
9c19b8930d2cf9 Tin Huynh                2016-11-30  1626  	else if (pdata->trickle_charger_setup)
d8490fd55ab90e Heiner Kallweit          2017-07-12  1627  		trickle_charger_setup = pdata->trickle_charger_setup;
33b04b7b7c03d0 Matti Vaittinen          2014-10-13  1628  
d8490fd55ab90e Heiner Kallweit          2017-07-12  1629  	if (trickle_charger_setup && chip->trickle_charger_reg) {
d8490fd55ab90e Heiner Kallweit          2017-07-12  1630  		trickle_charger_setup |= DS13XX_TRICKLE_CHARGER_MAGIC;
11e5890b5342c8 Heiner Kallweit          2017-03-10  1631  		dev_dbg(ds1307->dev,
11e5890b5342c8 Heiner Kallweit          2017-03-10  1632  			"writing trickle charger info 0x%x to 0x%x\n",
d8490fd55ab90e Heiner Kallweit          2017-07-12  1633  			trickle_charger_setup, chip->trickle_charger_reg);
11e5890b5342c8 Heiner Kallweit          2017-03-10  1634  		regmap_write(ds1307->regmap, chip->trickle_charger_reg,
d8490fd55ab90e Heiner Kallweit          2017-07-12  1635  			     trickle_charger_setup);
33b04b7b7c03d0 Matti Vaittinen          2014-10-13  1636  	}
eb86c3064b3c53 Wolfram Sang             2012-05-29  1637  

:::::: The code at line 1570 was first introduced by commit
:::::: 11e5890b5342c82eefbaa39aec4767ae21ae8803 rtc: ds1307: convert driver to regmap

:::::: TO: Heiner Kallweit <hkallweit1@gmail.com>
:::::: CC: Alexandre Belloni <alexandre.belloni@free-electrons.com>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 25647 bytes --]

  reply index

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-12 17:13 Geert Uytterhoeven
2020-01-12 21:45 ` kbuild test robot [this message]
2020-01-13  1:29 ` kbuild test robot
2020-01-13  6:36 ` Joe Perches
2020-01-13  7:25   ` Geert Uytterhoeven
2020-01-13  7:40     ` Joe Perches
2020-01-13  7:57       ` Geert Uytterhoeven
2020-01-13  8:12         ` Joe Perches
2020-01-14 10:13           ` Geert Uytterhoeven
2020-01-27 22:45 ` Alexandre Belloni
2020-01-28  8:33   ` Geert Uytterhoeven
2020-01-28  8:50     ` Alexandre Belloni
2020-01-28  8:59       ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202001130520.bXS12E9N%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=a.zummo@towertech.it \
    --cc=akinobu.mita@gmail.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=geert@linux-m68k.org \
    --cc=joe@perches.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-RTC Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rtc/0 linux-rtc/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rtc linux-rtc/ https://lore.kernel.org/linux-rtc \
		linux-rtc@vger.kernel.org
	public-inbox-index linux-rtc

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rtc


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git