linux/drivers/staging/media/davinci_vpfe/TODO
<<
>>
Prefs
   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- make it independent of arch-specific APIs (mach/mux.h).
  24
  25Building of uImage and Applications:
  26==================================
  27
  28As of now since the interface will undergo few changes all the include
  29files are present in staging itself, to build for dm365 follow below steps,
  30
  31- copy vpfe.h from drivers/staging/media/davinci_vpfe/ to
  32  include/media/davinci/ folder for building the uImage.
  33- copy davinci_vpfe_user.h from drivers/staging/media/davinci_vpfe/ to
  34  include/uapi/linux/davinci_vpfe.h, and add a entry in Kbuild (required
  35  for building application).
  36- copy dm365_ipipeif_user.h from drivers/staging/media/davinci_vpfe/ to
  37  include/uapi/linux/dm365_ipipeif.h and a entry in Kbuild (required
  38  for building application).
  39