All of lore.kernel.org
 help / color / mirror / Atom feed
From: songjun.wu@atmel.com (Wu, Songjun)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] [media] atmel-isc: add the Image Sensor Controller code
Date: Thu, 14 Apr 2016 13:44:27 +0800	[thread overview]
Message-ID: <570F2E3B.1090600@atmel.com> (raw)
In-Reply-To: <201604132310.zvahkw1X%fengguang.wu@intel.com>

The option 'CONFIG_COMMON_CLK=y' is needed to add to '.config'.
But I do not validate, '.config' will be generated automatically and 
overwritten when it is changed.

On 4/14/2016 00:01, kbuild test robot wrote:
> Hi Songjun,
>
> [auto build test ERROR on linuxtv-media/master]
> [also build test ERROR on v4.6-rc3 next-20160413]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url:    https://github.com/0day-ci/linux/commits/Songjun-Wu/atmel-isc-add-driver-for-Atmel-ISC/20160413-155337
> base:   git://linuxtv.org/media_tree.git master
> config: powerpc-allyesconfig (attached as .config)
> 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=powerpc
>
> All errors (new ones prefixed by >>):
>
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_enable':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:247:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:247:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_disable':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:280:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:280:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_is_enabled':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:295:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:295:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_recalc_rate':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:309:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:309:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: At top level:
>     drivers/media/platform/atmel/atmel-isc.c:315:14: warning: 'struct clk_rate_request' declared inside parameter list
>            struct clk_rate_request *req)
>                   ^
>     drivers/media/platform/atmel/atmel-isc.c:315:14: warning: its scope is only this definition or declaration, which is probably not what you want
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_determine_rate':
>     drivers/media/platform/atmel/atmel-isc.c:324:18: error: implicit declaration of function 'clk_hw_get_num_parents' [-Werror=implicit-function-declaration]
>       for (i = 0; i < clk_hw_get_num_parents(hw); i++) {
>                       ^
>     drivers/media/platform/atmel/atmel-isc.c:325:12: error: implicit declaration of function 'clk_hw_get_parent_by_index' [-Werror=implicit-function-declaration]
>        parent = clk_hw_get_parent_by_index(hw, i);
>                 ^
>     drivers/media/platform/atmel/atmel-isc.c:325:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
>        parent = clk_hw_get_parent_by_index(hw, i);
>               ^
>     drivers/media/platform/atmel/atmel-isc.c:329:17: error: implicit declaration of function 'clk_hw_get_rate' [-Werror=implicit-function-declaration]
>        parent_rate = clk_hw_get_rate(parent);
>                      ^
>     In file included from include/linux/list.h:8:0,
>                      from include/linux/kobject.h:20,
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>>> drivers/media/platform/atmel/atmel-isc.c:335:22: error: dereferencing pointer to incomplete type 'struct clk_rate_request'
>         tmp_diff = abs(req->rate - tmp_rate);
>                           ^
>     include/linux/kernel.h:222:38: note: in definition of macro '__abs_choose_expr'
>       __builtin_types_compatible_p(typeof(x),   signed type) || \
>                                           ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:216:3: error: first argument to '__builtin_choose_expr' not a constant
>        __builtin_choose_expr(     \
>        ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     include/linux/kernel.h:214:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, short,    \
>        ^
>     include/linux/kernel.h:215:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, char,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     include/linux/kernel.h:214:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, short,    \
>        ^
>     include/linux/kernel.h:215:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, char,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     include/linux/kernel.h:214:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, short,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:211:16: note: in expansion of macro '__abs_choose_expr'
>      #define abs(x) __abs_choose_expr(x, long long,    \
>                     ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     In file included from include/linux/printk.h:277:0,
>                      from include/linux/kernel.h:13,
>                      from include/linux/list.h:8,
>                      from include/linux/kobject.h:20,
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>>> drivers/media/platform/atmel/atmel-isc.c:354:4: error: implicit declaration of function '__clk_get_name' [-Werror=implicit-function-declaration]
>         __clk_get_name((req->best_parent_hw)->clk),
>         ^
>     include/linux/dynamic_debug.h:79:10: note: in definition of macro 'dynamic_pr_debug'
>             ##__VA_ARGS__);  \
>               ^
>     drivers/media/platform/atmel/atmel-isc.c:352:2: note: in expansion of macro 'pr_debug'
>       pr_debug("ISC CLK: %s, best_rate = %ld, parent clk: %s @ %ld\n",
>       ^
>     In file included from include/linux/list.h:8:0,
>                      from include/linux/kobject.h:20,
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_set_parent':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:367:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:367:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_get_parent':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:379:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:379:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_set_rate':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:388:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:388:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: At top level:
>     drivers/media/platform/atmel/atmel-isc.c:403:21: error: variable 'isc_clk_ops' has initializer but incomplete type
>      static const struct clk_ops isc_clk_ops = {
>                          ^
>     drivers/media/platform/atmel/atmel-isc.c:404:2: error: unknown field 'enable' specified in initializer
>       .enable  = isc_clk_enable,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:404:13: warning: excess elements in struct initializer
>       .enable  = isc_clk_enable,
>                  ^
>     drivers/media/platform/atmel/atmel-isc.c:404:13: note: (near initialization for 'isc_clk_ops')
>     drivers/media/platform/atmel/atmel-isc.c:405:2: error: unknown field 'disable' specified in initializer
>       .disable = isc_clk_disable,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:405:13: warning: excess elements in struct initializer
>       .disable = isc_clk_disable,
>                  ^
>     drivers/media/platform/atmel/atmel-isc.c:405:13: note: (near initialization for 'isc_clk_ops')
>     drivers/media/platform/atmel/atmel-isc.c:406:2: error: unknown field 'is_enabled' specified in initializer
>       .is_enabled = isc_clk_is_enabled,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:406:16: warning: excess elements in struct initializer
>       .is_enabled = isc_clk_is_enabled,
>                     ^
>     drivers/media/platform/atmel/atmel-isc.c:406:16: note: (near initialization for 'isc_clk_ops')
>     drivers/media/platform/atmel/atmel-isc.c:407:2: error: unknown field 'recalc_rate' specified in initializer
>       .recalc_rate = isc_clk_recalc_rate,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:407:17: warning: excess elements in struct initializer
>       .recalc_rate = isc_clk_recalc_rate,
>                      ^
>
> vim +335 drivers/media/platform/atmel/atmel-isc.c
>
>     323	
>     324		for (i = 0; i < clk_hw_get_num_parents(hw); i++) {
>     325			parent = clk_hw_get_parent_by_index(hw, i);
>     326			if (!parent)
>     327				continue;
>     328	
>   > 329			parent_rate = clk_hw_get_rate(parent);
>     330			if (!parent_rate)
>     331				continue;
>     332	
>     333			for (div = 1; div < ISC_CLK_MAX_DIV + 2; div++) {
>     334				tmp_rate = DIV_ROUND_CLOSEST(parent_rate, div);
>   > 335				tmp_diff = abs(req->rate - tmp_rate);
>     336	
>     337				if (best_diff < 0 || best_diff > tmp_diff) {
>     338					best_rate = tmp_rate;
>     339					best_diff = tmp_diff;
>     340					req->best_parent_rate = parent_rate;
>     341					req->best_parent_hw = parent;
>     342				}
>     343	
>     344				if (!best_diff || tmp_rate < req->rate)
>     345					break;
>     346			}
>     347	
>     348			if (!best_diff)
>     349				break;
>     350		}
>     351	
>     352		pr_debug("ISC CLK: %s, best_rate = %ld, parent clk: %s @ %ld\n",
>     353			 __func__, best_rate,
>   > 354			 __clk_get_name((req->best_parent_hw)->clk),
>     355			 req->best_parent_rate);
>     356	
>     357		if (best_rate < 0)
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>

WARNING: multiple messages have this Message-ID (diff)
From: "Wu, Songjun" <songjun.wu@atmel.com>
To: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, g.liakhovetski@gmx.de,
	nicolas.ferre@atmel.com, linux-arm-kernel@lists.infradead.org,
	"Mauro Carvalho Chehab" <mchehab@osg.samsung.com>,
	"Hans Verkuil" <hverkuil@xs4all.nl>,
	"Sudip Mukherjee" <sudipm.mukherjee@gmail.com>,
	"Mikhail Ulyanov" <mikhail.ulyanov@cogentembedded.com>,
	"Fabien Dessenne" <fabien.dessenne@st.com>,
	"Peter Griffin" <peter.griffin@linaro.org>,
	"Benoit Parrot" <bparrot@ti.com>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Richard Röjfors" <richard@puffinpack.se>,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [PATCH 1/2] [media] atmel-isc: add the Image Sensor Controller code
Date: Thu, 14 Apr 2016 13:44:27 +0800	[thread overview]
Message-ID: <570F2E3B.1090600@atmel.com> (raw)
In-Reply-To: <201604132310.zvahkw1X%fengguang.wu@intel.com>

The option 'CONFIG_COMMON_CLK=y' is needed to add to '.config'.
But I do not validate, '.config' will be generated automatically and 
overwritten when it is changed.

On 4/14/2016 00:01, kbuild test robot wrote:
> Hi Songjun,
>
> [auto build test ERROR on linuxtv-media/master]
> [also build test ERROR on v4.6-rc3 next-20160413]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url:    https://github.com/0day-ci/linux/commits/Songjun-Wu/atmel-isc-add-driver-for-Atmel-ISC/20160413-155337
> base:   git://linuxtv.org/media_tree.git master
> config: powerpc-allyesconfig (attached as .config)
> 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=powerpc
>
> All errors (new ones prefixed by >>):
>
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_enable':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:247:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:247:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_disable':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:280:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:280:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_is_enabled':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:295:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:295:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_recalc_rate':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:309:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:309:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: At top level:
>     drivers/media/platform/atmel/atmel-isc.c:315:14: warning: 'struct clk_rate_request' declared inside parameter list
>            struct clk_rate_request *req)
>                   ^
>     drivers/media/platform/atmel/atmel-isc.c:315:14: warning: its scope is only this definition or declaration, which is probably not what you want
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_determine_rate':
>     drivers/media/platform/atmel/atmel-isc.c:324:18: error: implicit declaration of function 'clk_hw_get_num_parents' [-Werror=implicit-function-declaration]
>       for (i = 0; i < clk_hw_get_num_parents(hw); i++) {
>                       ^
>     drivers/media/platform/atmel/atmel-isc.c:325:12: error: implicit declaration of function 'clk_hw_get_parent_by_index' [-Werror=implicit-function-declaration]
>        parent = clk_hw_get_parent_by_index(hw, i);
>                 ^
>     drivers/media/platform/atmel/atmel-isc.c:325:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
>        parent = clk_hw_get_parent_by_index(hw, i);
>               ^
>     drivers/media/platform/atmel/atmel-isc.c:329:17: error: implicit declaration of function 'clk_hw_get_rate' [-Werror=implicit-function-declaration]
>        parent_rate = clk_hw_get_rate(parent);
>                      ^
>     In file included from include/linux/list.h:8:0,
>                      from include/linux/kobject.h:20,
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>>> drivers/media/platform/atmel/atmel-isc.c:335:22: error: dereferencing pointer to incomplete type 'struct clk_rate_request'
>         tmp_diff = abs(req->rate - tmp_rate);
>                           ^
>     include/linux/kernel.h:222:38: note: in definition of macro '__abs_choose_expr'
>       __builtin_types_compatible_p(typeof(x),   signed type) || \
>                                           ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:216:3: error: first argument to '__builtin_choose_expr' not a constant
>        __builtin_choose_expr(     \
>        ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     include/linux/kernel.h:214:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, short,    \
>        ^
>     include/linux/kernel.h:215:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, char,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     include/linux/kernel.h:214:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, short,    \
>        ^
>     include/linux/kernel.h:215:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, char,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     include/linux/kernel.h:214:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, short,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     include/linux/kernel.h:213:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, int,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:224:54: note: in definition of macro '__abs_choose_expr'
>       ({ signed type __x = (x); __x < 0 ? -__x : __x; }), other)
>                                                           ^
>     include/linux/kernel.h:212:3: note: in expansion of macro '__abs_choose_expr'
>        __abs_choose_expr(x, long,    \
>        ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     include/linux/kernel.h:221:43: error: first argument to '__builtin_choose_expr' not a constant
>      #define __abs_choose_expr(x, type, other) __builtin_choose_expr( \
>                                                ^
>     include/linux/kernel.h:211:16: note: in expansion of macro '__abs_choose_expr'
>      #define abs(x) __abs_choose_expr(x, long long,    \
>                     ^
>     drivers/media/platform/atmel/atmel-isc.c:335:15: note: in expansion of macro 'abs'
>         tmp_diff = abs(req->rate - tmp_rate);
>                    ^
>     In file included from include/linux/printk.h:277:0,
>                      from include/linux/kernel.h:13,
>                      from include/linux/list.h:8,
>                      from include/linux/kobject.h:20,
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>>> drivers/media/platform/atmel/atmel-isc.c:354:4: error: implicit declaration of function '__clk_get_name' [-Werror=implicit-function-declaration]
>         __clk_get_name((req->best_parent_hw)->clk),
>         ^
>     include/linux/dynamic_debug.h:79:10: note: in definition of macro 'dynamic_pr_debug'
>             ##__VA_ARGS__);  \
>               ^
>     drivers/media/platform/atmel/atmel-isc.c:352:2: note: in expansion of macro 'pr_debug'
>       pr_debug("ISC CLK: %s, best_rate = %ld, parent clk: %s @ %ld\n",
>       ^
>     In file included from include/linux/list.h:8:0,
>                      from include/linux/kobject.h:20,
>                      from include/linux/of.h:21,
>                      from drivers/media/platform/atmel/atmel-isc.c:27:
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_set_parent':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:367:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:367:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_get_parent':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:379:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:379:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: In function 'isc_clk_set_rate':
>     include/linux/kernel.h:824:48: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:388:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     include/linux/kernel.h:824:48: note: (near initialization for 'isc_clk')
>       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                     ^
>     drivers/media/platform/atmel/atmel-isc.c:55:24: note: in expansion of macro 'container_of'
>      #define to_isc_clk(hw) container_of(hw, struct isc_clk, hw)
>                             ^
>     drivers/media/platform/atmel/atmel-isc.c:388:28: note: in expansion of macro 'to_isc_clk'
>       struct isc_clk *isc_clk = to_isc_clk(hw);
>                                 ^
>     drivers/media/platform/atmel/atmel-isc.c: At top level:
>     drivers/media/platform/atmel/atmel-isc.c:403:21: error: variable 'isc_clk_ops' has initializer but incomplete type
>      static const struct clk_ops isc_clk_ops = {
>                          ^
>     drivers/media/platform/atmel/atmel-isc.c:404:2: error: unknown field 'enable' specified in initializer
>       .enable  = isc_clk_enable,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:404:13: warning: excess elements in struct initializer
>       .enable  = isc_clk_enable,
>                  ^
>     drivers/media/platform/atmel/atmel-isc.c:404:13: note: (near initialization for 'isc_clk_ops')
>     drivers/media/platform/atmel/atmel-isc.c:405:2: error: unknown field 'disable' specified in initializer
>       .disable = isc_clk_disable,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:405:13: warning: excess elements in struct initializer
>       .disable = isc_clk_disable,
>                  ^
>     drivers/media/platform/atmel/atmel-isc.c:405:13: note: (near initialization for 'isc_clk_ops')
>     drivers/media/platform/atmel/atmel-isc.c:406:2: error: unknown field 'is_enabled' specified in initializer
>       .is_enabled = isc_clk_is_enabled,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:406:16: warning: excess elements in struct initializer
>       .is_enabled = isc_clk_is_enabled,
>                     ^
>     drivers/media/platform/atmel/atmel-isc.c:406:16: note: (near initialization for 'isc_clk_ops')
>     drivers/media/platform/atmel/atmel-isc.c:407:2: error: unknown field 'recalc_rate' specified in initializer
>       .recalc_rate = isc_clk_recalc_rate,
>       ^
>     drivers/media/platform/atmel/atmel-isc.c:407:17: warning: excess elements in struct initializer
>       .recalc_rate = isc_clk_recalc_rate,
>                      ^
>
> vim +335 drivers/media/platform/atmel/atmel-isc.c
>
>     323	
>     324		for (i = 0; i < clk_hw_get_num_parents(hw); i++) {
>     325			parent = clk_hw_get_parent_by_index(hw, i);
>     326			if (!parent)
>     327				continue;
>     328	
>   > 329			parent_rate = clk_hw_get_rate(parent);
>     330			if (!parent_rate)
>     331				continue;
>     332	
>     333			for (div = 1; div < ISC_CLK_MAX_DIV + 2; div++) {
>     334				tmp_rate = DIV_ROUND_CLOSEST(parent_rate, div);
>   > 335				tmp_diff = abs(req->rate - tmp_rate);
>     336	
>     337				if (best_diff < 0 || best_diff > tmp_diff) {
>     338					best_rate = tmp_rate;
>     339					best_diff = tmp_diff;
>     340					req->best_parent_rate = parent_rate;
>     341					req->best_parent_hw = parent;
>     342				}
>     343	
>     344				if (!best_diff || tmp_rate < req->rate)
>     345					break;
>     346			}
>     347	
>     348			if (!best_diff)
>     349				break;
>     350		}
>     351	
>     352		pr_debug("ISC CLK: %s, best_rate = %ld, parent clk: %s @ %ld\n",
>     353			 __func__, best_rate,
>   > 354			 __clk_get_name((req->best_parent_hw)->clk),
>     355			 req->best_parent_rate);
>     356	
>     357		if (best_rate < 0)
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>

  reply	other threads:[~2016-04-14  5:44 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-13  7:44 [PATCH 0/2] [media] atmel-isc: add driver for Atmel ISC Songjun Wu
2016-04-13  7:44 ` Songjun Wu
2016-04-13  7:44 ` Songjun Wu
2016-04-13  7:44 ` [PATCH 1/2] [media] atmel-isc: add the Image Sensor Controller code Songjun Wu
2016-04-13  7:44   ` Songjun Wu
2016-04-13 11:29   ` kbuild test robot
2016-04-13 11:29     ` kbuild test robot
2016-04-13 13:31   ` kbuild test robot
2016-04-13 13:31     ` kbuild test robot
2016-04-13 16:01   ` kbuild test robot
2016-04-13 16:01     ` kbuild test robot
2016-04-14  5:44     ` Wu, Songjun [this message]
2016-04-14  5:44       ` Wu, Songjun
2016-04-14 14:14       ` Laurent Pinchart
2016-04-14 14:14         ` Laurent Pinchart
2016-04-19  2:28         ` Wu, Songjun
2016-04-19  2:28           ` Wu, Songjun
2016-04-14 16:21   ` Laurent Pinchart
2016-04-14 16:21     ` Laurent Pinchart
2016-04-19  7:46     ` Wu, Songjun
2016-04-19  7:46       ` Wu, Songjun
2016-04-19  9:23       ` Nicolas Ferre
2016-04-19  9:23         ` Nicolas Ferre
2016-04-19 10:02     ` Wu, Songjun
2016-04-19 10:02       ` Wu, Songjun
2016-04-18  7:24   ` Hans Verkuil
2016-04-18  7:24     ` Hans Verkuil
2016-04-19  8:29     ` Wu, Songjun
2016-04-19  8:29       ` Wu, Songjun
2016-04-13  7:44 ` [PATCH 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver Songjun Wu
2016-04-13  7:44   ` Songjun Wu
2016-04-13  7:44   ` Songjun Wu
2016-04-14 15:29   ` Rob Herring
2016-04-14 15:29     ` Rob Herring
2016-04-20  2:50     ` Wu, Songjun
2016-04-20  2:50       ` Wu, Songjun
2016-04-20  2:50       ` Wu, Songjun
2016-04-15  9:22   ` Ludovic Desroches
2016-04-15  9:22     ` Ludovic Desroches
2016-04-15  9:22     ` Ludovic Desroches
2016-04-14 14:17 ` [PATCH 0/2] [media] atmel-isc: add driver for Atmel ISC Laurent Pinchart
2016-04-14 14:17   ` Laurent Pinchart
2016-04-14 14:17   ` Laurent Pinchart

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=570F2E3B.1090600@atmel.com \
    --to=songjun.wu@atmel.com \
    --cc=linux-arm-kernel@lists.infradead.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
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.