| TODO (general): |
| ================================== |
| |
| - User space interface refinement |
| - Controls should be used when possible rather than private ioctl |
| - No enums should be used |
| - Use of MC and V4L2 subdev APIs when applicable |
| - Single interface header might suffice |
| - Current interface forces to configure everything at once |
| - Get rid of the dm365_ipipe_hw.[ch] layer |
| - Active external sub-devices defined by link configuration; no strcmp |
| needed |
| - More generic platform data (i2c adapters) |
| - The driver should have no knowledge of possible external subdevs; see |
| struct vpfe_subdev_id |
| - Some of the hardware control should be refactorede |
| - Check proper serialisation (through mutexes and spinlocks) |
| - Names that are visible in kernel global namespace should have a common |
| prefix (or a few) |
| - While replacing the older driver in media folder, provide a compatibility |
| layer and compatibility tests that warrants (using the libv4l's LD_PRELOAD |
| approach) there is no regression for the users using the older driver. |
| |
| Building of uImage and Applications: |
| ================================== |
| |
| As of now since the interface will undergo few changes all the include |
| files are present in staging itself, to build for dm365 follow below steps, |
| |
| - copy vpfe.h from drivers/staging/media/davinci_vpfe/ to |
| include/media/davinci/ folder for building the uImage. |
| - copy davinci_vpfe_user.h from drivers/staging/media/davinci_vpfe/ to |
| include/uapi/linux/davinci_vpfe.h, and add a entry in Kbuild (required |
| for building application). |
| - copy dm365_ipipeif_user.h from drivers/staging/media/davinci_vpfe/ to |
| include/uapi/linux/dm365_ipipeif.h and a entry in Kbuild (required |
| for building application). |