The latest version of this patch series is at:
        
http://git.linuxtv.org/cgit.cgi/mchehab/experimental.git/log/?h=mc_next_gen

The latest version of the userspace tool to test it is at:
        
http://git.linuxtv.org/cgit.cgi/mchehab/experimental-v4l-utils.git/log/?h=mc-next-gen

The initial patches of this series are the same as the ones at the
        "[PATCH v6 0/8] MC preparation patches"
plus Javier patch series:
        "[PATCH 0/4] [media] Media entity cleanups and build fixes"
Addressing some of the concerns from Laurent:
        Javier media_entity_id() patches got reordered;
        all "elements" occurrences were replaced by "objects"

The patches of this part are:
        media: create a macro to get entity ID
        staging: omap4iss: get entity ID using media_entity_id()
        omap3isp: get entity ID using media_entity_id()
        media: add a common struct to be embed on media graph objects
        media: use media_gobj inside entities
        media: use media_gobj inside pads
        media: use media_gobj inside links
        media: add messages when media device gets (un)registered
        media: add a debug message to warn about gobj creation/removal
        media: rename the function that create pad links
        media: use entity.graph_obj.mdev instead of .parent
        media: remove media entity .parent field

The next set of patches add the interface types as defined by
Hans Verkuil "[RFC] Media Controller, the next generation" proposal:
        uapi/media.h: Declare interface types
        media: add functions to allow creating interfaces
        media: get rid of an unused code
        media: convert links from array to list
        media: make add link more generic
        media: make media_link more generic to handle interace links
        media: make link debug printk more generic
        media: add support to link interfaces and entities
        dvbdev: add support for interfaces
        media: add a linked list to track interfaces by mdev
        dvbdev: add support for indirect interface links

The next part in this series fix the API namespace, making them
to match what it was defined by Hans Verkuil's:
        "[RFC] Media Controller, the next generation"

It basically contains most of the changes that was done on my
RFC patch series:
        "[PATCH 00/18] Remove media controller entity subtypes and rename types"

And constitutes on the following patches:
        uapi/media.h: Fix entity namespace
        replace all occurrences of MEDIA_ENT_T_DEVNODE_V4L
        replace all occurrences of MEDIA_ENT_T_DEVNODE_DVB
        media: add macros to check if subdev or V4L2 DMA
        media: use macros to check for V4L2 subdev entities
        omap3/omap4/davinci: get rid of MEDIA_ENT_T_V4L2_SUBDEV abuse
        s5c73m3: fix subdev type
        s5k5baf: fix subdev type
        davinci_vbpe: stop MEDIA_ENT_T_V4L2_SUBDEV abuse
        omap4iss: stop MEDIA_ENT_T_V4L2_SUBDEV abuse
        v4l2-subdev: use MEDIA_ENT_T_UNKNOWN for new subdevs
        media controller: get rid of entity subtype on Kernel
        DocBook: update descriptions for the media controller entities
        dvb: modify core to implement interfaces/entities at MC new gen
        media: report if a pad is sink or source at debug msg

It is basically renaming stuff, plus some fixups for some driver
abuses of the legacy namespace.

Finally, the final series introduce the MEDIA_IOC_G_TOPOLOGY ioctl at
the media.h header, and do the needed changes at the drivers side
to implement support for it:
        uapi/media.h: Add MEDIA_IOC_G_TOPOLOGY ioctl
        media: Use a macro to interate between all interfaces
        media: move mdev list init to gobj
        media-device: add pads and links to media_device
        media_device: add a topology version field

The new API can be tested using the 3 patch series I made for
v4l-utils.

TODO:
        - Add interfaces for V4L2 capture and output;
        - Add interfaces for subdevs;
        - Remove lots of fields from media_entity that will
          become obsolete with the new API addition
          (major, minor, group_id, num_links, num_pads, num_backlinks)
        - Address dynamic support for entities/interfaces/links.
          I suspect that not much is needed here, but locks need to
          be checked.
        - Add dynamic support for PADs. This should be the harder
          pending item, I think.

Javier Martinez Canillas (4):
  [media] staging: omap4iss: get entity ID using media_entity_id()
  [media] omap3isp: get entity ID using media_entity_id()
  [media] media: use entity.graph_obj.mdev instead of .parent
  [media] media: remove media entity .parent field

Mauro Carvalho Chehab (40):
  [media] media: create a macro to get entity ID
  [media] media: add a common struct to be embed on media graph objects
  [media] media: use media_gobj inside entities
  [media] media: use media_gobj inside pads
  [media] media: use media_gobj inside links
  [media] media: add messages when media device gets (un)registered
  [media] media: add a debug message to warn about gobj creation/removal
  [media] media: rename the function that create pad links
  [media] uapi/media.h: Declare interface types
  [media] media: add functions to allow creating interfaces
  [media] media: get rid of an unused code
  [media] media: convert links from array to list
  [media] media: make add link more generic
  [media] media: make media_link more generic to handle interace links
  [media] media: make link debug printk more generic
  [media] media: add support to link interfaces and entities
  [media] dvbdev: add support for interfaces
  [media] media: add a linked list to track interfaces by mdev
  [media] dvbdev: add support for indirect interface links
  [media] uapi/media.h: Fix entity namespace
  [media] replace all occurrences of MEDIA_ENT_T_DEVNODE_V4L
  [media] replace all occurrences of MEDIA_ENT_T_DEVNODE_DVB
  [media] media: add macros to check if subdev or V4L2 DMA
  [media] media: use macros to check for V4L2 subdev entities
  [media] omap3/omap4/davinci: get rid of MEDIA_ENT_T_V4L2_SUBDEV abuse
  [media] s5c73m3: fix subdev type
  [media] s5k5baf: fix subdev type
  [media] davinci_vbpe: stop MEDIA_ENT_T_V4L2_SUBDEV abuse
  [media] omap4iss: stop MEDIA_ENT_T_V4L2_SUBDEV abuse
  [media] v4l2-subdev: use MEDIA_ENT_T_UNKNOWN for new subdevs
  [media] media controller: get rid of entity subtype on Kernel
  [media] DocBook: update descriptions for the media controller entities
  [media] dvb: modify core to implement interfaces/entities at MC new
    gen
  [media] media: report if a pad is sink or source at debug msg
  [media] uapi/media.h: Add MEDIA_IOC_G_TOPOLOGY ioctl
  [media] media: Use a macro to interate between all interfaces
  [media] media: move mdev list init to gobj
  [media] media-device: add pads and links to media_device
  [media] media_device: add a topology version field
  [media] media-device: add support for MEDIA_IOC_G_TOPOLOGY ioctl

 .../DocBook/media/v4l/media-ioc-enum-entities.xml  |  57 ++-
 Documentation/media-framework.txt                  |   2 +-
 drivers/media/dvb-core/dmxdev.c                    |   4 +-
 drivers/media/dvb-core/dvb_ca_en50221.c            |   2 +-
 drivers/media/dvb-core/dvb_frontend.c              |  11 +-
 drivers/media/dvb-core/dvb_net.c                   |   2 +-
 drivers/media/dvb-core/dvbdev.c                    | 274 ++++++++++---
 drivers/media/dvb-core/dvbdev.h                    |  10 +-
 drivers/media/firewire/firedtv-ci.c                |   2 +-
 drivers/media/i2c/s5c73m3/s5c73m3-core.c           |   8 +-
 drivers/media/i2c/s5k5baf.c                        |   4 +-
 drivers/media/i2c/smiapp/smiapp-core.c             |   4 +-
 drivers/media/media-device.c                       | 207 ++++++++--
 drivers/media/media-entity.c                       | 439 ++++++++++++++++-----
 drivers/media/pci/bt8xx/dst_ca.c                   |   3 +-
 drivers/media/pci/ddbridge/ddbridge-core.c         |   2 +-
 drivers/media/pci/ngene/ngene-core.c               |   2 +-
 drivers/media/pci/ttpci/av7110.c                   |   2 +-
 drivers/media/pci/ttpci/av7110_av.c                |   4 +-
 drivers/media/pci/ttpci/av7110_ca.c                |   2 +-
 drivers/media/platform/exynos4-is/common.c         |   3 +-
 drivers/media/platform/exynos4-is/fimc-capture.c   |   5 +-
 drivers/media/platform/exynos4-is/fimc-isp-video.c |   9 +-
 drivers/media/platform/exynos4-is/fimc-lite.c      |  18 +-
 drivers/media/platform/exynos4-is/media-dev.c      |  25 +-
 drivers/media/platform/exynos4-is/media-dev.h      |   8 +-
 drivers/media/platform/omap3isp/isp.c              |  43 +-
 drivers/media/platform/omap3isp/ispccdc.c          |  19 +-
 drivers/media/platform/omap3isp/ispccp2.c          |  15 +-
 drivers/media/platform/omap3isp/ispcsi2.c          |  13 +-
 drivers/media/platform/omap3isp/isppreview.c       |  19 +-
 drivers/media/platform/omap3isp/ispresizer.c       |  17 +-
 drivers/media/platform/omap3isp/ispvideo.c         |  17 +-
 drivers/media/platform/s3c-camif/camif-capture.c   |   2 +-
 drivers/media/platform/s3c-camif/camif-core.c      |   4 +-
 drivers/media/platform/vsp1/vsp1_drv.c             |   4 +-
 drivers/media/platform/vsp1/vsp1_rpf.c             |   2 +-
 drivers/media/platform/vsp1/vsp1_video.c           |  15 +-
 drivers/media/platform/vsp1/vsp1_wpf.c             |   2 +-
 drivers/media/platform/xilinx/xilinx-dma.c         |  10 +-
 drivers/media/platform/xilinx/xilinx-vipp.c        |   4 +-
 drivers/media/usb/au0828/au0828-core.c             |  14 +-
 drivers/media/usb/au0828/au0828-video.c            |   8 +-
 drivers/media/usb/cx231xx/cx231xx-cards.c          |   6 +-
 drivers/media/usb/cx231xx/cx231xx-video.c          |   8 +-
 drivers/media/usb/uvc/uvc_entity.c                 |   2 +-
 drivers/media/v4l2-core/v4l2-dev.c                 |   2 +-
 drivers/media/v4l2-core/v4l2-subdev.c              |   6 +-
 drivers/staging/media/davinci_vpfe/dm365_ipipe.c   |   9 +-
 drivers/staging/media/davinci_vpfe/dm365_ipipeif.c |  15 +-
 drivers/staging/media/davinci_vpfe/dm365_isif.c    |  15 +-
 drivers/staging/media/davinci_vpfe/dm365_resizer.c |  30 +-
 .../staging/media/davinci_vpfe/vpfe_mc_capture.c   |  10 +-
 drivers/staging/media/davinci_vpfe/vpfe_video.c    |  17 +-
 drivers/staging/media/omap4iss/iss.c               |  32 +-
 drivers/staging/media/omap4iss/iss_csi2.c          |  13 +-
 drivers/staging/media/omap4iss/iss_ipipe.c         |   7 +-
 drivers/staging/media/omap4iss/iss_ipipeif.c       |  15 +-
 drivers/staging/media/omap4iss/iss_resizer.c       |  13 +-
 drivers/staging/media/omap4iss/iss_video.c         |   9 +-
 include/media/media-device.h                       |  34 +-
 include/media/media-entity.h                       | 199 +++++++++-
 include/uapi/linux/media.h                         | 192 ++++++++-
 63 files changed, 1466 insertions(+), 485 deletions(-)

-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to