• Mauro Carvalho Chehab's avatar
    [media] v4l2 core: enable all interface links at init · 13f6e888
    Mauro Carvalho Chehab authored
    Interface links are normally enabled, meaning that the interfaces are
    bound to the entities. So, any ioctl send to the interface are reflected
    at the entities managed by the interface.
    
    However, when a device is used, other interfaces for the same hardware
    could be decoupled from the entities linked to them, because the
    hardware may have some parts busy.
    
    That's for example, what happens when an hybrid TV device is in use.
    If it is streaming analog TV or capturing signals from S-Video/Composite
    connectors, typically the digital part of the hardware can't be used and
    vice-versa.
    
    This is generally due to some internal hardware or firmware limitation,
    that it is not easily mapped via data pipelines.
    
    What the Kernel drivers do internally is that they decouple the hardware
    from the interface. So, all changes, if allowed, are done only at some
    interface cache, but not physically changed at the hardware.
    
    The usage is similar to the usage of the MEDIA_LNK_FL_ENABLED on data
    links. So, let's use the same flag to indicate if either the interface
    to entity link is bound/enabled or not.
    Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
    13f6e888
v4l2-device.c 8.38 KB