Re: [PATCH 30/30] media: atmel: atmel-isc: add microchip-xisc driver

From: kernel test robot
Date: Thu Apr 01 2021 - 16:37:13 EST


Hi Eugen,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linuxtv-media/master]
[also build test WARNING on v5.12-rc5 next-20210401]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Eugen-Hristev/media-atmel-atmel-isc-add-support-for-xisc/20210402-024144
base: git://linuxtv.org/media_tree.git master
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/5940a9ab90aba6cd4c659b9df3ab1b8bb0ce0e43
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Eugen-Hristev/media-atmel-atmel-isc-add-support-for-xisc/20210402-024144
git checkout 5940a9ab90aba6cd4c659b9df3ab1b8bb0ce0e43
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:207:6: warning: no previous prototype for 'isc_sama7g5_config_csc' [-Wmissing-prototypes]
207 | void isc_sama7g5_config_csc(struct isc_device *isc)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:226:6: warning: no previous prototype for 'isc_sama7g5_config_cbc' [-Wmissing-prototypes]
226 | void isc_sama7g5_config_cbc(struct isc_device *isc)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:238:6: warning: no previous prototype for 'isc_sama7g5_config_cc' [-Wmissing-prototypes]
238 | void isc_sama7g5_config_cc(struct isc_device *isc)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:251:6: warning: no previous prototype for 'isc_sama7g5_config_ctrls' [-Wmissing-prototypes]
251 | void isc_sama7g5_config_ctrls(struct isc_device *isc,
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:262:6: warning: no previous prototype for 'isc_sama7g5_config_dpc' [-Wmissing-prototypes]
262 | void isc_sama7g5_config_dpc(struct isc_device *isc)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:273:6: warning: no previous prototype for 'isc_sama7g5_config_gam' [-Wmissing-prototypes]
273 | void isc_sama7g5_config_gam(struct isc_device *isc)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:281:6: warning: no previous prototype for 'isc_sama7g5_config_rlp' [-Wmissing-prototypes]
281 | void isc_sama7g5_config_rlp(struct isc_device *isc)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/atmel/atmel-sama7g5-isc.c:291:6: warning: no previous prototype for 'isc_sama7g5_adapt_pipeline' [-Wmissing-prototypes]
291 | void isc_sama7g5_adapt_pipeline(struct isc_device *isc)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/atmel/atmel-sama7g5-isc.c: In function 'microchip_xisc_probe':
drivers/media/platform/atmel/atmel-sama7g5-isc.c:530:9: error: implicit declaration of function 'v4l2_async_notifier_add_subdev'; did you mean 'v4l2_async_notifier_add_i2c_subdev'? [-Werror=implicit-function-declaration]
530 | ret = v4l2_async_notifier_add_subdev(&subdev_entity->notifier,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| v4l2_async_notifier_add_i2c_subdev
cc1: some warnings being treated as errors


vim +/isc_sama7g5_config_csc +207 drivers/media/platform/atmel/atmel-sama7g5-isc.c

206
> 207 void isc_sama7g5_config_csc(struct isc_device *isc)
208 {
209 struct regmap *regmap = isc->regmap;
210
211 /* Convert RGB to YUV */
212 regmap_write(regmap, ISC_CSC_YR_YG + isc->offsets.csc,
213 0x42 | (0x81 << 16));
214 regmap_write(regmap, ISC_CSC_YB_OY + isc->offsets.csc,
215 0x19 | (0x10 << 16));
216 regmap_write(regmap, ISC_CSC_CBR_CBG + isc->offsets.csc,
217 0xFDA | (0xFB6 << 16));
218 regmap_write(regmap, ISC_CSC_CBB_OCB + isc->offsets.csc,
219 0x70 | (0x80 << 16));
220 regmap_write(regmap, ISC_CSC_CRR_CRG + isc->offsets.csc,
221 0x70 | (0xFA2 << 16));
222 regmap_write(regmap, ISC_CSC_CRB_OCR + isc->offsets.csc,
223 0xFEE | (0x80 << 16));
224 }
225
> 226 void isc_sama7g5_config_cbc(struct isc_device *isc)
227 {
228 struct regmap *regmap = isc->regmap;
229
230 /* Configure what is set via v4l2 ctrls */
231 regmap_write(regmap, ISC_CBC_BRIGHT + isc->offsets.cbc, isc->ctrls.brightness);
232 regmap_write(regmap, ISC_CBC_CONTRAST + isc->offsets.cbc, isc->ctrls.contrast);
233 /* Configure Hue and Saturation as neutral midpoint */
234 regmap_write(regmap, ISC_CBCHS_HUE, 0);
235 regmap_write(regmap, ISC_CBCHS_SAT, (1 << 4));
236 }
237
> 238 void isc_sama7g5_config_cc(struct isc_device *isc)
239 {
240 struct regmap *regmap = isc->regmap;
241
242 /* Configure each register at the neutral fixed point 1.0 or 0.0 */
243 regmap_write(regmap, ISC_CC_RR_RG, (1 << 8));
244 regmap_write(regmap, ISC_CC_RB_OR, 0);
245 regmap_write(regmap, ISC_CC_GR_GG, (1 << 8) << 16);
246 regmap_write(regmap, ISC_CC_GB_OG, 0);
247 regmap_write(regmap, ISC_CC_BR_BG, 0);
248 regmap_write(regmap, ISC_CC_BB_OB, (1 << 8));
249 }
250
> 251 void isc_sama7g5_config_ctrls(struct isc_device *isc,
252 const struct v4l2_ctrl_ops *ops)
253 {
254 struct isc_ctrls *ctrls = &isc->ctrls;
255 struct v4l2_ctrl_handler *hdl = &ctrls->handler;
256
257 ctrls->contrast = 16;
258
259 v4l2_ctrl_new_std(hdl, ops, V4L2_CID_CONTRAST, -2048, 2047, 1, 16);
260 }
261
> 262 void isc_sama7g5_config_dpc(struct isc_device *isc)
263 {
264 u32 bay_cfg = isc->config.sd_format->cfa_baycfg;
265 struct regmap *regmap = isc->regmap;
266
267 regmap_update_bits(regmap, ISC_DPC_CFG, ISC_DPC_CFG_BLOFF_MASK,
268 (64 << ISC_DPC_CFG_BLOFF_SHIFT));
269 regmap_update_bits(regmap, ISC_DPC_CFG, ISC_DPC_CFG_BAYCFG_MASK,
270 (bay_cfg << ISC_DPC_CFG_BAYCFG_SHIFT));
271 }
272
> 273 void isc_sama7g5_config_gam(struct isc_device *isc)
274 {
275 struct regmap *regmap = isc->regmap;
276
277 regmap_update_bits(regmap, ISC_GAM_CTRL, ISC_GAM_CTRL_BIPART,
278 ISC_GAM_CTRL_BIPART);
279 }
280
> 281 void isc_sama7g5_config_rlp(struct isc_device *isc)
282 {
283 struct regmap *regmap = isc->regmap;
284 u32 rlp_mode = isc->config.rlp_cfg_mode;
285
286 regmap_update_bits(regmap, ISC_RLP_CFG + isc->offsets.rlp,
287 ISC_RLP_CFG_MODE_MASK | ISC_RLP_CFG_LSH |
288 ISC_RLP_CFG_YMODE_MASK, rlp_mode);
289 }
290
> 291 void isc_sama7g5_adapt_pipeline(struct isc_device *isc)
292 {
293 isc->try_config.bits_pipeline &= ISC_SAMA7G5_PIPELINE;
294 }
295

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip