Common drivers must never call directly in architecture specific code. That is FORBIDDEN.
The driver at drivers/video/isx012.c does just that:
$ grep cxd56 drivers/video/isx012.c
ret = cxd56_cisifinit();
imagererr("Fail cxd56_cisifinit %d\n", ret);
ret = cxd56_cisifstopcapture();
imagererr("Fail cxd56_cisifstopcapture %d\n", ret);
ret = cxd56_cisiffinalize();
imagererr("Fail cxd56_cisiffinalize %d\n", ret);
ret = cxd56_cisifsetdmabuf(&sarea);
ret = cxd56_cisifstartcapture(&cis_param, &sarea);
ret = cxd56_cisifstopcapture();
That is in complete violation of the requirements of the NuttX modular design. This driver must either be corrected so that it uses a standard upper/lower half design as all other drivers do, or it must be removed, or it must be moved to boards/arm/cxd56xx/drivers/
Common drivers must never call directly in architecture specific code. That is FORBIDDEN.
The driver at drivers/video/isx012.c does just that:
That is in complete violation of the requirements of the NuttX modular design. This driver must either be corrected so that it uses a standard upper/lower half design as all other drivers do, or it must be removed, or it must be moved to boards/arm/cxd56xx/drivers/