As requested by Sakari and Hans, I'm re-sending the entire 83 patch series that were already sent to the media ML.
NOTE: as agreed on IRC, after getting the ack for those patches, eventually adding newer fixups where needed, we should add this to the media-controller topic branch of our devel tree.
Before merging this on the "master" branch, we'll:
1) add a patch series that Sakari is working to allow not using the entity_id for the graph traversal;
2) add a patch converting MC next gen to use a single range, as agreed on IRC;
3) add a patch increasing the maximum number of objects, in order for the graph traversal to work with DVB drivers;
4) get ALSA maintainer's acks for the ALSA changes (on this series and on Shuah's series);
5) add Shuah ALSA patches.
I'll do the above work after getting the acks for the patches already sent.
Javier Martinez Canillas (13): [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 [media] omap3isp: separate links creation from entities init [media] omap3isp: create links after all subdevs have been bound [media] staging: omap4iss: separate links creation from entities init [media] v4l: vsp1: create pad links after subdev registration [media] v4l: vsp1: separate links creation from entities init [media] uvcvideo: create pad links after subdev registration [media] smiapp: create pad links after subdev registration [media] media-entity: init pads on entity init if was registered before media: don't try to empty links list in media_entity_cleanup()
Mauro Carvalho Chehab (70): [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 for V4L2 and DVB [media] media: add functions to allow creating interfaces [media] uapi/media.h: Declare interface types for ALSA [media] media: Don't accept early-created links [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] media-entity: add a helper function to create interface [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] media.h: don't use legacy entity macros at 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 [media] media-entity: unregister entity links [media] remove interface links at media_entity_unregister() [media] media-device: remove interfaces and interface links [media] au0828: unregister MC at the end [media] v4l2-core: create MC interfaces for devnodes [media] media-entity.h: document all the structs [media] tuner-core: add an input pad [media] au0828: add support for the connectors [media] au0828: Create connector links [media] media-device: supress backlinks at G_TOPOLOGY ioctl [media] media-controller: enable all interface links at init [media] media.h: create connector entities for hybrid TV devices [media] dvbdev: returns error if graph object creation fails [media] dvb core: must check dvb_create_media_graph() [media] media-entity: enforce check of interface and links creation [media] cx231xx: enforce check for graph creation [media] au0828:: enforce check for graph creation [media] media-entity: must check media_create_pad_link() [media] media-entity.h: rename entity.type to entity.function [media] media-device: export the entity function via new ioctl [media] uapi/media.h: Rename entities types to functions [media] DocBook: update entities documentation [media] dvbdev: move indirect links on dvr/demux to a separate function [media] dvbdev: Don't create indirect links [media] media_entity: remove gfp_flags argument [media] media-device: use unsigned ints on some places [media] media-entity.c: get rid of var length arrays
.../DocBook/media/v4l/media-ioc-enum-entities.xml | 67 +-- Documentation/media-framework.txt | 2 +- Documentation/video4linux/v4l2-framework.txt | 4 +- drivers/media/common/siano/smsdvb-main.c | 6 +- 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 | 392 +++++++++++++---- drivers/media/dvb-core/dvbdev.h | 17 +- drivers/media/dvb-frontends/au8522_decoder.c | 2 +- drivers/media/firewire/firedtv-ci.c | 2 +- drivers/media/i2c/adp1653.c | 2 +- drivers/media/i2c/adv7180.c | 2 +- drivers/media/i2c/as3645a.c | 2 +- drivers/media/i2c/cx25840/cx25840-core.c | 2 +- drivers/media/i2c/lm3560.c | 2 +- drivers/media/i2c/lm3646.c | 2 +- drivers/media/i2c/m5mols/m5mols_core.c | 2 +- drivers/media/i2c/noon010pc30.c | 2 +- drivers/media/i2c/ov2659.c | 2 +- drivers/media/i2c/ov9650.c | 2 +- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 8 +- drivers/media/i2c/s5k4ecgx.c | 2 +- drivers/media/i2c/s5k5baf.c | 8 +- drivers/media/i2c/s5k6aa.c | 2 +- drivers/media/i2c/smiapp/smiapp-core.c | 22 +- drivers/media/i2c/tvp514x.c | 2 +- drivers/media/i2c/tvp7002.c | 2 +- drivers/media/media-device.c | 272 ++++++++++-- drivers/media/media-entity.c | 478 +++++++++++++++++---- 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 | 202 +++++---- drivers/media/platform/omap3isp/ispccdc.c | 39 +- drivers/media/platform/omap3isp/ispccdc.h | 1 + drivers/media/platform/omap3isp/ispccp2.c | 35 +- drivers/media/platform/omap3isp/ispccp2.h | 1 + drivers/media/platform/omap3isp/ispcsi2.c | 33 +- drivers/media/platform/omap3isp/ispcsi2.h | 1 + drivers/media/platform/omap3isp/isppreview.c | 48 ++- drivers/media/platform/omap3isp/isppreview.h | 1 + drivers/media/platform/omap3isp/ispresizer.c | 46 +- drivers/media/platform/omap3isp/ispresizer.h | 1 + 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 | 34 +- drivers/media/platform/vsp1/vsp1_rpf.c | 29 +- drivers/media/platform/vsp1/vsp1_rwpf.h | 5 + drivers/media/platform/vsp1/vsp1_video.c | 15 +- drivers/media/platform/vsp1/vsp1_wpf.c | 40 +- drivers/media/platform/xilinx/xilinx-dma.c | 10 +- drivers/media/platform/xilinx/xilinx-vipp.c | 4 +- drivers/media/usb/au0828/au0828-core.c | 98 ++++- drivers/media/usb/au0828/au0828-dvb.c | 8 +- drivers/media/usb/au0828/au0828-video.c | 84 +++- drivers/media/usb/au0828/au0828.h | 3 +- drivers/media/usb/cx231xx/cx231xx-cards.c | 46 +- drivers/media/usb/cx231xx/cx231xx-dvb.c | 6 +- drivers/media/usb/cx231xx/cx231xx-video.c | 10 +- drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | 4 +- drivers/media/usb/dvb-usb/dvb-usb-dvb.c | 6 +- drivers/media/usb/uvc/uvc_entity.c | 25 +- drivers/media/v4l2-core/tuner-core.c | 10 +- drivers/media/v4l2-core/v4l2-dev.c | 112 ++++- drivers/media/v4l2-core/v4l2-device.c | 16 +- drivers/media/v4l2-core/v4l2-flash-led-class.c | 2 +- drivers/media/v4l2-core/v4l2-subdev.c | 8 +- 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 | 33 +- .../staging/media/davinci_vpfe/vpfe_mc_capture.c | 10 +- drivers/staging/media/davinci_vpfe/vpfe_video.c | 17 +- drivers/staging/media/omap4iss/iss.c | 123 ++++-- drivers/staging/media/omap4iss/iss_csi2.c | 46 +- drivers/staging/media/omap4iss/iss_csi2.h | 1 + drivers/staging/media/omap4iss/iss_ipipe.c | 9 +- drivers/staging/media/omap4iss/iss_ipipeif.c | 42 +- drivers/staging/media/omap4iss/iss_ipipeif.h | 1 + drivers/staging/media/omap4iss/iss_resizer.c | 40 +- drivers/staging/media/omap4iss/iss_resizer.h | 1 + drivers/staging/media/omap4iss/iss_video.c | 9 +- include/media/media-device.h | 34 +- include/media/media-entity.h | 322 ++++++++++++-- include/media/tuner.h | 8 + include/media/v4l2-dev.h | 1 + include/uapi/linux/media.h | 214 ++++++++- 99 files changed, 2535 insertions(+), 831 deletions(-)