{"push_id":2545564993,"size":13,"distinct_size":13,"ref":"refs/heads/imx-subdev-notifiers.6","head":"197ad8604dfeba1e4cf5597f2cdfc43899ee322b","before":"7c4766cf33df34b3e8c62894aed41498765c35b5","commits":[{"sha":"c551b52d407e121600b78306b25084814d46aa96","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: v4l2-fwnode: ignore endpoints that have no remote port parent\n\nDocumentation/devicetree/bindings/media/video-interfaces.txt states that\nthe 'remote-endpoint' property is optional.\n\nSo v4l2_async_notifier_fwnode_parse_endpoint() should not return error\nif the endpoint has no remote port parent. Just ignore the endpoint,\nskip adding an asd to the notifier and return 0.\n__v4l2_async_notifier_parse_fwnode_endpoints() will then continue\nparsing the remaining port endpoints of the device.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>\nAcked-by: Hans Verkuil <hans.verkuil@cisco.com>\n---\nChanges since v3:\n- none\nChanges since v2:\n- none\nChanges since v1:\n- don't pass an empty endpoint to the parse_endpoint callback,\n  v4l2_async_notifier_fwnode_parse_endpoint() now just ignores them\n  and returns success. The current users of\n  v4l2_async_notifier_parse_fwnode_endpoints() (omap3isp, rcar-vin,\n  intel-ipu3) no longer need modification.","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/c551b52d407e121600b78306b25084814d46aa96"},{"sha":"0d54d30b3767042d889e66b93d96f74ecf64a5f8","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: v4l2: async: Allow searching for asd of any type\n\nGeneralize v4l2_async_notifier_fwnode_has_async_subdev() to allow\nsearching for any type of async subdev, not just fwnodes. Rename to\nv4l2_async_notifier_has_async_subdev() and pass it an asd pointer.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>\n---\nChanges since v3:\n- removed TODO to support asd compare with CUSTOM match type in\n  asd_equal().\nChanges since v2:\n- code optimization in asd_equal(), and remove unneeded braces,\n  suggested by Sakari Ailus.\nChanges since v1:\n- none","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/0d54d30b3767042d889e66b93d96f74ecf64a5f8"},{"sha":"470e2ed345a6842aad1970c5db27f3b5f08569e7","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: v4l2: async: Add v4l2_async_notifier_add_*_subdev\n\nv4l2_async_notifier_add_*_subdev() family adds an asd to the notifier,\nof match type FWNODE, I2C, or DEVNAME. It checks that no other equivalent\nasd's have already been added to this notifier's asd list, or to other\nregistered notifier's waiting or done lists, and increments num_subdevs.\n\nv4l2_async_notifier_add_*_subdev() does not make use of the notifier subdevs\narray, otherwise it would have to re-allocate the array every time the\nfunction was called. In place of the subdevs array, the function adds\nthe newly allocated asd to a new master asd_list. The function will\nreturn error with a WARN() if it is ever called with the subdevs array\nallocated.\n\nIn v4l2_async_notifier_has_async_subdev(), __v4l2_async_notifier_register(),\nand v4l2_async_notifier_cleanup(), maintain backward compatibility with\nthe subdevs array, by alternatively operate on the subdevs array or a\nnon-empty notifier->asd_list.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>\n---\nChanges since v3:\n- add asd_struct_size as arg and allocate/copy/add new asd of that size\n  to asd_list. v4l2_async_notifier_add_subdev() is split into three\n  separate functions for fwnode, i2c, and devname match types.\nChanges since v2:\n- add a NULL asd pointer check to v4l2_async_notifier_asd_valid().\nChanges since v1:\n- none","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/470e2ed345a6842aad1970c5db27f3b5f08569e7"},{"sha":"5e671ea7a2e578de155b21e6cf4c6479be31ccbc","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: v4l2-fwnode: Switch to v4l2_async_notifier_add_fwnode_subdev\n\nThe fwnode endpoint and reference parsing functions in v4l2-fwnode.c\nare modified to make use of v4l2_async_notifier_add_fwnode_subdev().\nAs a result the notifier->subdevs array is no longer allocated or\nre-allocated, and by extension the max_subdevs value is also no\nlonger needed.\n\nSince the notifier->subdevs array is no longer allocated in the\nfwnode endpoint and reference parsing functions, the callers of\nthose functions must never reference that array, since it is now\nNULL. Of the drivers that make use of the fwnode/ref parsing,\nonly the intel-ipu3 driver references the ->subdevs[] array,\n(in the notifier completion callback), so that driver has been\nmodified to iterate through the notifier->asd_list instead.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/5e671ea7a2e578de155b21e6cf4c6479be31ccbc"},{"sha":"9798e01faa8d2cef55eea1515579476cf2f1ef10","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: v4l2-fwnode: Add a convenience function for registering subdevs with notifiers\n\nAdds v4l2_async_register_fwnode_subdev(), which is a convenience function\nfor parsing a sub-device's fwnode port endpoints for connected remote\nsub-devices, registering a sub-device notifier, and then registering\nthe sub-device itself.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>\n---\nChanges since v3:\n- remove support for port sub-devices, such sub-devices will have to\n  role their own.\nChanges since v2:\n- fix error-out path in v4l2_async_register_fwnode_subdev() that forgot\n  to put device.\nChanges since v1:\n- add #include <media/v4l2-subdev.h> to v4l2-fwnode.h for\n  'struct v4l2_subdev' declaration.","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/9798e01faa8d2cef55eea1515579476cf2f1ef10"},{"sha":"f1eea77ec8f20029f395772ba0d187018c742856","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: platform: video-mux: Register a subdev notifier\n\nParse neighbor remote devices on the video muxes input ports, add them to a\nsubdev notifier, and register the subdev notifier for the video mux, by\ncalling v4l2_async_register_fwnode_subdev().\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>\n---\nChanges since v3:\n- pass num_pads - 1 (num_input_pads) to video_mux_async_register().\nChanges since v2:\n- none\nChanges since v1:\n- add #include <linux/slab.h> for kcalloc() declaration.","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/f1eea77ec8f20029f395772ba0d187018c742856"},{"sha":"4d215afb2702c9620897ddc41f506d17b84c0a0a","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: imx: csi: Register a subdev notifier\n\nParse neighbor remote devices on the CSI port, and add them to a subdev\nnotifier, by calling v4l2_async_notifier_parse_fwnode_endpoints_by_port()\nusing the CSI's port id. And register the subdev notifier for the CSI.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>\n---\nChanges since v3:\n- v4l2_async_register_fwnode_subdev() no longer supports parsing\n  port sub-devices, so call\n  v4l2_async_notifier_parse_fwnode_endpoints_by_port() directly.","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/4d215afb2702c9620897ddc41f506d17b84c0a0a"},{"sha":"ba70ed587617ebc8b5a21cc4d9e0bd3aaf3e8cb9","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: imx: mipi csi-2: Register a subdev notifier\n\nParse neighbor remote devices on the MIPI CSI-2 input port, add\nthem to a subdev notifier, and register the subdev notifier for the\nMIPI CSI-2 receiver, by calling v4l2_async_register_fwnode_subdev().\n\ncsi2_parse_endpoints() is modified to be the parse_endpoint callback.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/ba70ed587617ebc8b5a21cc4d9e0bd3aaf3e8cb9"},{"sha":"e9561699fbcd4dc9bb0097b2c11a7d2268d8c18c","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: staging/imx: of: Remove recursive graph walk\n\nAfter moving to subdev notifiers, it's no longer necessary to recursively\nwalk the OF graph, because the subdev notifiers will discover and add\ndevices from the graph for us.\n\nSo the recursive of_parse_subdev() function is gone, replaced with\nof_add_csi() which adds only the CSI port fwnodes to the imx-media\nroot notifier.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/e9561699fbcd4dc9bb0097b2c11a7d2268d8c18c"},{"sha":"2f9b918affe3802ae58a1069104a8772b114a28a","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: staging/imx: Loop through all registered subdevs for media links\n\nThe root imx-media notifier no longer sees all bound subdevices because\nsome of them will be bound to subdev notifiers. So imx_media_create_links()\nnow needs to loop through all subdevices registered with the v4l2-device,\nnot just the ones in the root notifier's done list. This should be safe\nbecause imx_media_create_of_links() checks if a fwnode link already\nexists before creating.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/2f9b918affe3802ae58a1069104a8772b114a28a"},{"sha":"405739ab58e5cd9af2e8fdb7da354c095f5a73c9","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: staging/imx: Rename root notifier\n\nRename the imx-media root async notifier from \"subdev_notifier\" to\nsimply \"notifier\", so as not to confuse it with true subdev notifiers.\nNo functional changes.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/405739ab58e5cd9af2e8fdb7da354c095f5a73c9"},{"sha":"896523162213d1886f501991676513d14b300814","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: staging/imx: Switch to v4l2_async_notifier_add_*_subdev\n\nSwitch to v4l2_async_notifier_add_*_subdev() when adding async subdevs\nto the imx-media root notifier. This removes the need to check for\nan already added asd, since v4l2_async_notifier_add_*_subdev() does this\ncheck. Also no need to allocate a subdevs array when registering the\nroot notifier, or keeping an internal master asd_list, since this is\nmoved to the notifier's asd_list.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/896523162213d1886f501991676513d14b300814"},{"sha":"197ad8604dfeba1e4cf5597f2cdfc43899ee322b","author":{"name":"Steve Longerbeam","email":"8c188e05ba274fa98ae533cac185ab207938eb34@mentor.com"},"message":"media: staging/imx: TODO: Remove one assumption about OF graph parsing\n\nThe move to subdev notifiers fixes one assumption of OF graph parsing.\nIf a subdevice has non-video related ports, the subdev driver knows not\nto follow those ports when adding remote devices to its subdev notifier.\n\nSigned-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>","distinct":true,"url":"https://api.github.com/repos/slongerbeam/mediatree/commits/197ad8604dfeba1e4cf5597f2cdfc43899ee322b"}]}
{"actor":{"display_login":"slongerbeam"}}