Linux RTC
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Marcin Niestroj <m.niestroj@grinn-global.com>
Cc: kbuild-all@01.org, Tony Lindgren <tony@atomide.com>,
	Rob Herring <robh+dt@kernel.org>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	Keerthy <j-keerthy@ti.com>, Pawel Moll <pawel.moll@arm.com>,
	Alessandro Zummo <a.zummo@towertech.it>,
	rtc-linux@googlegroups.com, linux-omap@vger.kernel.org,
	devicetree@vger.kernel.org,
	Marcin Niestroj <m.niestroj@grinn-global.com>
Subject: [rtc-linux] Re: [PATCH v5] rtc: omap: Support ext_wakeup configuration
Date: Thu, 8 Sep 2016 22:20:29 +0800	[thread overview]
Message-ID: <201609082240.a4dMqCnB%fengguang.wu@intel.com> (raw)
In-Reply-To: <20160908105203.8641-1-m.niestroj@grinn-global.com>

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

Hi Marcin,

[auto build test ERROR on abelloni/rtc-next]
[also build test ERROR on v4.8-rc5]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Marcin-Niestroj/rtc-omap-Support-ext_wakeup-configuration/20160908-190900
base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 4.9.0
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

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

>> drivers/rtc/rtc-omap.c:535:38: error: array type has incomplete element type
    static const struct pinctrl_pin_desc rtc_pins_desc[] = {
                                         ^
>> drivers/rtc/rtc-omap.c:536:2: error: implicit declaration of function 'PINCTRL_PIN' [-Werror=implicit-function-declaration]
     PINCTRL_PIN(0, "ext_wakeup0"),
     ^
>> drivers/rtc/rtc-omap.c:553:21: error: variable 'rtc_pinctrl_ops' has initializer but incomplete type
    static const struct pinctrl_ops rtc_pinctrl_ops = {
                        ^
>> drivers/rtc/rtc-omap.c:554:2: error: unknown field 'get_groups_count' specified in initializer
     .get_groups_count = rtc_pinctrl_get_groups_count,
     ^
>> drivers/rtc/rtc-omap.c:554:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:554:2: warning: (near initialization for 'rtc_pinctrl_ops')
>> drivers/rtc/rtc-omap.c:555:2: error: unknown field 'get_group_name' specified in initializer
     .get_group_name = rtc_pinctrl_get_group_name,
     ^
   drivers/rtc/rtc-omap.c:555:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:555:2: warning: (near initialization for 'rtc_pinctrl_ops')
>> drivers/rtc/rtc-omap.c:556:2: error: unknown field 'dt_node_to_map' specified in initializer
     .dt_node_to_map = pinconf_generic_dt_node_to_map_pin,
     ^
   drivers/rtc/rtc-omap.c:556:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:556:2: warning: (near initialization for 'rtc_pinctrl_ops')
>> drivers/rtc/rtc-omap.c:557:2: error: unknown field 'dt_free_map' specified in initializer
     .dt_free_map = pinconf_generic_dt_free_map,
     ^
   drivers/rtc/rtc-omap.c:557:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:557:2: warning: (near initialization for 'rtc_pinctrl_ops')
   drivers/rtc/rtc-omap.c: In function 'rtc_pinconf_get':
>> drivers/rtc/rtc-omap.c:577:9: error: implicit declaration of function 'pinctrl_dev_get_drvdata' [-Werror=implicit-function-declaration]
     struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
            ^
>> drivers/rtc/rtc-omap.c:577:25: warning: initialization makes pointer from integer without a cast
     struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
                            ^
   drivers/rtc/rtc-omap.c: In function 'rtc_pinconf_set':
   drivers/rtc/rtc-omap.c:608:25: warning: initialization makes pointer from integer without a cast
     struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
                            ^
   drivers/rtc/rtc-omap.c: At top level:
>> drivers/rtc/rtc-omap.c:649:21: error: variable 'rtc_pinconf_ops' has initializer but incomplete type
    static const struct pinconf_ops rtc_pinconf_ops = {
                        ^
>> drivers/rtc/rtc-omap.c:650:2: error: unknown field 'is_generic' specified in initializer
     .is_generic = true,
     ^
   drivers/rtc/rtc-omap.c:650:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:650:2: warning: (near initialization for 'rtc_pinconf_ops')
>> drivers/rtc/rtc-omap.c:651:2: error: unknown field 'pin_config_get' specified in initializer
     .pin_config_get = rtc_pinconf_get,
     ^
   drivers/rtc/rtc-omap.c:651:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:651:2: warning: (near initialization for 'rtc_pinconf_ops')
>> drivers/rtc/rtc-omap.c:652:2: error: unknown field 'pin_config_set' specified in initializer
     .pin_config_set = rtc_pinconf_set,
     ^
   drivers/rtc/rtc-omap.c:652:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:652:2: warning: (near initialization for 'rtc_pinconf_ops')
>> drivers/rtc/rtc-omap.c:655:15: error: variable 'rtc_pinctrl_desc' has initializer but incomplete type
    static struct pinctrl_desc rtc_pinctrl_desc = {
                  ^
>> drivers/rtc/rtc-omap.c:656:2: error: unknown field 'pins' specified in initializer
     .pins = rtc_pins_desc,
     ^
   drivers/rtc/rtc-omap.c:656:2: warning: excess elements in struct initializer
   drivers/rtc/rtc-omap.c:656:2: warning: (near initialization for 'rtc_pinctrl_desc')
>> drivers/rtc/rtc-omap.c:657:2: error: unknown field 'npins' specified in initializer
     .npins = ARRAY_SIZE(rtc_pins_desc),
     ^
   In file included from include/linux/debug_locks.h:6:0,
                    from include/linux/mutex-debug.h:6,
                    from include/linux/mutex.h:82,
                    from include/linux/notifier.h:13,
                    from include/linux/clk.h:17,
                    from drivers/rtc/rtc-omap.c:18:
   include/linux/bug.h:34:45: error: bit-field '<anonymous>' width not an integer constant
    #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
                                                ^
   include/linux/compiler-gcc.h:64:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
    #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
                               ^
   include/linux/kernel.h:53:59: note: in expansion of macro '__must_be_array'
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                                              ^
>> drivers/rtc/rtc-omap.c:657:11: note: in expansion of macro 'ARRAY_SIZE'
     .npins = ARRAY_SIZE(rtc_pins_desc),
              ^
   include/linux/bug.h:34:45: warning: excess elements in struct initializer
    #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
                                                ^
   include/linux/compiler-gcc.h:64:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
    #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
                               ^
   include/linux/kernel.h:53:59: note: in expansion of macro '__must_be_array'
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                                              ^
>> drivers/rtc/rtc-omap.c:657:11: note: in expansion of macro 'ARRAY_SIZE'
     .npins = ARRAY_SIZE(rtc_pins_desc),
              ^
   include/linux/bug.h:34:45: warning: (near initialization for 'rtc_pinctrl_desc')
    #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
                                                ^
   include/linux/compiler-gcc.h:64:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
    #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
                               ^
   include/linux/kernel.h:53:59: note: in expansion of macro '__must_be_array'
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
                                                              ^
>> drivers/rtc/rtc-omap.c:657:11: note: in expansion of macro 'ARRAY_SIZE'
     .npins = ARRAY_SIZE(rtc_pins_desc),
              ^

vim +535 drivers/rtc/rtc-omap.c

   529		}, {
   530			/* sentinel */
   531		}
   532	};
   533	MODULE_DEVICE_TABLE(of, omap_rtc_of_match);
   534	
 > 535	static const struct pinctrl_pin_desc rtc_pins_desc[] = {
 > 536		PINCTRL_PIN(0, "ext_wakeup0"),
   537		PINCTRL_PIN(1, "ext_wakeup1"),
   538		PINCTRL_PIN(2, "ext_wakeup2"),
   539		PINCTRL_PIN(3, "ext_wakeup3"),
   540	};
   541	
   542	static int rtc_pinctrl_get_groups_count(struct pinctrl_dev *pctldev)
   543	{
   544		return 0;
   545	}
   546	
   547	static const char *rtc_pinctrl_get_group_name(struct pinctrl_dev *pctldev,
   548						unsigned int group)
   549	{
   550		return NULL;
   551	}
   552	
 > 553	static const struct pinctrl_ops rtc_pinctrl_ops = {
 > 554		.get_groups_count = rtc_pinctrl_get_groups_count,
 > 555		.get_group_name = rtc_pinctrl_get_group_name,
 > 556		.dt_node_to_map = pinconf_generic_dt_node_to_map_pin,
 > 557		.dt_free_map = pinconf_generic_dt_free_map,
   558	};
   559	
   560	enum rtc_pin_config_param {
   561		PIN_CONFIG_ACTIVE_HIGH = PIN_CONFIG_END + 1,
   562	};
   563	
   564	static const struct pinconf_generic_params rtc_params[] = {
   565		{"ti,active-high", PIN_CONFIG_ACTIVE_HIGH, 0},
   566	};
   567	
   568	#ifdef CONFIG_DEBUG_FS
   569	static const struct pin_config_item rtc_conf_items[ARRAY_SIZE(rtc_params)] = {
   570		PCONFDUMP(PIN_CONFIG_ACTIVE_HIGH, "input active high", NULL, false),
   571	};
   572	#endif
   573	
   574	static int rtc_pinconf_get(struct pinctrl_dev *pctldev,
   575				unsigned int pin, unsigned long *config)
   576	{
 > 577		struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
   578		unsigned int param = pinconf_to_config_param(*config);
   579		u32 val;
   580		u16 arg = 0;
   581	
   582		rtc->type->unlock(rtc);
   583		val = rtc_readl(rtc, OMAP_RTC_PMIC_REG);
   584		rtc->type->lock(rtc);
   585	
   586		switch (param) {
   587		case PIN_CONFIG_INPUT_ENABLE:
   588			if (!(val & OMAP_RTC_PMIC_EXT_WKUP_EN(pin)))
   589				return -EINVAL;
   590			break;
   591		case PIN_CONFIG_ACTIVE_HIGH:
   592			if (val & OMAP_RTC_PMIC_EXT_WKUP_POL(pin))
   593				return -EINVAL;
   594			break;
   595		default:
   596			return -ENOTSUPP;
   597		};
   598	
   599		*config = pinconf_to_config_packed(param, arg);
   600	
   601		return 0;
   602	}
   603	
   604	static int rtc_pinconf_set(struct pinctrl_dev *pctldev,
   605				unsigned int pin, unsigned long *configs,
   606				unsigned int num_configs)
   607	{
 > 608		struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
   609		u32 val;
   610		unsigned int param;
   611		u16 param_val;
   612		int i;
   613	
   614		rtc->type->unlock(rtc);
   615		val = rtc_readl(rtc, OMAP_RTC_PMIC_REG);
   616		rtc->type->lock(rtc);
   617	
   618		/* active low by default */
   619		val |= OMAP_RTC_PMIC_EXT_WKUP_POL(pin);
   620	
   621		for (i = 0; i < num_configs; i++) {
   622			param = pinconf_to_config_param(configs[i]);
   623			param_val = pinconf_to_config_argument(configs[i]);
   624	
   625			switch (param) {
   626			case PIN_CONFIG_INPUT_ENABLE:
   627				if (param_val)
   628					val |= OMAP_RTC_PMIC_EXT_WKUP_EN(pin);
   629				else
   630					val &= ~OMAP_RTC_PMIC_EXT_WKUP_EN(pin);
   631				break;
   632			case PIN_CONFIG_ACTIVE_HIGH:
   633				val &= ~OMAP_RTC_PMIC_EXT_WKUP_POL(pin);
   634				break;
   635			default:
   636				dev_err(&rtc->rtc->dev, "Property %u not supported\n",
   637					param);
   638				return -ENOTSUPP;
   639			}
   640		}
   641	
   642		rtc->type->unlock(rtc);
   643		rtc_writel(rtc, OMAP_RTC_PMIC_REG, val);
   644		rtc->type->lock(rtc);
   645	
   646		return 0;
   647	}
   648	
 > 649	static const struct pinconf_ops rtc_pinconf_ops = {
 > 650		.is_generic = true,
 > 651		.pin_config_get = rtc_pinconf_get,
 > 652		.pin_config_set = rtc_pinconf_set,
   653	};
   654	
 > 655	static struct pinctrl_desc rtc_pinctrl_desc = {
 > 656		.pins = rtc_pins_desc,
 > 657		.npins = ARRAY_SIZE(rtc_pins_desc),
 > 658		.pctlops = &rtc_pinctrl_ops,
 > 659		.confops = &rtc_pinconf_ops,
 > 660		.custom_params = rtc_params,
 > 661		.num_custom_params = ARRAY_SIZE(rtc_params),
   662	#ifdef CONFIG_DEBUG_FS
 > 663		.custom_conf_items = rtc_conf_items,
   664	#endif
 > 665		.owner = THIS_MODULE,
   666	};
   667	
   668	static int omap_rtc_probe(struct platform_device *pdev)

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

-- 
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
--- 
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 44269 bytes --]

  reply	other threads:[~2016-09-08 14:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-08 10:52 [rtc-linux] [PATCH v5] rtc: omap: Support ext_wakeup configuration Marcin Niestroj
2016-09-08 14:20 ` kbuild test robot [this message]
2016-09-12  9:01   ` [rtc-linux] " Marcin Niestroj
2016-09-13 21:58     ` Alexandre Belloni
2016-09-14  9:21       ` Marcin Niestroj
2016-09-15 12:08         ` Alexandre Belloni
2016-09-08 14:27 ` kbuild test robot
2016-09-08 15:03 ` kbuild test robot
2016-09-16 15:37 ` Rob Herring

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=201609082240.a4dMqCnB%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grygorii.strashko@ti.com \
    --cc=j-keerthy@ti.com \
    --cc=kbuild-all@01.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=m.niestroj@grinn-global.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=rtc-linux@googlegroups.com \
    --cc=tony@atomide.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox