All of lore.kernel.org
 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 --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: kbuild-all-JC7UmRfGjtg@public.gmane.org,
	Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Grygorii Strashko
	<grygorii.strashko-l0cyMroinI0@public.gmane.org>,
	Alexandre Belloni
	<alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Alessandro Zummo
	<a.zummo-BfzFCNDTiLLj+vYz1yj4TQ@public.gmane.org>,
	rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Marcin Niestroj
	<m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
Subject: 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-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 12376 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

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

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

Thread overview: 18+ 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 10:52 ` Marcin Niestroj
2016-09-08 14:20 ` kbuild test robot [this message]
2016-09-08 14:20   ` kbuild test robot
2016-09-12  9:01   ` [rtc-linux] " Marcin Niestroj
2016-09-12  9:01     ` Marcin Niestroj
2016-09-13 21:58     ` [rtc-linux] " Alexandre Belloni
2016-09-13 21:58       ` Alexandre Belloni
2016-09-14  9:21       ` [rtc-linux] " Marcin Niestroj
2016-09-14  9:21         ` Marcin Niestroj
2016-09-15 12:08         ` [rtc-linux] " Alexandre Belloni
2016-09-15 12:08           ` Alexandre Belloni
2016-09-08 14:27 ` [rtc-linux] " kbuild test robot
2016-09-08 14:27   ` kbuild test robot
2016-09-08 15:03 ` [rtc-linux] " kbuild test robot
2016-09-08 15:03   ` kbuild test robot
2016-09-16 15:37 ` [rtc-linux] " Rob Herring
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.