• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1TODO (general):
2==================================
3
4- User space interface refinement
5        - Controls should be used when possible rather than private ioctl
6        - No enums should be used
7        - Use of MC and V4L2 subdev APIs when applicable
8        - Single interface header might suffice
9        - Current interface forces to configure everything at once
10- Get rid of the dm365_ipipe_hw.[ch] layer
11- Active external sub-devices defined by link configuration; no strcmp
12  needed
13- More generic platform data (i2c adapters)
14- The driver should have no knowledge of possible external subdevs; see
15  struct vpfe_subdev_id
16- Some of the hardware control should be refactorede
17- Check proper serialisation (through mutexes and spinlocks)
18- Names that are visible in kernel global namespace should have a common
19  prefix (or a few)
20- While replacing the older driver in media folder, provide a compatibility
21  layer and compatibility tests that warrants (using the libv4l's LD_PRELOAD
22  approach) there is no regression for the users using the older driver.
23
24Building of uImage and Applications:
25==================================
26
27As of now since the interface will undergo few changes all the include
28files are present in staging itself, to build for dm365 follow below steps,
29
30- copy vpfe.h from drivers/staging/media/davinci_vpfe/ to
31  include/media/davinci/ folder for building the uImage.
32- copy davinci_vpfe_user.h from drivers/staging/media/davinci_vpfe/ to
33  include/uapi/linux/davinci_vpfe.h, and add a entry in Kbuild (required
34  for building application).
35- copy dm365_ipipeif_user.h from drivers/staging/media/davinci_vpfe/ to
36  include/uapi/linux/dm365_ipipeif.h and a entry in Kbuild (required
37  for building application).
38