• Steve Longerbeam's avatar
    media: staging/imx: remove static media link arrays · 621b08ea
    Steve Longerbeam authored
    Remove the static list of media links that were formed at probe time.
    These links can instead be created after all registered async subdevices
    have been bound in imx_media_probe_complete().
    
    The media links between subdevices that exist in the device tree, can
    be created post-async completion by using v4l2_fwnode_parse_link() for
    each endpoint node of that subdevice. Note this approach assumes
    device-tree ports are equivalent to media pads (pad index equals
    port id), and that device-tree endpoints are equivalent to media
    links between pads.
    
    Because links are no longer parsed by imx_media_of_parse(), its sole
    function is now only to add subdevices that it encounters by walking
    the OF graph to the async list, so the function has been renamed
    imx_media_add_of_subdevs().
    
    Similarly, the media links between the IPU-internal subdevice pads (the
    CSI source pads, and all pads between the vdic, ic-prp, ic-prpenc, and
    ic-prpvf subdevices), can be created post-async completion by looping
    through the subdevice's media pads and using the const internal_subdev
    table.
    
    Because links are no longer parsed by imx_media_add_internal_subdevs(),
    this function no longer needs an array of CSI subdevs to form links
    from.
    
    In summary, the following functions, which were used to form a list
    of media links at probe time, are removed:
    
    imx_media_add_pad_link()
    add_internal_links()
    of_add_pad_link()
    
    replaced by these functions, called at probe time, which only populate
    the async subdev list:
    
    imx_media_add_of_subdevs()
    imx_media_add_internal_subdevs()
    
    and these functions, called at async completion, which create the
    media links:
    
    imx_media_create_of_links()
    imx_media_create_csi_of_links()
    imx_media_create_internal_links()
    Signed-off-by: default avatarSteve Longerbeam <steve_longerbeam@mentor.com>
    Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    621b08ea
imx-media-of.c 7.31 KB