Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: v4l: async: Rename async nf functions, clean up long lines

Rename V4L2 async notifier functions, replacing "notifier" with "nf" and
removing "_subdev" at the end of the function names adding subdevs as you
can only add subdevs to a notifier. Also wrap and otherwise clean up long
lines.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com> (imx7)
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

authored by

Sakari Ailus and committed by
Mauro Carvalho Chehab
3c8c1539 406bb586

+479 -499
+7 -7
Documentation/driver-api/media/v4l2-subdev.rst
··· 191 191 picked up by bridge drivers. 192 192 193 193 Bridge drivers in turn have to register a notifier object. This is 194 - performed using the :c:func:`v4l2_async_notifier_register` call. To 194 + performed using the :c:func:`v4l2_async_nf_register` call. To 195 195 unregister the notifier the driver has to call 196 - :c:func:`v4l2_async_notifier_unregister`. The former of the two functions 196 + :c:func:`v4l2_async_nf_unregister`. The former of the two functions 197 197 takes two arguments: a pointer to struct :c:type:`v4l2_device` and a 198 198 pointer to struct :c:type:`v4l2_async_notifier`. 199 199 200 200 Before registering the notifier, bridge drivers must do two things: first, the 201 - notifier must be initialized using the :c:func:`v4l2_async_notifier_init`. 201 + notifier must be initialized using the :c:func:`v4l2_async_nf_init`. 202 202 Second, bridge drivers can then begin to form a list of subdevice descriptors 203 203 that the bridge device needs for its operation. Several functions are available 204 204 to add subdevice descriptors to a notifier, depending on the type of device and 205 205 the needs of the driver. 206 206 207 - :c:func:`v4l2_async_notifier_add_fwnode_remote_subdev` and 208 - :c:func:`v4l2_async_notifier_add_i2c_subdev` are for bridge and ISP drivers for 207 + :c:func:`v4l2_async_nf_add_fwnode_remote` and 208 + :c:func:`v4l2_async_nf_add_i2c` are for bridge and ISP drivers for 209 209 registering their async sub-devices with the notifier. 210 210 211 211 :c:func:`v4l2_async_register_subdev_sensor` is a helper function for ··· 230 230 231 231 ... 232 232 233 - my_asd = v4l2_async_notifier_add_fwnode_remote_subdev(&notifier, ep, 234 - struct my_async_subdev); 233 + my_asd = v4l2_async_nf_add_fwnode_remote(&notifier, ep, 234 + struct my_async_subdev); 235 235 fwnode_handle_put(ep); 236 236 237 237 if (IS_ERR(asd))
+8 -9
drivers/media/i2c/max9286.c
··· 606 606 if (!priv->nsources) 607 607 return 0; 608 608 609 - v4l2_async_notifier_init(&priv->notifier); 609 + v4l2_async_nf_init(&priv->notifier); 610 610 611 611 for_each_source(priv, source) { 612 612 unsigned int i = to_index(priv, source); 613 613 struct max9286_asd *mas; 614 614 615 - mas = v4l2_async_notifier_add_fwnode_subdev(&priv->notifier, 616 - source->fwnode, 617 - struct max9286_asd); 615 + mas = v4l2_async_nf_add_fwnode(&priv->notifier, source->fwnode, 616 + struct max9286_asd); 618 617 if (IS_ERR(mas)) { 619 618 dev_err(dev, "Failed to add subdev for source %u: %ld", 620 619 i, PTR_ERR(mas)); 621 - v4l2_async_notifier_cleanup(&priv->notifier); 620 + v4l2_async_nf_cleanup(&priv->notifier); 622 621 return PTR_ERR(mas); 623 622 } 624 623 ··· 626 627 627 628 priv->notifier.ops = &max9286_notify_ops; 628 629 629 - ret = v4l2_async_subdev_notifier_register(&priv->sd, &priv->notifier); 630 + ret = v4l2_async_subdev_nf_register(&priv->sd, &priv->notifier); 630 631 if (ret) { 631 632 dev_err(dev, "Failed to register subdev_notifier"); 632 - v4l2_async_notifier_cleanup(&priv->notifier); 633 + v4l2_async_nf_cleanup(&priv->notifier); 633 634 return ret; 634 635 } 635 636 ··· 641 642 if (!priv->nsources) 642 643 return; 643 644 644 - v4l2_async_notifier_unregister(&priv->notifier); 645 - v4l2_async_notifier_cleanup(&priv->notifier); 645 + v4l2_async_nf_unregister(&priv->notifier); 646 + v4l2_async_nf_cleanup(&priv->notifier); 646 647 } 647 648 648 649 static int max9286_s_stream(struct v4l2_subdev *sd, int enable)
+10 -12
drivers/media/i2c/st-mipid02.c
··· 876 876 bridge->rx = ep; 877 877 878 878 /* register async notifier so we get noticed when sensor is connected */ 879 - v4l2_async_notifier_init(&bridge->notifier); 880 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 881 - &bridge->notifier, 882 - of_fwnode_handle(ep_node), 883 - struct v4l2_async_subdev); 879 + v4l2_async_nf_init(&bridge->notifier); 880 + asd = v4l2_async_nf_add_fwnode_remote(&bridge->notifier, 881 + of_fwnode_handle(ep_node), 882 + struct v4l2_async_subdev); 884 883 of_node_put(ep_node); 885 884 886 885 if (IS_ERR(asd)) { ··· 889 890 } 890 891 bridge->notifier.ops = &mipid02_notifier_ops; 891 892 892 - ret = v4l2_async_subdev_notifier_register(&bridge->sd, 893 - &bridge->notifier); 893 + ret = v4l2_async_subdev_nf_register(&bridge->sd, &bridge->notifier); 894 894 if (ret) 895 - v4l2_async_notifier_cleanup(&bridge->notifier); 895 + v4l2_async_nf_cleanup(&bridge->notifier); 896 896 897 897 return ret; 898 898 ··· 1029 1031 return 0; 1030 1032 1031 1033 unregister_notifier: 1032 - v4l2_async_notifier_unregister(&bridge->notifier); 1033 - v4l2_async_notifier_cleanup(&bridge->notifier); 1034 + v4l2_async_nf_unregister(&bridge->notifier); 1035 + v4l2_async_nf_cleanup(&bridge->notifier); 1034 1036 power_off: 1035 1037 mipid02_set_power_off(bridge); 1036 1038 entity_cleanup: ··· 1046 1048 struct v4l2_subdev *sd = i2c_get_clientdata(client); 1047 1049 struct mipid02_dev *bridge = to_mipid02_dev(sd); 1048 1050 1049 - v4l2_async_notifier_unregister(&bridge->notifier); 1050 - v4l2_async_notifier_cleanup(&bridge->notifier); 1051 + v4l2_async_nf_unregister(&bridge->notifier); 1052 + v4l2_async_nf_cleanup(&bridge->notifier); 1051 1053 v4l2_async_unregister_subdev(&bridge->sd); 1052 1054 mipid02_set_power_off(bridge); 1053 1055 media_entity_cleanup(&bridge->sd.entity);
+9 -8
drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
··· 1478 1478 if (ret) 1479 1479 goto err_parse; 1480 1480 1481 - s_asd = v4l2_async_notifier_add_fwnode_remote_subdev( 1482 - &cio2->notifier, ep, struct sensor_async_subdev); 1481 + s_asd = v4l2_async_nf_add_fwnode_remote(&cio2->notifier, ep, 1482 + struct 1483 + sensor_async_subdev); 1483 1484 if (IS_ERR(s_asd)) { 1484 1485 ret = PTR_ERR(s_asd); 1485 1486 goto err_parse; ··· 1503 1502 * suspend. 1504 1503 */ 1505 1504 cio2->notifier.ops = &cio2_async_ops; 1506 - ret = v4l2_async_notifier_register(&cio2->v4l2_dev, &cio2->notifier); 1505 + ret = v4l2_async_nf_register(&cio2->v4l2_dev, &cio2->notifier); 1507 1506 if (ret) 1508 1507 dev_err(&cio2->pci_dev->dev, 1509 1508 "failed to register async notifier : %d\n", ret); ··· 1805 1804 if (r) 1806 1805 goto fail_v4l2_device_unregister; 1807 1806 1808 - v4l2_async_notifier_init(&cio2->notifier); 1807 + v4l2_async_nf_init(&cio2->notifier); 1809 1808 1810 1809 /* Register notifier for subdevices we care */ 1811 1810 r = cio2_parse_firmware(cio2); ··· 1825 1824 return 0; 1826 1825 1827 1826 fail_clean_notifier: 1828 - v4l2_async_notifier_unregister(&cio2->notifier); 1829 - v4l2_async_notifier_cleanup(&cio2->notifier); 1827 + v4l2_async_nf_unregister(&cio2->notifier); 1828 + v4l2_async_nf_cleanup(&cio2->notifier); 1830 1829 cio2_queues_exit(cio2); 1831 1830 fail_v4l2_device_unregister: 1832 1831 v4l2_device_unregister(&cio2->v4l2_dev); ··· 1845 1844 struct cio2_device *cio2 = pci_get_drvdata(pci_dev); 1846 1845 1847 1846 media_device_unregister(&cio2->media_dev); 1848 - v4l2_async_notifier_unregister(&cio2->notifier); 1849 - v4l2_async_notifier_cleanup(&cio2->notifier); 1847 + v4l2_async_nf_unregister(&cio2->notifier); 1848 + v4l2_async_nf_cleanup(&cio2->notifier); 1850 1849 cio2_queues_exit(cio2); 1851 1850 cio2_fbpt_exit_dummy(cio2); 1852 1851 v4l2_device_unregister(&cio2->v4l2_dev);
+10 -9
drivers/media/platform/am437x/am437x-vpfe.c
··· 2297 2297 2298 2298 dev_dbg(dev, "vpfe_get_pdata\n"); 2299 2299 2300 - v4l2_async_notifier_init(&vpfe->notifier); 2300 + v4l2_async_nf_init(&vpfe->notifier); 2301 2301 2302 2302 if (!IS_ENABLED(CONFIG_OF) || !dev->of_node) 2303 2303 return dev->platform_data; ··· 2365 2365 goto cleanup; 2366 2366 } 2367 2367 2368 - pdata->asd[i] = v4l2_async_notifier_add_fwnode_subdev( 2369 - &vpfe->notifier, of_fwnode_handle(rem), 2370 - struct v4l2_async_subdev); 2368 + pdata->asd[i] = v4l2_async_nf_add_fwnode(&vpfe->notifier, 2369 + of_fwnode_handle(rem), 2370 + struct 2371 + v4l2_async_subdev); 2371 2372 of_node_put(rem); 2372 2373 if (IS_ERR(pdata->asd[i])) 2373 2374 goto cleanup; ··· 2378 2377 return pdata; 2379 2378 2380 2379 cleanup: 2381 - v4l2_async_notifier_cleanup(&vpfe->notifier); 2380 + v4l2_async_nf_cleanup(&vpfe->notifier); 2382 2381 of_node_put(endpoint); 2383 2382 return NULL; 2384 2383 } ··· 2466 2465 } 2467 2466 2468 2467 vpfe->notifier.ops = &vpfe_async_ops; 2469 - ret = v4l2_async_notifier_register(&vpfe->v4l2_dev, &vpfe->notifier); 2468 + ret = v4l2_async_nf_register(&vpfe->v4l2_dev, &vpfe->notifier); 2470 2469 if (ret) { 2471 2470 vpfe_err(vpfe, "Error registering async notifier\n"); 2472 2471 ret = -EINVAL; ··· 2478 2477 probe_out_v4l2_unregister: 2479 2478 v4l2_device_unregister(&vpfe->v4l2_dev); 2480 2479 probe_out_cleanup: 2481 - v4l2_async_notifier_cleanup(&vpfe->notifier); 2480 + v4l2_async_nf_cleanup(&vpfe->notifier); 2482 2481 return ret; 2483 2482 } 2484 2483 ··· 2491 2490 2492 2491 pm_runtime_disable(&pdev->dev); 2493 2492 2494 - v4l2_async_notifier_unregister(&vpfe->notifier); 2495 - v4l2_async_notifier_cleanup(&vpfe->notifier); 2493 + v4l2_async_nf_unregister(&vpfe->notifier); 2494 + v4l2_async_nf_cleanup(&vpfe->notifier); 2496 2495 v4l2_device_unregister(&vpfe->v4l2_dev); 2497 2496 video_unregister_device(&vpfe->video_dev); 2498 2497
+2 -2
drivers/media/platform/atmel/atmel-isc-base.c
··· 2222 2222 struct isc_subdev_entity *subdev_entity; 2223 2223 2224 2224 list_for_each_entry(subdev_entity, &isc->subdev_entities, list) { 2225 - v4l2_async_notifier_unregister(&subdev_entity->notifier); 2226 - v4l2_async_notifier_cleanup(&subdev_entity->notifier); 2225 + v4l2_async_nf_unregister(&subdev_entity->notifier); 2226 + v4l2_async_nf_cleanup(&subdev_entity->notifier); 2227 2227 } 2228 2228 2229 2229 INIT_LIST_HEAD(&isc->subdev_entities);
+8 -9
drivers/media/platform/atmel/atmel-isi.c
··· 1159 1159 if (!ep) 1160 1160 return -EINVAL; 1161 1161 1162 - v4l2_async_notifier_init(&isi->notifier); 1162 + v4l2_async_nf_init(&isi->notifier); 1163 1163 1164 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 1165 - &isi->notifier, 1166 - of_fwnode_handle(ep), 1167 - struct v4l2_async_subdev); 1164 + asd = v4l2_async_nf_add_fwnode_remote(&isi->notifier, 1165 + of_fwnode_handle(ep), 1166 + struct v4l2_async_subdev); 1168 1167 of_node_put(ep); 1169 1168 1170 1169 if (IS_ERR(asd)) ··· 1171 1172 1172 1173 isi->notifier.ops = &isi_graph_notify_ops; 1173 1174 1174 - ret = v4l2_async_notifier_register(&isi->v4l2_dev, &isi->notifier); 1175 + ret = v4l2_async_nf_register(&isi->v4l2_dev, &isi->notifier); 1175 1176 if (ret < 0) { 1176 1177 dev_err(isi->dev, "Notifier registration failed\n"); 1177 - v4l2_async_notifier_cleanup(&isi->notifier); 1178 + v4l2_async_nf_cleanup(&isi->notifier); 1178 1179 return ret; 1179 1180 } 1180 1181 ··· 1326 1327 isi->p_fb_descriptors, 1327 1328 isi->fb_descriptors_phys); 1328 1329 pm_runtime_disable(&pdev->dev); 1329 - v4l2_async_notifier_unregister(&isi->notifier); 1330 - v4l2_async_notifier_cleanup(&isi->notifier); 1330 + v4l2_async_nf_unregister(&isi->notifier); 1331 + v4l2_async_nf_cleanup(&isi->notifier); 1331 1332 v4l2_device_unregister(&isi->v4l2_dev); 1332 1333 1333 1334 return 0;
+8 -7
drivers/media/platform/atmel/atmel-sama5d2-isc.c
··· 512 512 513 513 list_for_each_entry(subdev_entity, &isc->subdev_entities, list) { 514 514 struct v4l2_async_subdev *asd; 515 + struct fwnode_handle *fwnode = 516 + of_fwnode_handle(subdev_entity->epn); 515 517 516 - v4l2_async_notifier_init(&subdev_entity->notifier); 518 + v4l2_async_nf_init(&subdev_entity->notifier); 517 519 518 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 519 - &subdev_entity->notifier, 520 - of_fwnode_handle(subdev_entity->epn), 521 - struct v4l2_async_subdev); 520 + asd = v4l2_async_nf_add_fwnode_remote(&subdev_entity->notifier, 521 + fwnode, 522 + struct v4l2_async_subdev); 522 523 523 524 of_node_put(subdev_entity->epn); 524 525 subdev_entity->epn = NULL; ··· 531 530 532 531 subdev_entity->notifier.ops = &isc_async_ops; 533 532 534 - ret = v4l2_async_notifier_register(&isc->v4l2_dev, 535 - &subdev_entity->notifier); 533 + ret = v4l2_async_nf_register(&isc->v4l2_dev, 534 + &subdev_entity->notifier); 536 535 if (ret) { 537 536 dev_err(dev, "fail to register async notifier\n"); 538 537 goto cleanup_subdev;
+8 -7
drivers/media/platform/atmel/atmel-sama7g5-isc.c
··· 505 505 506 506 list_for_each_entry(subdev_entity, &isc->subdev_entities, list) { 507 507 struct v4l2_async_subdev *asd; 508 + struct fwnode_handle *fwnode = 509 + of_fwnode_handle(subdev_entity->epn); 508 510 509 - v4l2_async_notifier_init(&subdev_entity->notifier); 511 + v4l2_async_nf_init(&subdev_entity->notifier); 510 512 511 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 512 - &subdev_entity->notifier, 513 - of_fwnode_handle(subdev_entity->epn), 514 - struct v4l2_async_subdev); 513 + asd = v4l2_async_nf_add_fwnode_remote(&subdev_entity->notifier, 514 + fwnode, 515 + struct v4l2_async_subdev); 515 516 516 517 of_node_put(subdev_entity->epn); 517 518 subdev_entity->epn = NULL; ··· 524 523 525 524 subdev_entity->notifier.ops = &isc_async_ops; 526 525 527 - ret = v4l2_async_notifier_register(&isc->v4l2_dev, 528 - &subdev_entity->notifier); 526 + ret = v4l2_async_nf_register(&isc->v4l2_dev, 527 + &subdev_entity->notifier); 529 528 if (ret) { 530 529 dev_err(dev, "fail to register async notifier\n"); 531 530 goto cleanup_subdev;
+6 -8
drivers/media/platform/cadence/cdns-csi2rx.c
··· 401 401 return -EINVAL; 402 402 } 403 403 404 - v4l2_async_notifier_init(&csi2rx->notifier); 404 + v4l2_async_nf_init(&csi2rx->notifier); 405 405 406 - asd = v4l2_async_notifier_add_fwnode_remote_subdev(&csi2rx->notifier, 407 - fwh, 408 - struct v4l2_async_subdev); 406 + asd = v4l2_async_nf_add_fwnode_remote(&csi2rx->notifier, fwh, 407 + struct v4l2_async_subdev); 409 408 of_node_put(ep); 410 409 if (IS_ERR(asd)) 411 410 return PTR_ERR(asd); 412 411 413 412 csi2rx->notifier.ops = &csi2rx_notifier_ops; 414 413 415 - ret = v4l2_async_subdev_notifier_register(&csi2rx->subdev, 416 - &csi2rx->notifier); 414 + ret = v4l2_async_subdev_nf_register(&csi2rx->subdev, &csi2rx->notifier); 417 415 if (ret) 418 - v4l2_async_notifier_cleanup(&csi2rx->notifier); 416 + v4l2_async_nf_cleanup(&csi2rx->notifier); 419 417 420 418 return ret; 421 419 } ··· 469 471 return 0; 470 472 471 473 err_cleanup: 472 - v4l2_async_notifier_cleanup(&csi2rx->notifier); 474 + v4l2_async_nf_cleanup(&csi2rx->notifier); 473 475 err_free_priv: 474 476 kfree(csi2rx); 475 477 return ret;
+11 -10
drivers/media/platform/davinci/vpif_capture.c
··· 1506 1506 struct vpif_capture_chan_config *chan; 1507 1507 unsigned int i; 1508 1508 1509 - v4l2_async_notifier_init(&vpif_obj.notifier); 1509 + v4l2_async_nf_init(&vpif_obj.notifier); 1510 1510 1511 1511 /* 1512 1512 * DT boot: OF node from parent device contains ··· 1582 1582 dev_dbg(&pdev->dev, "Remote device %pOF found\n", rem); 1583 1583 sdinfo->name = rem->full_name; 1584 1584 1585 - pdata->asd[i] = v4l2_async_notifier_add_fwnode_subdev( 1586 - &vpif_obj.notifier, of_fwnode_handle(rem), 1587 - struct v4l2_async_subdev); 1585 + pdata->asd[i] = v4l2_async_nf_add_fwnode(&vpif_obj.notifier, 1586 + of_fwnode_handle(rem), 1587 + struct 1588 + v4l2_async_subdev); 1588 1589 if (IS_ERR(pdata->asd[i])) 1589 1590 goto err_cleanup; 1590 1591 ··· 1603 1602 err_cleanup: 1604 1603 of_node_put(rem); 1605 1604 of_node_put(endpoint); 1606 - v4l2_async_notifier_cleanup(&vpif_obj.notifier); 1605 + v4l2_async_nf_cleanup(&vpif_obj.notifier); 1607 1606 1608 1607 return NULL; 1609 1608 } ··· 1693 1692 goto probe_subdev_out; 1694 1693 } else { 1695 1694 vpif_obj.notifier.ops = &vpif_async_ops; 1696 - err = v4l2_async_notifier_register(&vpif_obj.v4l2_dev, 1697 - &vpif_obj.notifier); 1695 + err = v4l2_async_nf_register(&vpif_obj.v4l2_dev, 1696 + &vpif_obj.notifier); 1698 1697 if (err) { 1699 1698 vpif_err("Error registering async notifier\n"); 1700 1699 err = -EINVAL; ··· 1712 1711 vpif_free: 1713 1712 free_vpif_objs(); 1714 1713 cleanup: 1715 - v4l2_async_notifier_cleanup(&vpif_obj.notifier); 1714 + v4l2_async_nf_cleanup(&vpif_obj.notifier); 1716 1715 1717 1716 return err; 1718 1717 } ··· 1728 1727 struct channel_obj *ch; 1729 1728 int i; 1730 1729 1731 - v4l2_async_notifier_unregister(&vpif_obj.notifier); 1732 - v4l2_async_notifier_cleanup(&vpif_obj.notifier); 1730 + v4l2_async_nf_unregister(&vpif_obj.notifier); 1731 + v4l2_async_nf_cleanup(&vpif_obj.notifier); 1733 1732 v4l2_device_unregister(&vpif_obj.v4l2_dev); 1734 1733 1735 1734 kfree(vpif_obj.sd);
+10 -10
drivers/media/platform/exynos4-is/media-dev.c
··· 464 464 return -EINVAL; 465 465 } 466 466 467 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 468 - &fmd->subdev_notifier, of_fwnode_handle(ep), 469 - struct v4l2_async_subdev); 467 + asd = v4l2_async_nf_add_fwnode_remote(&fmd->subdev_notifier, 468 + of_fwnode_handle(ep), 469 + struct v4l2_async_subdev); 470 470 471 471 of_node_put(ep); 472 472 ··· 557 557 558 558 cleanup: 559 559 of_node_put(ports); 560 - v4l2_async_notifier_cleanup(&fmd->subdev_notifier); 560 + v4l2_async_nf_cleanup(&fmd->subdev_notifier); 561 561 pm_runtime_put(fmd->pmf); 562 562 return ret; 563 563 } ··· 1481 1481 1482 1482 platform_set_drvdata(pdev, fmd); 1483 1483 1484 - v4l2_async_notifier_init(&fmd->subdev_notifier); 1484 + v4l2_async_nf_init(&fmd->subdev_notifier); 1485 1485 1486 1486 ret = fimc_md_register_platform_entities(fmd, dev->of_node); 1487 1487 if (ret) ··· 1509 1509 fmd->subdev_notifier.ops = &subdev_notifier_ops; 1510 1510 fmd->num_sensors = 0; 1511 1511 1512 - ret = v4l2_async_notifier_register(&fmd->v4l2_dev, 1513 - &fmd->subdev_notifier); 1512 + ret = v4l2_async_nf_register(&fmd->v4l2_dev, 1513 + &fmd->subdev_notifier); 1514 1514 if (ret) 1515 1515 goto err_clk_p; 1516 1516 } ··· 1522 1522 err_attr: 1523 1523 device_remove_file(&pdev->dev, &dev_attr_subdev_conf_mode); 1524 1524 err_cleanup: 1525 - v4l2_async_notifier_cleanup(&fmd->subdev_notifier); 1525 + v4l2_async_nf_cleanup(&fmd->subdev_notifier); 1526 1526 err_m_ent: 1527 1527 fimc_md_unregister_entities(fmd); 1528 1528 err_clk: ··· 1542 1542 return 0; 1543 1543 1544 1544 fimc_md_unregister_clk_provider(fmd); 1545 - v4l2_async_notifier_unregister(&fmd->subdev_notifier); 1546 - v4l2_async_notifier_cleanup(&fmd->subdev_notifier); 1545 + v4l2_async_nf_unregister(&fmd->subdev_notifier); 1546 + v4l2_async_nf_cleanup(&fmd->subdev_notifier); 1547 1547 1548 1548 v4l2_device_unregister(&fmd->v4l2_dev); 1549 1549 device_remove_file(&pdev->dev, &dev_attr_subdev_conf_mode);
+4 -5
drivers/media/platform/marvell-ccic/cafe-driver.c
··· 544 544 if (ret) 545 545 goto out_pdown; 546 546 547 - v4l2_async_notifier_init(&mcam->notifier); 547 + v4l2_async_nf_init(&mcam->notifier); 548 548 549 - asd = v4l2_async_notifier_add_i2c_subdev(&mcam->notifier, 550 - i2c_adapter_id(cam->i2c_adapter), 551 - ov7670_info.addr, 552 - struct v4l2_async_subdev); 549 + asd = v4l2_async_nf_add_i2c(&mcam->notifier, 550 + i2c_adapter_id(cam->i2c_adapter), 551 + ov7670_info.addr, struct v4l2_async_subdev); 553 552 if (IS_ERR(asd)) { 554 553 ret = PTR_ERR(asd); 555 554 goto out_smbus_shutdown;
+5 -5
drivers/media/platform/marvell-ccic/mcam-core.c
··· 1877 1877 cam->mbus_code = mcam_def_mbus_code; 1878 1878 1879 1879 cam->notifier.ops = &mccic_notify_ops; 1880 - ret = v4l2_async_notifier_register(&cam->v4l2_dev, &cam->notifier); 1880 + ret = v4l2_async_nf_register(&cam->v4l2_dev, &cam->notifier); 1881 1881 if (ret < 0) { 1882 1882 cam_warn(cam, "failed to register a sensor notifier"); 1883 1883 goto out; ··· 1914 1914 return 0; 1915 1915 1916 1916 out: 1917 - v4l2_async_notifier_unregister(&cam->notifier); 1917 + v4l2_async_nf_unregister(&cam->notifier); 1918 1918 v4l2_device_unregister(&cam->v4l2_dev); 1919 - v4l2_async_notifier_cleanup(&cam->notifier); 1919 + v4l2_async_nf_cleanup(&cam->notifier); 1920 1920 return ret; 1921 1921 } 1922 1922 EXPORT_SYMBOL_GPL(mccic_register); ··· 1936 1936 if (cam->buffer_mode == B_vmalloc) 1937 1937 mcam_free_dma_bufs(cam); 1938 1938 v4l2_ctrl_handler_free(&cam->ctrl_handler); 1939 - v4l2_async_notifier_unregister(&cam->notifier); 1939 + v4l2_async_nf_unregister(&cam->notifier); 1940 1940 v4l2_device_unregister(&cam->v4l2_dev); 1941 - v4l2_async_notifier_cleanup(&cam->notifier); 1941 + v4l2_async_nf_cleanup(&cam->notifier); 1942 1942 } 1943 1943 EXPORT_SYMBOL_GPL(mccic_shutdown); 1944 1944
+3 -3
drivers/media/platform/marvell-ccic/mmp-driver.c
··· 239 239 if (!ep) 240 240 return -ENODEV; 241 241 242 - v4l2_async_notifier_init(&mcam->notifier); 242 + v4l2_async_nf_init(&mcam->notifier); 243 243 244 - asd = v4l2_async_notifier_add_fwnode_remote_subdev(&mcam->notifier, ep, 245 - struct v4l2_async_subdev); 244 + asd = v4l2_async_nf_add_fwnode_remote(&mcam->notifier, ep, 245 + struct v4l2_async_subdev); 246 246 fwnode_handle_put(ep); 247 247 if (IS_ERR(asd)) { 248 248 ret = PTR_ERR(asd);
+12 -9
drivers/media/platform/omap3isp/isp.c
··· 2003 2003 { 2004 2004 struct isp_device *isp = platform_get_drvdata(pdev); 2005 2005 2006 - v4l2_async_notifier_unregister(&isp->notifier); 2006 + v4l2_async_nf_unregister(&isp->notifier); 2007 2007 isp_unregister_entities(isp); 2008 2008 isp_cleanup_modules(isp); 2009 2009 isp_xclk_cleanup(isp); ··· 2013 2013 __omap3isp_put(isp, false); 2014 2014 2015 2015 media_entity_enum_cleanup(&isp->crashed); 2016 - v4l2_async_notifier_cleanup(&isp->notifier); 2016 + v4l2_async_nf_cleanup(&isp->notifier); 2017 2017 2018 2018 kfree(isp); 2019 2019 ··· 2172 2172 ret = v4l2_fwnode_endpoint_parse(ep, &vep); 2173 2173 2174 2174 if (!ret) { 2175 - isd = v4l2_async_notifier_add_fwnode_remote_subdev( 2176 - &isp->notifier, ep, struct isp_async_subdev); 2175 + isd = v4l2_async_nf_add_fwnode_remote(&isp->notifier, 2176 + ep, struct 2177 + isp_async_subdev); 2177 2178 if (!IS_ERR(isd)) 2178 2179 isp_parse_of_parallel_endpoint(isp->dev, &vep, &isd->bus); 2179 2180 } ··· 2212 2211 } 2213 2212 2214 2213 if (!ret) { 2215 - isd = v4l2_async_notifier_add_fwnode_remote_subdev( 2216 - &isp->notifier, ep, struct isp_async_subdev); 2214 + isd = v4l2_async_nf_add_fwnode_remote(&isp->notifier, 2215 + ep, 2216 + struct 2217 + isp_async_subdev); 2217 2218 2218 2219 if (!IS_ERR(isd)) { 2219 2220 switch (vep.bus_type) { ··· 2292 2289 2293 2290 mutex_init(&isp->isp_mutex); 2294 2291 spin_lock_init(&isp->stat_lock); 2295 - v4l2_async_notifier_init(&isp->notifier); 2292 + v4l2_async_nf_init(&isp->notifier); 2296 2293 isp->dev = &pdev->dev; 2297 2294 2298 2295 ret = isp_parse_of_endpoints(isp); ··· 2421 2418 2422 2419 isp->notifier.ops = &isp_subdev_notifier_ops; 2423 2420 2424 - ret = v4l2_async_notifier_register(&isp->v4l2_dev, &isp->notifier); 2421 + ret = v4l2_async_nf_register(&isp->v4l2_dev, &isp->notifier); 2425 2422 if (ret) 2426 2423 goto error_register_entities; 2427 2424 ··· 2440 2437 isp_xclk_cleanup(isp); 2441 2438 __omap3isp_put(isp, false); 2442 2439 error: 2443 - v4l2_async_notifier_cleanup(&isp->notifier); 2440 + v4l2_async_nf_cleanup(&isp->notifier); 2444 2441 mutex_destroy(&isp->isp_mutex); 2445 2442 error_release_isp: 2446 2443 kfree(isp);
+12 -14
drivers/media/platform/pxa_camera.c
··· 2249 2249 if (ep.bus.parallel.flags & V4L2_MBUS_PCLK_SAMPLE_FALLING) 2250 2250 pcdev->platform_flags |= PXA_CAMERA_PCLK_EN; 2251 2251 2252 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 2253 - &pcdev->notifier, 2254 - of_fwnode_handle(np), 2255 - struct v4l2_async_subdev); 2252 + asd = v4l2_async_nf_add_fwnode_remote(&pcdev->notifier, 2253 + of_fwnode_handle(np), 2254 + struct v4l2_async_subdev); 2256 2255 if (IS_ERR(asd)) 2257 2256 err = PTR_ERR(asd); 2258 2257 out: ··· 2288 2289 if (IS_ERR(pcdev->clk)) 2289 2290 return PTR_ERR(pcdev->clk); 2290 2291 2291 - v4l2_async_notifier_init(&pcdev->notifier); 2292 + v4l2_async_nf_init(&pcdev->notifier); 2292 2293 pcdev->res = res; 2293 2294 pcdev->pdata = pdev->dev.platform_data; 2294 2295 if (pcdev->pdata) { ··· 2296 2297 2297 2298 pcdev->platform_flags = pcdev->pdata->flags; 2298 2299 pcdev->mclk = pcdev->pdata->mclk_10khz * 10000; 2299 - asd = v4l2_async_notifier_add_i2c_subdev( 2300 - &pcdev->notifier, 2301 - pcdev->pdata->sensor_i2c_adapter_id, 2302 - pcdev->pdata->sensor_i2c_address, 2303 - struct v4l2_async_subdev); 2300 + asd = v4l2_async_nf_add_i2c(&pcdev->notifier, 2301 + pcdev->pdata->sensor_i2c_adapter_id, 2302 + pcdev->pdata->sensor_i2c_address, 2303 + struct v4l2_async_subdev); 2304 2304 if (IS_ERR(asd)) 2305 2305 err = PTR_ERR(asd); 2306 2306 } else if (pdev->dev.of_node) { ··· 2400 2402 goto exit_notifier_cleanup; 2401 2403 2402 2404 pcdev->notifier.ops = &pxa_camera_sensor_ops; 2403 - err = v4l2_async_notifier_register(&pcdev->v4l2_dev, &pcdev->notifier); 2405 + err = v4l2_async_nf_register(&pcdev->v4l2_dev, &pcdev->notifier); 2404 2406 if (err) 2405 2407 goto exit_notifier_cleanup; 2406 2408 2407 2409 return 0; 2408 2410 exit_notifier_cleanup: 2409 - v4l2_async_notifier_cleanup(&pcdev->notifier); 2411 + v4l2_async_nf_cleanup(&pcdev->notifier); 2410 2412 v4l2_device_unregister(&pcdev->v4l2_dev); 2411 2413 exit_deactivate: 2412 2414 pxa_camera_deactivate(pcdev); ··· 2430 2432 dma_release_channel(pcdev->dma_chans[1]); 2431 2433 dma_release_channel(pcdev->dma_chans[2]); 2432 2434 2433 - v4l2_async_notifier_unregister(&pcdev->notifier); 2434 - v4l2_async_notifier_cleanup(&pcdev->notifier); 2435 + v4l2_async_nf_unregister(&pcdev->notifier); 2436 + v4l2_async_nf_cleanup(&pcdev->notifier); 2435 2437 2436 2438 v4l2_device_unregister(&pcdev->v4l2_dev); 2437 2439
+9 -9
drivers/media/platform/qcom/camss/camss.c
··· 886 886 goto err_cleanup; 887 887 } 888 888 889 - csd = v4l2_async_notifier_add_fwnode_subdev( 890 - &camss->notifier, of_fwnode_handle(remote), 891 - struct camss_async_subdev); 889 + csd = v4l2_async_nf_add_fwnode(&camss->notifier, 890 + of_fwnode_handle(remote), 891 + struct camss_async_subdev); 892 892 of_node_put(remote); 893 893 if (IS_ERR(csd)) { 894 894 ret = PTR_ERR(csd); ··· 1361 1361 goto err_free; 1362 1362 } 1363 1363 1364 - v4l2_async_notifier_init(&camss->notifier); 1364 + v4l2_async_nf_init(&camss->notifier); 1365 1365 1366 1366 num_subdevs = camss_of_parse_ports(camss); 1367 1367 if (num_subdevs < 0) { ··· 1397 1397 if (num_subdevs) { 1398 1398 camss->notifier.ops = &camss_subdev_notifier_ops; 1399 1399 1400 - ret = v4l2_async_notifier_register(&camss->v4l2_dev, 1401 - &camss->notifier); 1400 + ret = v4l2_async_nf_register(&camss->v4l2_dev, 1401 + &camss->notifier); 1402 1402 if (ret) { 1403 1403 dev_err(dev, 1404 1404 "Failed to register async subdev nodes: %d\n", ··· 1436 1436 err_register_entities: 1437 1437 v4l2_device_unregister(&camss->v4l2_dev); 1438 1438 err_cleanup: 1439 - v4l2_async_notifier_cleanup(&camss->notifier); 1439 + v4l2_async_nf_cleanup(&camss->notifier); 1440 1440 err_free: 1441 1441 kfree(camss); 1442 1442 ··· 1478 1478 { 1479 1479 struct camss *camss = platform_get_drvdata(pdev); 1480 1480 1481 - v4l2_async_notifier_unregister(&camss->notifier); 1482 - v4l2_async_notifier_cleanup(&camss->notifier); 1481 + v4l2_async_nf_unregister(&camss->notifier); 1482 + v4l2_async_nf_cleanup(&camss->notifier); 1483 1483 camss_unregister_entities(camss); 1484 1484 1485 1485 if (atomic_read(&camss->ref_count) == 0)
+14 -16
drivers/media/platform/rcar-vin/rcar-core.c
··· 337 337 goto out; 338 338 } 339 339 340 - asd = v4l2_async_notifier_add_fwnode_subdev(&vin->group->notifier, 341 - fwnode, 342 - struct v4l2_async_subdev); 340 + asd = v4l2_async_nf_add_fwnode(&vin->group->notifier, fwnode, 341 + struct v4l2_async_subdev); 343 342 if (IS_ERR(asd)) { 344 343 ret = PTR_ERR(asd); 345 344 goto out; ··· 358 359 { 359 360 mutex_lock(&vin->group->lock); 360 361 if (&vin->v4l2_dev == vin->group->notifier.v4l2_dev) { 361 - v4l2_async_notifier_unregister(&vin->group->notifier); 362 - v4l2_async_notifier_cleanup(&vin->group->notifier); 362 + v4l2_async_nf_unregister(&vin->group->notifier); 363 + v4l2_async_nf_cleanup(&vin->group->notifier); 363 364 } 364 365 mutex_unlock(&vin->group->lock); 365 366 } ··· 388 389 389 390 mutex_unlock(&vin->group->lock); 390 391 391 - v4l2_async_notifier_init(&vin->group->notifier); 392 + v4l2_async_nf_init(&vin->group->notifier); 392 393 393 394 /* 394 395 * Some subdevices may overlap but the parser function can handle it and ··· 412 413 return 0; 413 414 414 415 vin->group->notifier.ops = &rvin_group_notify_ops; 415 - ret = v4l2_async_notifier_register(&vin->v4l2_dev, 416 - &vin->group->notifier); 416 + ret = v4l2_async_nf_register(&vin->v4l2_dev, &vin->group->notifier); 417 417 if (ret < 0) { 418 418 vin_err(vin, "Notifier registration failed\n"); 419 - v4l2_async_notifier_cleanup(&vin->group->notifier); 419 + v4l2_async_nf_cleanup(&vin->group->notifier); 420 420 return ret; 421 421 } 422 422 ··· 699 701 goto out; 700 702 } 701 703 702 - asd = v4l2_async_notifier_add_fwnode_subdev(&vin->notifier, fwnode, 703 - struct v4l2_async_subdev); 704 + asd = v4l2_async_nf_add_fwnode(&vin->notifier, fwnode, 705 + struct v4l2_async_subdev); 704 706 if (IS_ERR(asd)) { 705 707 ret = PTR_ERR(asd); 706 708 goto out; ··· 717 719 718 720 static void rvin_parallel_cleanup(struct rvin_dev *vin) 719 721 { 720 - v4l2_async_notifier_unregister(&vin->notifier); 721 - v4l2_async_notifier_cleanup(&vin->notifier); 722 + v4l2_async_nf_unregister(&vin->notifier); 723 + v4l2_async_nf_cleanup(&vin->notifier); 722 724 } 723 725 724 726 static int rvin_parallel_init(struct rvin_dev *vin) 725 727 { 726 728 int ret; 727 729 728 - v4l2_async_notifier_init(&vin->notifier); 730 + v4l2_async_nf_init(&vin->notifier); 729 731 730 732 ret = rvin_parallel_parse_of(vin); 731 733 if (ret) ··· 738 740 to_of_node(vin->parallel.asd->match.fwnode)); 739 741 740 742 vin->notifier.ops = &rvin_parallel_notify_ops; 741 - ret = v4l2_async_notifier_register(&vin->v4l2_dev, &vin->notifier); 743 + ret = v4l2_async_nf_register(&vin->v4l2_dev, &vin->notifier); 742 744 if (ret < 0) { 743 745 vin_err(vin, "Notifier registration failed\n"); 744 - v4l2_async_notifier_cleanup(&vin->notifier); 746 + v4l2_async_nf_cleanup(&vin->notifier); 745 747 return ret; 746 748 } 747 749
+9 -10
drivers/media/platform/rcar-vin/rcar-csi2.c
··· 1026 1026 1027 1027 dev_dbg(priv->dev, "Found '%pOF'\n", to_of_node(fwnode)); 1028 1028 1029 - v4l2_async_notifier_init(&priv->notifier); 1029 + v4l2_async_nf_init(&priv->notifier); 1030 1030 priv->notifier.ops = &rcar_csi2_notify_ops; 1031 1031 1032 - asd = v4l2_async_notifier_add_fwnode_subdev(&priv->notifier, fwnode, 1033 - struct v4l2_async_subdev); 1032 + asd = v4l2_async_nf_add_fwnode(&priv->notifier, fwnode, 1033 + struct v4l2_async_subdev); 1034 1034 fwnode_handle_put(fwnode); 1035 1035 if (IS_ERR(asd)) 1036 1036 return PTR_ERR(asd); 1037 1037 1038 - ret = v4l2_async_subdev_notifier_register(&priv->subdev, 1039 - &priv->notifier); 1038 + ret = v4l2_async_subdev_nf_register(&priv->subdev, &priv->notifier); 1040 1039 if (ret) 1041 - v4l2_async_notifier_cleanup(&priv->notifier); 1040 + v4l2_async_nf_cleanup(&priv->notifier); 1042 1041 1043 1042 return ret; 1044 1043 } ··· 1463 1464 return 0; 1464 1465 1465 1466 error: 1466 - v4l2_async_notifier_unregister(&priv->notifier); 1467 - v4l2_async_notifier_cleanup(&priv->notifier); 1467 + v4l2_async_nf_unregister(&priv->notifier); 1468 + v4l2_async_nf_cleanup(&priv->notifier); 1468 1469 1469 1470 return ret; 1470 1471 } ··· 1473 1474 { 1474 1475 struct rcar_csi2 *priv = platform_get_drvdata(pdev); 1475 1476 1476 - v4l2_async_notifier_unregister(&priv->notifier); 1477 - v4l2_async_notifier_cleanup(&priv->notifier); 1477 + v4l2_async_nf_unregister(&priv->notifier); 1478 + v4l2_async_nf_cleanup(&priv->notifier); 1478 1479 v4l2_async_unregister_subdev(&priv->subdev); 1479 1480 1480 1481 pm_runtime_disable(&pdev->dev);
+7 -7
drivers/media/platform/rcar_drif.c
··· 1212 1212 struct fwnode_handle *fwnode, *ep; 1213 1213 struct v4l2_async_subdev *asd; 1214 1214 1215 - v4l2_async_notifier_init(notifier); 1215 + v4l2_async_nf_init(notifier); 1216 1216 1217 1217 ep = fwnode_graph_get_next_endpoint(of_fwnode_handle(sdr->dev->of_node), 1218 1218 NULL); ··· 1229 1229 return -EINVAL; 1230 1230 } 1231 1231 1232 - asd = v4l2_async_notifier_add_fwnode_subdev(notifier, fwnode, 1233 - struct v4l2_async_subdev); 1232 + asd = v4l2_async_nf_add_fwnode(notifier, fwnode, 1233 + struct v4l2_async_subdev); 1234 1234 fwnode_handle_put(fwnode); 1235 1235 if (IS_ERR(asd)) 1236 1236 return PTR_ERR(asd); ··· 1346 1346 sdr->notifier.ops = &rcar_drif_notify_ops; 1347 1347 1348 1348 /* Register notifier */ 1349 - ret = v4l2_async_notifier_register(&sdr->v4l2_dev, &sdr->notifier); 1349 + ret = v4l2_async_nf_register(&sdr->v4l2_dev, &sdr->notifier); 1350 1350 if (ret < 0) { 1351 1351 dev_err(sdr->dev, "failed: notifier register ret %d\n", ret); 1352 1352 goto cleanup; ··· 1355 1355 return ret; 1356 1356 1357 1357 cleanup: 1358 - v4l2_async_notifier_cleanup(&sdr->notifier); 1358 + v4l2_async_nf_cleanup(&sdr->notifier); 1359 1359 error: 1360 1360 v4l2_device_unregister(&sdr->v4l2_dev); 1361 1361 ··· 1365 1365 /* V4L2 SDR device remove */ 1366 1366 static void rcar_drif_sdr_remove(struct rcar_drif_sdr *sdr) 1367 1367 { 1368 - v4l2_async_notifier_unregister(&sdr->notifier); 1369 - v4l2_async_notifier_cleanup(&sdr->notifier); 1368 + v4l2_async_nf_unregister(&sdr->notifier); 1369 + v4l2_async_nf_cleanup(&sdr->notifier); 1370 1370 v4l2_device_unregister(&sdr->v4l2_dev); 1371 1371 } 1372 1372
+14 -15
drivers/media/platform/renesas-ceu.c
··· 1513 1513 1514 1514 /* Setup the ceu subdevice and the async subdevice. */ 1515 1515 async_sd = &pdata->subdevs[i]; 1516 - ceu_sd = v4l2_async_notifier_add_i2c_subdev(&ceudev->notifier, 1517 - async_sd->i2c_adapter_id, 1518 - async_sd->i2c_address, 1519 - struct ceu_subdev); 1516 + ceu_sd = v4l2_async_nf_add_i2c(&ceudev->notifier, 1517 + async_sd->i2c_adapter_id, 1518 + async_sd->i2c_address, 1519 + struct ceu_subdev); 1520 1520 if (IS_ERR(ceu_sd)) { 1521 - v4l2_async_notifier_cleanup(&ceudev->notifier); 1521 + v4l2_async_nf_cleanup(&ceudev->notifier); 1522 1522 return PTR_ERR(ceu_sd); 1523 1523 } 1524 1524 ceu_sd->mbus_flags = async_sd->flags; ··· 1576 1576 } 1577 1577 1578 1578 /* Setup the ceu subdevice and the async subdevice. */ 1579 - ceu_sd = v4l2_async_notifier_add_fwnode_remote_subdev( 1580 - &ceudev->notifier, of_fwnode_handle(ep), 1581 - struct ceu_subdev); 1579 + ceu_sd = v4l2_async_nf_add_fwnode_remote(&ceudev->notifier, 1580 + of_fwnode_handle(ep), 1581 + struct ceu_subdev); 1582 1582 if (IS_ERR(ceu_sd)) { 1583 1583 ret = PTR_ERR(ceu_sd); 1584 1584 goto error_cleanup; ··· 1592 1592 return num_ep; 1593 1593 1594 1594 error_cleanup: 1595 - v4l2_async_notifier_cleanup(&ceudev->notifier); 1595 + v4l2_async_nf_cleanup(&ceudev->notifier); 1596 1596 of_node_put(ep); 1597 1597 return ret; 1598 1598 } ··· 1669 1669 if (ret) 1670 1670 goto error_pm_disable; 1671 1671 1672 - v4l2_async_notifier_init(&ceudev->notifier); 1672 + v4l2_async_nf_init(&ceudev->notifier); 1673 1673 1674 1674 if (IS_ENABLED(CONFIG_OF) && dev->of_node) { 1675 1675 ceu_data = of_device_get_match_data(dev); ··· 1691 1691 1692 1692 ceudev->notifier.v4l2_dev = &ceudev->v4l2_dev; 1693 1693 ceudev->notifier.ops = &ceu_notify_ops; 1694 - ret = v4l2_async_notifier_register(&ceudev->v4l2_dev, 1695 - &ceudev->notifier); 1694 + ret = v4l2_async_nf_register(&ceudev->v4l2_dev, &ceudev->notifier); 1696 1695 if (ret) 1697 1696 goto error_cleanup; 1698 1697 ··· 1700 1701 return 0; 1701 1702 1702 1703 error_cleanup: 1703 - v4l2_async_notifier_cleanup(&ceudev->notifier); 1704 + v4l2_async_nf_cleanup(&ceudev->notifier); 1704 1705 error_v4l2_unregister: 1705 1706 v4l2_device_unregister(&ceudev->v4l2_dev); 1706 1707 error_pm_disable: ··· 1717 1718 1718 1719 pm_runtime_disable(ceudev->dev); 1719 1720 1720 - v4l2_async_notifier_unregister(&ceudev->notifier); 1721 + v4l2_async_nf_unregister(&ceudev->notifier); 1721 1722 1722 - v4l2_async_notifier_cleanup(&ceudev->notifier); 1723 + v4l2_async_nf_cleanup(&ceudev->notifier); 1723 1724 1724 1725 v4l2_device_unregister(&ceudev->v4l2_dev); 1725 1726
+9 -8
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
··· 246 246 unsigned int next_id = 0; 247 247 int ret; 248 248 249 - v4l2_async_notifier_init(ntf); 249 + v4l2_async_nf_init(ntf); 250 250 251 251 while (1) { 252 252 struct v4l2_fwnode_endpoint vep = { ··· 265 265 if (ret) 266 266 goto err_parse; 267 267 268 - rk_asd = v4l2_async_notifier_add_fwnode_remote_subdev(ntf, ep, 269 - struct rkisp1_sensor_async); 268 + rk_asd = v4l2_async_nf_add_fwnode_remote(ntf, ep, 269 + struct 270 + rkisp1_sensor_async); 270 271 if (IS_ERR(rk_asd)) { 271 272 ret = PTR_ERR(rk_asd); 272 273 goto err_parse; ··· 287 286 continue; 288 287 err_parse: 289 288 fwnode_handle_put(ep); 290 - v4l2_async_notifier_cleanup(ntf); 289 + v4l2_async_nf_cleanup(ntf); 291 290 return ret; 292 291 } 293 292 294 293 if (next_id == 0) 295 294 dev_dbg(rkisp1->dev, "no remote subdevice found\n"); 296 295 ntf->ops = &rkisp1_subdev_notifier_ops; 297 - ret = v4l2_async_notifier_register(&rkisp1->v4l2_dev, ntf); 296 + ret = v4l2_async_nf_register(&rkisp1->v4l2_dev, ntf); 298 297 if (ret) { 299 - v4l2_async_notifier_cleanup(ntf); 298 + v4l2_async_nf_cleanup(ntf); 300 299 return ret; 301 300 } 302 301 return 0; ··· 543 542 { 544 543 struct rkisp1_device *rkisp1 = platform_get_drvdata(pdev); 545 544 546 - v4l2_async_notifier_unregister(&rkisp1->notifier); 547 - v4l2_async_notifier_cleanup(&rkisp1->notifier); 545 + v4l2_async_nf_unregister(&rkisp1->notifier); 546 + v4l2_async_nf_cleanup(&rkisp1->notifier); 548 547 549 548 rkisp1_params_unregister(rkisp1); 550 549 rkisp1_stats_unregister(rkisp1);
+9 -9
drivers/media/platform/stm32/stm32-dcmi.c
··· 1824 1824 return -EINVAL; 1825 1825 } 1826 1826 1827 - v4l2_async_notifier_init(&dcmi->notifier); 1827 + v4l2_async_nf_init(&dcmi->notifier); 1828 1828 1829 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 1830 - &dcmi->notifier, of_fwnode_handle(ep), 1831 - struct v4l2_async_subdev); 1829 + asd = v4l2_async_nf_add_fwnode_remote(&dcmi->notifier, 1830 + of_fwnode_handle(ep), 1831 + struct v4l2_async_subdev); 1832 1832 1833 1833 of_node_put(ep); 1834 1834 ··· 1839 1839 1840 1840 dcmi->notifier.ops = &dcmi_graph_notify_ops; 1841 1841 1842 - ret = v4l2_async_notifier_register(&dcmi->v4l2_dev, &dcmi->notifier); 1842 + ret = v4l2_async_nf_register(&dcmi->v4l2_dev, &dcmi->notifier); 1843 1843 if (ret < 0) { 1844 1844 dev_err(dcmi->dev, "Failed to register notifier\n"); 1845 - v4l2_async_notifier_cleanup(&dcmi->notifier); 1845 + v4l2_async_nf_cleanup(&dcmi->notifier); 1846 1846 return ret; 1847 1847 } 1848 1848 ··· 2060 2060 return 0; 2061 2061 2062 2062 err_cleanup: 2063 - v4l2_async_notifier_cleanup(&dcmi->notifier); 2063 + v4l2_async_nf_cleanup(&dcmi->notifier); 2064 2064 err_media_entity_cleanup: 2065 2065 media_entity_cleanup(&dcmi->vdev->entity); 2066 2066 err_device_release: ··· 2080 2080 2081 2081 pm_runtime_disable(&pdev->dev); 2082 2082 2083 - v4l2_async_notifier_unregister(&dcmi->notifier); 2084 - v4l2_async_notifier_cleanup(&dcmi->notifier); 2083 + v4l2_async_nf_unregister(&dcmi->notifier); 2084 + v4l2_async_nf_cleanup(&dcmi->notifier); 2085 2085 media_entity_cleanup(&dcmi->vdev->entity); 2086 2086 v4l2_device_unregister(&dcmi->v4l2_dev); 2087 2087 media_device_cleanup(&dcmi->mdev);
+6 -6
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
··· 122 122 struct fwnode_handle *ep; 123 123 int ret; 124 124 125 - v4l2_async_notifier_init(&csi->notifier); 125 + v4l2_async_nf_init(&csi->notifier); 126 126 127 127 ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi->dev), 0, 0, 128 128 FWNODE_GRAPH_ENDPOINT_NEXT); ··· 135 135 136 136 csi->bus = vep.bus.parallel; 137 137 138 - asd = v4l2_async_notifier_add_fwnode_remote_subdev(&csi->notifier, ep, 139 - struct v4l2_async_subdev); 138 + asd = v4l2_async_nf_add_fwnode_remote(&csi->notifier, ep, 139 + struct v4l2_async_subdev); 140 140 if (IS_ERR(asd)) { 141 141 ret = PTR_ERR(asd); 142 142 goto out; ··· 244 244 if (ret) 245 245 goto err_unregister_media; 246 246 247 - ret = v4l2_async_notifier_register(&csi->v4l, &csi->notifier); 247 + ret = v4l2_async_nf_register(&csi->v4l, &csi->notifier); 248 248 if (ret) { 249 249 dev_err(csi->dev, "Couldn't register our notifier.\n"); 250 250 goto err_unregister_media; ··· 268 268 { 269 269 struct sun4i_csi *csi = platform_get_drvdata(pdev); 270 270 271 - v4l2_async_notifier_unregister(&csi->notifier); 272 - v4l2_async_notifier_cleanup(&csi->notifier); 271 + v4l2_async_nf_unregister(&csi->notifier); 272 + v4l2_async_nf_cleanup(&csi->notifier); 273 273 vb2_video_unregister_device(&csi->vdev); 274 274 media_device_unregister(&csi->mdev); 275 275 sun4i_csi_dma_unregister(csi);
+10 -9
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
··· 717 717 static void sun6i_csi_v4l2_cleanup(struct sun6i_csi *csi) 718 718 { 719 719 media_device_unregister(&csi->media_dev); 720 - v4l2_async_notifier_unregister(&csi->notifier); 721 - v4l2_async_notifier_cleanup(&csi->notifier); 720 + v4l2_async_nf_unregister(&csi->notifier); 721 + v4l2_async_nf_cleanup(&csi->notifier); 722 722 sun6i_video_cleanup(&csi->video); 723 723 v4l2_device_unregister(&csi->v4l2_dev); 724 724 v4l2_ctrl_handler_free(&csi->ctrl_handler); ··· 737 737 "platform:%s", dev_name(csi->dev)); 738 738 739 739 media_device_init(&csi->media_dev); 740 - v4l2_async_notifier_init(&csi->notifier); 740 + v4l2_async_nf_init(&csi->notifier); 741 741 742 742 ret = v4l2_ctrl_handler_init(&csi->ctrl_handler, 0); 743 743 if (ret) { ··· 759 759 if (ret) 760 760 goto unreg_v4l2; 761 761 762 - ret = v4l2_async_notifier_parse_fwnode_endpoints(csi->dev, 763 - &csi->notifier, 764 - sizeof(struct v4l2_async_subdev), 765 - sun6i_csi_fwnode_parse); 762 + ret = v4l2_async_nf_parse_fwnode_endpoints(csi->dev, 763 + &csi->notifier, 764 + sizeof(struct 765 + v4l2_async_subdev), 766 + sun6i_csi_fwnode_parse); 766 767 if (ret) 767 768 goto clean_video; 768 769 769 770 csi->notifier.ops = &sun6i_csi_async_ops; 770 771 771 - ret = v4l2_async_notifier_register(&csi->v4l2_dev, &csi->notifier); 772 + ret = v4l2_async_nf_register(&csi->v4l2_dev, &csi->notifier); 772 773 if (ret) { 773 774 dev_err(csi->dev, "notifier registration failed\n"); 774 775 goto clean_video; ··· 784 783 free_ctrl: 785 784 v4l2_ctrl_handler_free(&csi->ctrl_handler); 786 785 clean_media: 787 - v4l2_async_notifier_cleanup(&csi->notifier); 786 + v4l2_async_nf_cleanup(&csi->notifier); 788 787 media_device_cleanup(&csi->media_dev); 789 788 790 789 return ret;
+8 -8
drivers/media/platform/ti-vpe/cal.c
··· 781 781 unsigned int i; 782 782 int ret; 783 783 784 - v4l2_async_notifier_init(&cal->notifier); 784 + v4l2_async_nf_init(&cal->notifier); 785 785 cal->notifier.ops = &cal_async_notifier_ops; 786 786 787 787 for (i = 0; i < cal->data->num_csi2_phy; ++i) { ··· 793 793 continue; 794 794 795 795 fwnode = of_fwnode_handle(phy->source_node); 796 - casd = v4l2_async_notifier_add_fwnode_subdev(&cal->notifier, 797 - fwnode, 798 - struct cal_v4l2_async_subdev); 796 + casd = v4l2_async_nf_add_fwnode(&cal->notifier, 797 + fwnode, 798 + struct cal_v4l2_async_subdev); 799 799 if (IS_ERR(casd)) { 800 800 phy_err(phy, "Failed to add subdev to notifier\n"); 801 801 ret = PTR_ERR(casd); ··· 805 805 casd->phy = phy; 806 806 } 807 807 808 - ret = v4l2_async_notifier_register(&cal->v4l2_dev, &cal->notifier); 808 + ret = v4l2_async_nf_register(&cal->v4l2_dev, &cal->notifier); 809 809 if (ret) { 810 810 cal_err(cal, "Error registering async notifier\n"); 811 811 goto error; ··· 814 814 return 0; 815 815 816 816 error: 817 - v4l2_async_notifier_cleanup(&cal->notifier); 817 + v4l2_async_nf_cleanup(&cal->notifier); 818 818 return ret; 819 819 } 820 820 821 821 static void cal_async_notifier_unregister(struct cal_dev *cal) 822 822 { 823 - v4l2_async_notifier_unregister(&cal->notifier); 824 - v4l2_async_notifier_cleanup(&cal->notifier); 823 + v4l2_async_nf_unregister(&cal->notifier); 824 + v4l2_async_nf_cleanup(&cal->notifier); 825 825 } 826 826 827 827 /* ------------------------------------------------------------------
+8 -9
drivers/media/platform/video-mux.c
··· 360 360 unsigned int i; 361 361 int ret; 362 362 363 - v4l2_async_notifier_init(&vmux->notifier); 363 + v4l2_async_nf_init(&vmux->notifier); 364 364 365 365 for (i = 0; i < num_input_pads; i++) { 366 366 struct v4l2_async_subdev *asd; ··· 380 380 } 381 381 fwnode_handle_put(remote_ep); 382 382 383 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 384 - &vmux->notifier, ep, struct v4l2_async_subdev); 383 + asd = v4l2_async_nf_add_fwnode_remote(&vmux->notifier, ep, 384 + struct v4l2_async_subdev); 385 385 386 386 fwnode_handle_put(ep); 387 387 ··· 395 395 396 396 vmux->notifier.ops = &video_mux_notify_ops; 397 397 398 - ret = v4l2_async_subdev_notifier_register(&vmux->subdev, 399 - &vmux->notifier); 398 + ret = v4l2_async_subdev_nf_register(&vmux->subdev, &vmux->notifier); 400 399 if (ret) 401 400 return ret; 402 401 ··· 476 477 477 478 ret = video_mux_async_register(vmux, num_pads - 1); 478 479 if (ret) { 479 - v4l2_async_notifier_unregister(&vmux->notifier); 480 - v4l2_async_notifier_cleanup(&vmux->notifier); 480 + v4l2_async_nf_unregister(&vmux->notifier); 481 + v4l2_async_nf_cleanup(&vmux->notifier); 481 482 } 482 483 483 484 return ret; ··· 488 489 struct video_mux *vmux = platform_get_drvdata(pdev); 489 490 struct v4l2_subdev *sd = &vmux->subdev; 490 491 491 - v4l2_async_notifier_unregister(&vmux->notifier); 492 - v4l2_async_notifier_cleanup(&vmux->notifier); 492 + v4l2_async_nf_unregister(&vmux->notifier); 493 + v4l2_async_nf_cleanup(&vmux->notifier); 493 494 v4l2_async_unregister_subdev(sd); 494 495 media_entity_cleanup(&sd->entity); 495 496
+8 -9
drivers/media/platform/xilinx/xilinx-vipp.c
··· 382 382 continue; 383 383 } 384 384 385 - xge = v4l2_async_notifier_add_fwnode_subdev( 386 - &xdev->notifier, remote, 387 - struct xvip_graph_entity); 385 + xge = v4l2_async_nf_add_fwnode(&xdev->notifier, remote, 386 + struct xvip_graph_entity); 388 387 fwnode_handle_put(remote); 389 388 if (IS_ERR(xge)) { 390 389 ret = PTR_ERR(xge); ··· 394 395 return 0; 395 396 396 397 err_notifier_cleanup: 397 - v4l2_async_notifier_cleanup(&xdev->notifier); 398 + v4l2_async_nf_cleanup(&xdev->notifier); 398 399 fwnode_handle_put(ep); 399 400 return ret; 400 401 } ··· 419 420 entity = to_xvip_entity(asd); 420 421 ret = xvip_graph_parse_one(xdev, entity->asd.match.fwnode); 421 422 if (ret < 0) { 422 - v4l2_async_notifier_cleanup(&xdev->notifier); 423 + v4l2_async_nf_cleanup(&xdev->notifier); 423 424 break; 424 425 } 425 426 } ··· 495 496 struct xvip_dma *dmap; 496 497 struct xvip_dma *dma; 497 498 498 - v4l2_async_notifier_unregister(&xdev->notifier); 499 - v4l2_async_notifier_cleanup(&xdev->notifier); 499 + v4l2_async_nf_unregister(&xdev->notifier); 500 + v4l2_async_nf_cleanup(&xdev->notifier); 500 501 501 502 list_for_each_entry_safe(dma, dmap, &xdev->dmas, list) { 502 503 xvip_dma_cleanup(dma); ··· 531 532 /* Register the subdevices notifier. */ 532 533 xdev->notifier.ops = &xvip_graph_notify_ops; 533 534 534 - ret = v4l2_async_notifier_register(&xdev->v4l2_dev, &xdev->notifier); 535 + ret = v4l2_async_nf_register(&xdev->v4l2_dev, &xdev->notifier); 535 536 if (ret < 0) { 536 537 dev_err(xdev->dev, "notifier registration failed\n"); 537 538 goto done; ··· 595 596 596 597 xdev->dev = &pdev->dev; 597 598 INIT_LIST_HEAD(&xdev->dmas); 598 - v4l2_async_notifier_init(&xdev->notifier); 599 + v4l2_async_nf_init(&xdev->notifier); 599 600 600 601 ret = xvip_composite_v4l2_init(xdev); 601 602 if (ret < 0)
+82 -86
drivers/media/v4l2-core/v4l2-async.c
··· 24 24 #include <media/v4l2-fwnode.h> 25 25 #include <media/v4l2-subdev.h> 26 26 27 - static int v4l2_async_notifier_call_bound(struct v4l2_async_notifier *n, 28 - struct v4l2_subdev *subdev, 29 - struct v4l2_async_subdev *asd) 27 + static int v4l2_async_nf_call_bound(struct v4l2_async_notifier *n, 28 + struct v4l2_subdev *subdev, 29 + struct v4l2_async_subdev *asd) 30 30 { 31 31 if (!n->ops || !n->ops->bound) 32 32 return 0; ··· 34 34 return n->ops->bound(n, subdev, asd); 35 35 } 36 36 37 - static void v4l2_async_notifier_call_unbind(struct v4l2_async_notifier *n, 38 - struct v4l2_subdev *subdev, 39 - struct v4l2_async_subdev *asd) 37 + static void v4l2_async_nf_call_unbind(struct v4l2_async_notifier *n, 38 + struct v4l2_subdev *subdev, 39 + struct v4l2_async_subdev *asd) 40 40 { 41 41 if (!n->ops || !n->ops->unbind) 42 42 return; ··· 44 44 n->ops->unbind(n, subdev, asd); 45 45 } 46 46 47 - static int v4l2_async_notifier_call_complete(struct v4l2_async_notifier *n) 47 + static int v4l2_async_nf_call_complete(struct v4l2_async_notifier *n) 48 48 { 49 49 if (!n->ops || !n->ops->complete) 50 50 return 0; ··· 215 215 216 216 /* Get v4l2_device related to the notifier if one can be found. */ 217 217 static struct v4l2_device * 218 - v4l2_async_notifier_find_v4l2_dev(struct v4l2_async_notifier *notifier) 218 + v4l2_async_nf_find_v4l2_dev(struct v4l2_async_notifier *notifier) 219 219 { 220 220 while (notifier->parent) 221 221 notifier = notifier->parent; ··· 227 227 * Return true if all child sub-device notifiers are complete, false otherwise. 228 228 */ 229 229 static bool 230 - v4l2_async_notifier_can_complete(struct v4l2_async_notifier *notifier) 230 + v4l2_async_nf_can_complete(struct v4l2_async_notifier *notifier) 231 231 { 232 232 struct v4l2_subdev *sd; 233 233 ··· 239 239 v4l2_async_find_subdev_notifier(sd); 240 240 241 241 if (subdev_notifier && 242 - !v4l2_async_notifier_can_complete(subdev_notifier)) 242 + !v4l2_async_nf_can_complete(subdev_notifier)) 243 243 return false; 244 244 } 245 245 ··· 251 251 * sub-devices have been bound; v4l2_device is also available then. 252 252 */ 253 253 static int 254 - v4l2_async_notifier_try_complete(struct v4l2_async_notifier *notifier) 254 + v4l2_async_nf_try_complete(struct v4l2_async_notifier *notifier) 255 255 { 256 256 /* Quick check whether there are still more sub-devices here. */ 257 257 if (!list_empty(&notifier->waiting)) ··· 266 266 return 0; 267 267 268 268 /* Is everything ready? */ 269 - if (!v4l2_async_notifier_can_complete(notifier)) 269 + if (!v4l2_async_nf_can_complete(notifier)) 270 270 return 0; 271 271 272 - return v4l2_async_notifier_call_complete(notifier); 272 + return v4l2_async_nf_call_complete(notifier); 273 273 } 274 274 275 275 static int 276 - v4l2_async_notifier_try_all_subdevs(struct v4l2_async_notifier *notifier); 276 + v4l2_async_nf_try_all_subdevs(struct v4l2_async_notifier *notifier); 277 277 278 278 static int v4l2_async_match_notify(struct v4l2_async_notifier *notifier, 279 279 struct v4l2_device *v4l2_dev, ··· 287 287 if (ret < 0) 288 288 return ret; 289 289 290 - ret = v4l2_async_notifier_call_bound(notifier, sd, asd); 290 + ret = v4l2_async_nf_call_bound(notifier, sd, asd); 291 291 if (ret < 0) { 292 292 v4l2_device_unregister_subdev(sd); 293 293 return ret; ··· 315 315 */ 316 316 subdev_notifier->parent = notifier; 317 317 318 - return v4l2_async_notifier_try_all_subdevs(subdev_notifier); 318 + return v4l2_async_nf_try_all_subdevs(subdev_notifier); 319 319 } 320 320 321 321 /* Test all async sub-devices in a notifier for a match. */ 322 322 static int 323 - v4l2_async_notifier_try_all_subdevs(struct v4l2_async_notifier *notifier) 323 + v4l2_async_nf_try_all_subdevs(struct v4l2_async_notifier *notifier) 324 324 { 325 325 struct v4l2_device *v4l2_dev = 326 - v4l2_async_notifier_find_v4l2_dev(notifier); 326 + v4l2_async_nf_find_v4l2_dev(notifier); 327 327 struct v4l2_subdev *sd; 328 328 329 329 if (!v4l2_dev) ··· 367 367 368 368 /* Unbind all sub-devices in the notifier tree. */ 369 369 static void 370 - v4l2_async_notifier_unbind_all_subdevs(struct v4l2_async_notifier *notifier) 370 + v4l2_async_nf_unbind_all_subdevs(struct v4l2_async_notifier *notifier) 371 371 { 372 372 struct v4l2_subdev *sd, *tmp; 373 373 ··· 376 376 v4l2_async_find_subdev_notifier(sd); 377 377 378 378 if (subdev_notifier) 379 - v4l2_async_notifier_unbind_all_subdevs(subdev_notifier); 379 + v4l2_async_nf_unbind_all_subdevs(subdev_notifier); 380 380 381 - v4l2_async_notifier_call_unbind(notifier, sd, sd->asd); 381 + v4l2_async_nf_call_unbind(notifier, sd, sd->asd); 382 382 v4l2_async_cleanup(sd); 383 383 384 384 list_move(&sd->async_list, &subdev_list); ··· 389 389 390 390 /* See if an async sub-device can be found in a notifier's lists. */ 391 391 static bool 392 - __v4l2_async_notifier_has_async_subdev(struct v4l2_async_notifier *notifier, 393 - struct v4l2_async_subdev *asd) 392 + __v4l2_async_nf_has_async_subdev(struct v4l2_async_notifier *notifier, 393 + struct v4l2_async_subdev *asd) 394 394 { 395 395 struct v4l2_async_subdev *asd_y; 396 396 struct v4l2_subdev *sd; ··· 416 416 * If @this_index < 0, search the notifier's entire @asd_list. 417 417 */ 418 418 static bool 419 - v4l2_async_notifier_has_async_subdev(struct v4l2_async_notifier *notifier, 420 - struct v4l2_async_subdev *asd, 421 - int this_index) 419 + v4l2_async_nf_has_async_subdev(struct v4l2_async_notifier *notifier, 420 + struct v4l2_async_subdev *asd, int this_index) 422 421 { 423 422 struct v4l2_async_subdev *asd_y; 424 423 int j = 0; ··· 434 435 435 436 /* Check that an asd does not exist in other notifiers. */ 436 437 list_for_each_entry(notifier, &notifier_list, list) 437 - if (__v4l2_async_notifier_has_async_subdev(notifier, asd)) 438 + if (__v4l2_async_nf_has_async_subdev(notifier, asd)) 438 439 return true; 439 440 440 441 return false; 441 442 } 442 443 443 - static int v4l2_async_notifier_asd_valid(struct v4l2_async_notifier *notifier, 444 - struct v4l2_async_subdev *asd, 445 - int this_index) 444 + static int v4l2_async_nf_asd_valid(struct v4l2_async_notifier *notifier, 445 + struct v4l2_async_subdev *asd, 446 + int this_index) 446 447 { 447 448 struct device *dev = 448 449 notifier->v4l2_dev ? notifier->v4l2_dev->dev : NULL; ··· 453 454 switch (asd->match_type) { 454 455 case V4L2_ASYNC_MATCH_I2C: 455 456 case V4L2_ASYNC_MATCH_FWNODE: 456 - if (v4l2_async_notifier_has_async_subdev(notifier, asd, 457 - this_index)) { 457 + if (v4l2_async_nf_has_async_subdev(notifier, asd, this_index)) { 458 458 dev_dbg(dev, "subdev descriptor already listed in this or other notifiers\n"); 459 459 return -EEXIST; 460 460 } ··· 467 469 return 0; 468 470 } 469 471 470 - void v4l2_async_notifier_init(struct v4l2_async_notifier *notifier) 472 + void v4l2_async_nf_init(struct v4l2_async_notifier *notifier) 471 473 { 472 474 INIT_LIST_HEAD(&notifier->asd_list); 473 475 } 474 - EXPORT_SYMBOL(v4l2_async_notifier_init); 476 + EXPORT_SYMBOL(v4l2_async_nf_init); 475 477 476 - static int __v4l2_async_notifier_register(struct v4l2_async_notifier *notifier) 478 + static int __v4l2_async_nf_register(struct v4l2_async_notifier *notifier) 477 479 { 478 480 struct v4l2_async_subdev *asd; 479 481 int ret, i = 0; ··· 484 486 mutex_lock(&list_lock); 485 487 486 488 list_for_each_entry(asd, &notifier->asd_list, asd_list) { 487 - ret = v4l2_async_notifier_asd_valid(notifier, asd, i++); 489 + ret = v4l2_async_nf_asd_valid(notifier, asd, i++); 488 490 if (ret) 489 491 goto err_unlock; 490 492 491 493 list_add_tail(&asd->list, &notifier->waiting); 492 494 } 493 495 494 - ret = v4l2_async_notifier_try_all_subdevs(notifier); 496 + ret = v4l2_async_nf_try_all_subdevs(notifier); 495 497 if (ret < 0) 496 498 goto err_unbind; 497 499 498 - ret = v4l2_async_notifier_try_complete(notifier); 500 + ret = v4l2_async_nf_try_complete(notifier); 499 501 if (ret < 0) 500 502 goto err_unbind; 501 503 ··· 510 512 /* 511 513 * On failure, unbind all sub-devices registered through this notifier. 512 514 */ 513 - v4l2_async_notifier_unbind_all_subdevs(notifier); 515 + v4l2_async_nf_unbind_all_subdevs(notifier); 514 516 515 517 err_unlock: 516 518 mutex_unlock(&list_lock); ··· 518 520 return ret; 519 521 } 520 522 521 - int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev, 522 - struct v4l2_async_notifier *notifier) 523 + int v4l2_async_nf_register(struct v4l2_device *v4l2_dev, 524 + struct v4l2_async_notifier *notifier) 523 525 { 524 526 int ret; 525 527 ··· 528 530 529 531 notifier->v4l2_dev = v4l2_dev; 530 532 531 - ret = __v4l2_async_notifier_register(notifier); 533 + ret = __v4l2_async_nf_register(notifier); 532 534 if (ret) 533 535 notifier->v4l2_dev = NULL; 534 536 535 537 return ret; 536 538 } 537 - EXPORT_SYMBOL(v4l2_async_notifier_register); 539 + EXPORT_SYMBOL(v4l2_async_nf_register); 538 540 539 - int v4l2_async_subdev_notifier_register(struct v4l2_subdev *sd, 540 - struct v4l2_async_notifier *notifier) 541 + int v4l2_async_subdev_nf_register(struct v4l2_subdev *sd, 542 + struct v4l2_async_notifier *notifier) 541 543 { 542 544 int ret; 543 545 ··· 546 548 547 549 notifier->sd = sd; 548 550 549 - ret = __v4l2_async_notifier_register(notifier); 551 + ret = __v4l2_async_nf_register(notifier); 550 552 if (ret) 551 553 notifier->sd = NULL; 552 554 553 555 return ret; 554 556 } 555 - EXPORT_SYMBOL(v4l2_async_subdev_notifier_register); 557 + EXPORT_SYMBOL(v4l2_async_subdev_nf_register); 556 558 557 559 static void 558 - __v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier) 560 + __v4l2_async_nf_unregister(struct v4l2_async_notifier *notifier) 559 561 { 560 562 if (!notifier || (!notifier->v4l2_dev && !notifier->sd)) 561 563 return; 562 564 563 - v4l2_async_notifier_unbind_all_subdevs(notifier); 565 + v4l2_async_nf_unbind_all_subdevs(notifier); 564 566 565 567 notifier->sd = NULL; 566 568 notifier->v4l2_dev = NULL; ··· 568 570 list_del(&notifier->list); 569 571 } 570 572 571 - void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier) 573 + void v4l2_async_nf_unregister(struct v4l2_async_notifier *notifier) 572 574 { 573 575 mutex_lock(&list_lock); 574 576 575 - __v4l2_async_notifier_unregister(notifier); 577 + __v4l2_async_nf_unregister(notifier); 576 578 577 579 mutex_unlock(&list_lock); 578 580 } 579 - EXPORT_SYMBOL(v4l2_async_notifier_unregister); 581 + EXPORT_SYMBOL(v4l2_async_nf_unregister); 580 582 581 - static void __v4l2_async_notifier_cleanup(struct v4l2_async_notifier *notifier) 583 + static void __v4l2_async_nf_cleanup(struct v4l2_async_notifier *notifier) 582 584 { 583 585 struct v4l2_async_subdev *asd, *tmp; 584 586 ··· 599 601 } 600 602 } 601 603 602 - void v4l2_async_notifier_cleanup(struct v4l2_async_notifier *notifier) 604 + void v4l2_async_nf_cleanup(struct v4l2_async_notifier *notifier) 603 605 { 604 606 mutex_lock(&list_lock); 605 607 606 - __v4l2_async_notifier_cleanup(notifier); 608 + __v4l2_async_nf_cleanup(notifier); 607 609 608 610 mutex_unlock(&list_lock); 609 611 } 610 - EXPORT_SYMBOL_GPL(v4l2_async_notifier_cleanup); 612 + EXPORT_SYMBOL_GPL(v4l2_async_nf_cleanup); 611 613 612 - int __v4l2_async_notifier_add_subdev(struct v4l2_async_notifier *notifier, 613 - struct v4l2_async_subdev *asd) 614 + int __v4l2_async_nf_add_subdev(struct v4l2_async_notifier *notifier, 615 + struct v4l2_async_subdev *asd) 614 616 { 615 617 int ret; 616 618 617 619 mutex_lock(&list_lock); 618 620 619 - ret = v4l2_async_notifier_asd_valid(notifier, asd, -1); 621 + ret = v4l2_async_nf_asd_valid(notifier, asd, -1); 620 622 if (ret) 621 623 goto unlock; 622 624 ··· 626 628 mutex_unlock(&list_lock); 627 629 return ret; 628 630 } 629 - EXPORT_SYMBOL_GPL(__v4l2_async_notifier_add_subdev); 631 + EXPORT_SYMBOL_GPL(__v4l2_async_nf_add_subdev); 630 632 631 633 struct v4l2_async_subdev * 632 - __v4l2_async_notifier_add_fwnode_subdev(struct v4l2_async_notifier *notifier, 633 - struct fwnode_handle *fwnode, 634 - unsigned int asd_struct_size) 634 + __v4l2_async_nf_add_fwnode(struct v4l2_async_notifier *notifier, 635 + struct fwnode_handle *fwnode, 636 + unsigned int asd_struct_size) 635 637 { 636 638 struct v4l2_async_subdev *asd; 637 639 int ret; ··· 643 645 asd->match_type = V4L2_ASYNC_MATCH_FWNODE; 644 646 asd->match.fwnode = fwnode_handle_get(fwnode); 645 647 646 - ret = __v4l2_async_notifier_add_subdev(notifier, asd); 648 + ret = __v4l2_async_nf_add_subdev(notifier, asd); 647 649 if (ret) { 648 650 fwnode_handle_put(fwnode); 649 651 kfree(asd); ··· 652 654 653 655 return asd; 654 656 } 655 - EXPORT_SYMBOL_GPL(__v4l2_async_notifier_add_fwnode_subdev); 657 + EXPORT_SYMBOL_GPL(__v4l2_async_nf_add_fwnode); 656 658 657 659 struct v4l2_async_subdev * 658 - __v4l2_async_notifier_add_fwnode_remote_subdev(struct v4l2_async_notifier *notif, 659 - struct fwnode_handle *endpoint, 660 - unsigned int asd_struct_size) 660 + __v4l2_async_nf_add_fwnode_remote(struct v4l2_async_notifier *notif, 661 + struct fwnode_handle *endpoint, 662 + unsigned int asd_struct_size) 661 663 { 662 664 struct v4l2_async_subdev *asd; 663 665 struct fwnode_handle *remote; ··· 666 668 if (!remote) 667 669 return ERR_PTR(-ENOTCONN); 668 670 669 - asd = __v4l2_async_notifier_add_fwnode_subdev(notif, remote, 670 - asd_struct_size); 671 + asd = __v4l2_async_nf_add_fwnode(notif, remote, asd_struct_size); 671 672 /* 672 - * Calling __v4l2_async_notifier_add_fwnode_subdev grabs a refcount, 673 + * Calling __v4l2_async_nf_add_fwnode grabs a refcount, 673 674 * so drop the one we got in fwnode_graph_get_remote_port_parent. 674 675 */ 675 676 fwnode_handle_put(remote); 676 677 return asd; 677 678 } 678 - EXPORT_SYMBOL_GPL(__v4l2_async_notifier_add_fwnode_remote_subdev); 679 + EXPORT_SYMBOL_GPL(__v4l2_async_nf_add_fwnode_remote); 679 680 680 681 struct v4l2_async_subdev * 681 - __v4l2_async_notifier_add_i2c_subdev(struct v4l2_async_notifier *notifier, 682 - int adapter_id, unsigned short address, 683 - unsigned int asd_struct_size) 682 + __v4l2_async_nf_add_i2c(struct v4l2_async_notifier *notifier, int adapter_id, 683 + unsigned short address, unsigned int asd_struct_size) 684 684 { 685 685 struct v4l2_async_subdev *asd; 686 686 int ret; ··· 691 695 asd->match.i2c.adapter_id = adapter_id; 692 696 asd->match.i2c.address = address; 693 697 694 - ret = __v4l2_async_notifier_add_subdev(notifier, asd); 698 + ret = __v4l2_async_nf_add_subdev(notifier, asd); 695 699 if (ret) { 696 700 kfree(asd); 697 701 return ERR_PTR(ret); ··· 699 703 700 704 return asd; 701 705 } 702 - EXPORT_SYMBOL_GPL(__v4l2_async_notifier_add_i2c_subdev); 706 + EXPORT_SYMBOL_GPL(__v4l2_async_nf_add_i2c); 703 707 704 708 int v4l2_async_register_subdev(struct v4l2_subdev *sd) 705 709 { ··· 721 725 722 726 list_for_each_entry(notifier, &notifier_list, list) { 723 727 struct v4l2_device *v4l2_dev = 724 - v4l2_async_notifier_find_v4l2_dev(notifier); 728 + v4l2_async_nf_find_v4l2_dev(notifier); 725 729 struct v4l2_async_subdev *asd; 726 730 727 731 if (!v4l2_dev) ··· 735 739 if (ret) 736 740 goto err_unbind; 737 741 738 - ret = v4l2_async_notifier_try_complete(notifier); 742 + ret = v4l2_async_nf_try_complete(notifier); 739 743 if (ret) 740 744 goto err_unbind; 741 745 ··· 757 761 */ 758 762 subdev_notifier = v4l2_async_find_subdev_notifier(sd); 759 763 if (subdev_notifier) 760 - v4l2_async_notifier_unbind_all_subdevs(subdev_notifier); 764 + v4l2_async_nf_unbind_all_subdevs(subdev_notifier); 761 765 762 766 if (sd->asd) 763 - v4l2_async_notifier_call_unbind(notifier, sd, sd->asd); 767 + v4l2_async_nf_call_unbind(notifier, sd, sd->asd); 764 768 v4l2_async_cleanup(sd); 765 769 766 770 mutex_unlock(&list_lock); ··· 776 780 777 781 mutex_lock(&list_lock); 778 782 779 - __v4l2_async_notifier_unregister(sd->subdev_notifier); 780 - __v4l2_async_notifier_cleanup(sd->subdev_notifier); 783 + __v4l2_async_nf_unregister(sd->subdev_notifier); 784 + __v4l2_async_nf_cleanup(sd->subdev_notifier); 781 785 kfree(sd->subdev_notifier); 782 786 sd->subdev_notifier = NULL; 783 787 ··· 786 790 787 791 list_add(&sd->asd->list, &notifier->waiting); 788 792 789 - v4l2_async_notifier_call_unbind(notifier, sd, sd->asd); 793 + v4l2_async_nf_call_unbind(notifier, sd, sd->asd); 790 794 } 791 795 792 796 v4l2_async_cleanup(sd); ··· 821 825 } 822 826 823 827 static const char * 824 - v4l2_async_notifier_name(struct v4l2_async_notifier *notifier) 828 + v4l2_async_nf_name(struct v4l2_async_notifier *notifier) 825 829 { 826 830 if (notifier->v4l2_dev) 827 831 return notifier->v4l2_dev->name; ··· 839 843 mutex_lock(&list_lock); 840 844 841 845 list_for_each_entry(notif, &notifier_list, list) { 842 - seq_printf(s, "%s:\n", v4l2_async_notifier_name(notif)); 846 + seq_printf(s, "%s:\n", v4l2_async_nf_name(notif)); 843 847 list_for_each_entry(asd, &notif->waiting, list) 844 848 print_waiting_subdev(s, asd); 845 849 }
+35 -39
drivers/media/v4l2-core/v4l2-fwnode.c
··· 780 780 EXPORT_SYMBOL_GPL(v4l2_fwnode_device_parse); 781 781 782 782 static int 783 - v4l2_async_notifier_fwnode_parse_endpoint(struct device *dev, 784 - struct v4l2_async_notifier *notifier, 785 - struct fwnode_handle *endpoint, 786 - unsigned int asd_struct_size, 787 - parse_endpoint_func parse_endpoint) 783 + v4l2_async_nf_fwnode_parse_endpoint(struct device *dev, 784 + struct v4l2_async_notifier *notifier, 785 + struct fwnode_handle *endpoint, 786 + unsigned int asd_struct_size, 787 + parse_endpoint_func parse_endpoint) 788 788 { 789 789 struct v4l2_fwnode_endpoint vep = { .bus_type = 0 }; 790 790 struct v4l2_async_subdev *asd; ··· 822 822 if (ret < 0) 823 823 goto out_err; 824 824 825 - ret = __v4l2_async_notifier_add_subdev(notifier, asd); 825 + ret = __v4l2_async_nf_add_subdev(notifier, asd); 826 826 if (ret < 0) { 827 827 /* not an error if asd already exists */ 828 828 if (ret == -EEXIST) ··· 840 840 } 841 841 842 842 static int 843 - __v4l2_async_notifier_parse_fwnode_ep(struct device *dev, 844 - struct v4l2_async_notifier *notifier, 845 - size_t asd_struct_size, 846 - unsigned int port, 847 - bool has_port, 848 - parse_endpoint_func parse_endpoint) 843 + __v4l2_async_nf_parse_fwnode_ep(struct device *dev, 844 + struct v4l2_async_notifier *notifier, 845 + size_t asd_struct_size, unsigned int port, 846 + bool has_port, 847 + parse_endpoint_func parse_endpoint) 849 848 { 850 849 struct fwnode_handle *fwnode; 851 850 int ret = 0; ··· 873 874 continue; 874 875 } 875 876 876 - ret = v4l2_async_notifier_fwnode_parse_endpoint(dev, 877 - notifier, 878 - fwnode, 879 - asd_struct_size, 880 - parse_endpoint); 877 + ret = v4l2_async_nf_fwnode_parse_endpoint(dev, notifier, 878 + fwnode, 879 + asd_struct_size, 880 + parse_endpoint); 881 881 if (ret < 0) 882 882 break; 883 883 } ··· 887 889 } 888 890 889 891 int 890 - v4l2_async_notifier_parse_fwnode_endpoints(struct device *dev, 891 - struct v4l2_async_notifier *notifier, 892 - size_t asd_struct_size, 893 - parse_endpoint_func parse_endpoint) 892 + v4l2_async_nf_parse_fwnode_endpoints(struct device *dev, 893 + struct v4l2_async_notifier *notifier, 894 + size_t asd_struct_size, 895 + parse_endpoint_func parse_endpoint) 894 896 { 895 - return __v4l2_async_notifier_parse_fwnode_ep(dev, notifier, 896 - asd_struct_size, 0, 897 - false, parse_endpoint); 897 + return __v4l2_async_nf_parse_fwnode_ep(dev, notifier, asd_struct_size, 898 + 0, false, parse_endpoint); 898 899 } 899 - EXPORT_SYMBOL_GPL(v4l2_async_notifier_parse_fwnode_endpoints); 900 + EXPORT_SYMBOL_GPL(v4l2_async_nf_parse_fwnode_endpoints); 900 901 901 902 /* 902 903 * v4l2_fwnode_reference_parse - parse references for async sub-devices ··· 939 942 index++) { 940 943 struct v4l2_async_subdev *asd; 941 944 942 - asd = v4l2_async_notifier_add_fwnode_subdev(notifier, 943 - args.fwnode, 944 - struct v4l2_async_subdev); 945 + asd = v4l2_async_nf_add_fwnode(notifier, args.fwnode, 946 + struct v4l2_async_subdev); 945 947 fwnode_handle_put(args.fwnode); 946 948 if (IS_ERR(asd)) { 947 949 /* not an error if asd already exists */ ··· 1239 1243 index++) { 1240 1244 struct v4l2_async_subdev *asd; 1241 1245 1242 - asd = v4l2_async_notifier_add_fwnode_subdev(notifier, fwnode, 1243 - struct v4l2_async_subdev); 1246 + asd = v4l2_async_nf_add_fwnode(notifier, fwnode, 1247 + struct v4l2_async_subdev); 1244 1248 fwnode_handle_put(fwnode); 1245 1249 if (IS_ERR(asd)) { 1246 1250 ret = PTR_ERR(asd); ··· 1256 1260 } 1257 1261 1258 1262 /** 1259 - * v4l2_async_notifier_parse_fwnode_sensor - parse common references on 1263 + * v4l2_async_nf_parse_fwnode_sensor - parse common references on 1260 1264 * sensors for async sub-devices 1261 1265 * @dev: the device node the properties of which are parsed for references 1262 1266 * @notifier: the async notifier where the async subdevs will be added ··· 1265 1269 * sensor and set up async sub-devices for them. 1266 1270 * 1267 1271 * Any notifier populated using this function must be released with a call to 1268 - * v4l2_async_notifier_release() after it has been unregistered and the async 1272 + * v4l2_async_nf_release() after it has been unregistered and the async 1269 1273 * sub-devices are no longer in use, even in the case the function returned an 1270 1274 * error. 1271 1275 * ··· 1274 1278 * -EINVAL if property parsing failed 1275 1279 */ 1276 1280 static int 1277 - v4l2_async_notifier_parse_fwnode_sensor(struct device *dev, 1278 - struct v4l2_async_notifier *notifier) 1281 + v4l2_async_nf_parse_fwnode_sensor(struct device *dev, 1282 + struct v4l2_async_notifier *notifier) 1279 1283 { 1280 1284 static const char * const led_props[] = { "led" }; 1281 1285 static const struct v4l2_fwnode_int_props props[] = { ··· 1316 1320 if (!notifier) 1317 1321 return -ENOMEM; 1318 1322 1319 - v4l2_async_notifier_init(notifier); 1323 + v4l2_async_nf_init(notifier); 1320 1324 1321 - ret = v4l2_async_notifier_parse_fwnode_sensor(sd->dev, notifier); 1325 + ret = v4l2_async_nf_parse_fwnode_sensor(sd->dev, notifier); 1322 1326 if (ret < 0) 1323 1327 goto out_cleanup; 1324 1328 1325 - ret = v4l2_async_subdev_notifier_register(sd, notifier); 1329 + ret = v4l2_async_subdev_nf_register(sd, notifier); 1326 1330 if (ret < 0) 1327 1331 goto out_cleanup; 1328 1332 ··· 1335 1339 return 0; 1336 1340 1337 1341 out_unregister: 1338 - v4l2_async_notifier_unregister(notifier); 1342 + v4l2_async_nf_unregister(notifier); 1339 1343 1340 1344 out_cleanup: 1341 - v4l2_async_notifier_cleanup(notifier); 1345 + v4l2_async_nf_cleanup(notifier); 1342 1346 kfree(notifier); 1343 1347 1344 1348 return ret;
+8 -9
drivers/staging/media/imx/imx-media-csi.c
··· 1924 1924 unsigned int port; 1925 1925 int ret; 1926 1926 1927 - v4l2_async_notifier_init(&priv->notifier); 1927 + v4l2_async_nf_init(&priv->notifier); 1928 1928 1929 1929 /* get this CSI's port id */ 1930 1930 ret = fwnode_property_read_u32(dev_fwnode(priv->dev), "reg", &port); ··· 1935 1935 port, 0, 1936 1936 FWNODE_GRAPH_ENDPOINT_NEXT); 1937 1937 if (ep) { 1938 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 1939 - &priv->notifier, ep, struct v4l2_async_subdev); 1938 + asd = v4l2_async_nf_add_fwnode_remote(&priv->notifier, ep, 1939 + struct v4l2_async_subdev); 1940 1940 1941 1941 fwnode_handle_put(ep); 1942 1942 ··· 1950 1950 1951 1951 priv->notifier.ops = &csi_notify_ops; 1952 1952 1953 - ret = v4l2_async_subdev_notifier_register(&priv->sd, 1954 - &priv->notifier); 1953 + ret = v4l2_async_subdev_nf_register(&priv->sd, &priv->notifier); 1955 1954 if (ret) 1956 1955 return ret; 1957 1956 ··· 2039 2040 return 0; 2040 2041 2041 2042 cleanup: 2042 - v4l2_async_notifier_unregister(&priv->notifier); 2043 - v4l2_async_notifier_cleanup(&priv->notifier); 2043 + v4l2_async_nf_unregister(&priv->notifier); 2044 + v4l2_async_nf_cleanup(&priv->notifier); 2044 2045 free: 2045 2046 v4l2_ctrl_handler_free(&priv->ctrl_hdlr); 2046 2047 mutex_destroy(&priv->lock); ··· 2054 2055 2055 2056 v4l2_ctrl_handler_free(&priv->ctrl_hdlr); 2056 2057 mutex_destroy(&priv->lock); 2057 - v4l2_async_notifier_unregister(&priv->notifier); 2058 - v4l2_async_notifier_cleanup(&priv->notifier); 2058 + v4l2_async_nf_unregister(&priv->notifier); 2059 + v4l2_async_nf_cleanup(&priv->notifier); 2059 2060 v4l2_async_unregister_subdev(sd); 2060 2061 media_entity_cleanup(&sd->entity); 2061 2062
+3 -4
drivers/staging/media/imx/imx-media-dev-common.c
··· 379 379 380 380 INIT_LIST_HEAD(&imxmd->vdev_list); 381 381 382 - v4l2_async_notifier_init(&imxmd->notifier); 382 + v4l2_async_nf_init(&imxmd->notifier); 383 383 384 384 return imxmd; 385 385 ··· 403 403 404 404 /* prepare the async subdev notifier and register it */ 405 405 imxmd->notifier.ops = ops ? ops : &imx_media_notifier_ops; 406 - ret = v4l2_async_notifier_register(&imxmd->v4l2_dev, 407 - &imxmd->notifier); 406 + ret = v4l2_async_nf_register(&imxmd->v4l2_dev, &imxmd->notifier); 408 407 if (ret) { 409 408 v4l2_err(&imxmd->v4l2_dev, 410 - "v4l2_async_notifier_register failed with %d\n", ret); 409 + "v4l2_async_nf_register failed with %d\n", ret); 411 410 return ret; 412 411 } 413 412
+3 -3
drivers/staging/media/imx/imx-media-dev.c
··· 94 94 return 0; 95 95 96 96 cleanup: 97 - v4l2_async_notifier_cleanup(&imxmd->notifier); 97 + v4l2_async_nf_cleanup(&imxmd->notifier); 98 98 v4l2_device_unregister(&imxmd->v4l2_dev); 99 99 media_device_cleanup(&imxmd->md); 100 100 ··· 113 113 imxmd->m2m_vdev = NULL; 114 114 } 115 115 116 - v4l2_async_notifier_unregister(&imxmd->notifier); 116 + v4l2_async_nf_unregister(&imxmd->notifier); 117 117 imx_media_unregister_ipu_internal_subdevs(imxmd); 118 - v4l2_async_notifier_cleanup(&imxmd->notifier); 118 + v4l2_async_nf_cleanup(&imxmd->notifier); 119 119 media_device_unregister(&imxmd->md); 120 120 v4l2_device_unregister(&imxmd->v4l2_dev); 121 121 media_device_cleanup(&imxmd->md);
+3 -3
drivers/staging/media/imx/imx-media-of.c
··· 29 29 } 30 30 31 31 /* add CSI fwnode to async notifier */ 32 - asd = v4l2_async_notifier_add_fwnode_subdev(&imxmd->notifier, 33 - of_fwnode_handle(csi_np), 34 - struct v4l2_async_subdev); 32 + asd = v4l2_async_nf_add_fwnode(&imxmd->notifier, 33 + of_fwnode_handle(csi_np), 34 + struct v4l2_async_subdev); 35 35 if (IS_ERR(asd)) { 36 36 ret = PTR_ERR(asd); 37 37 if (ret == -EEXIST)
+8 -9
drivers/staging/media/imx/imx6-mipi-csi2.c
··· 647 647 struct fwnode_handle *ep; 648 648 int ret; 649 649 650 - v4l2_async_notifier_init(&csi2->notifier); 650 + v4l2_async_nf_init(&csi2->notifier); 651 651 652 652 ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi2->dev), 0, 0, 653 653 FWNODE_GRAPH_ENDPOINT_NEXT); ··· 663 663 dev_dbg(csi2->dev, "data lanes: %d\n", vep.bus.mipi_csi2.num_data_lanes); 664 664 dev_dbg(csi2->dev, "flags: 0x%08x\n", vep.bus.mipi_csi2.flags); 665 665 666 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 667 - &csi2->notifier, ep, struct v4l2_async_subdev); 666 + asd = v4l2_async_nf_add_fwnode_remote(&csi2->notifier, ep, 667 + struct v4l2_async_subdev); 668 668 fwnode_handle_put(ep); 669 669 670 670 if (IS_ERR(asd)) ··· 672 672 673 673 csi2->notifier.ops = &csi2_notify_ops; 674 674 675 - ret = v4l2_async_subdev_notifier_register(&csi2->sd, 676 - &csi2->notifier); 675 + ret = v4l2_async_subdev_nf_register(&csi2->sd, &csi2->notifier); 677 676 if (ret) 678 677 return ret; 679 678 ··· 767 768 return 0; 768 769 769 770 clean_notifier: 770 - v4l2_async_notifier_unregister(&csi2->notifier); 771 - v4l2_async_notifier_cleanup(&csi2->notifier); 771 + v4l2_async_nf_unregister(&csi2->notifier); 772 + v4l2_async_nf_cleanup(&csi2->notifier); 772 773 clk_disable_unprepare(csi2->dphy_clk); 773 774 pllref_off: 774 775 clk_disable_unprepare(csi2->pllref_clk); ··· 782 783 struct v4l2_subdev *sd = platform_get_drvdata(pdev); 783 784 struct csi2_dev *csi2 = sd_to_dev(sd); 784 785 785 - v4l2_async_notifier_unregister(&csi2->notifier); 786 - v4l2_async_notifier_cleanup(&csi2->notifier); 786 + v4l2_async_nf_unregister(&csi2->notifier); 787 + v4l2_async_nf_cleanup(&csi2->notifier); 787 788 v4l2_async_unregister_subdev(sd); 788 789 clk_disable_unprepare(csi2->dphy_clk); 789 790 clk_disable_unprepare(csi2->pllref_clk);
+12 -12
drivers/staging/media/imx/imx7-media-csi.c
··· 1099 1099 struct fwnode_handle *ep; 1100 1100 int ret; 1101 1101 1102 - v4l2_async_notifier_init(&csi->notifier); 1102 + v4l2_async_nf_init(&csi->notifier); 1103 1103 1104 1104 ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi->dev), 0, 0, 1105 1105 FWNODE_GRAPH_ENDPOINT_NEXT); 1106 1106 if (ep) { 1107 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 1108 - &csi->notifier, ep, struct v4l2_async_subdev); 1107 + asd = v4l2_async_nf_add_fwnode_remote(&csi->notifier, ep, 1108 + struct v4l2_async_subdev); 1109 1109 1110 1110 fwnode_handle_put(ep); 1111 1111 ··· 1119 1119 1120 1120 csi->notifier.ops = &imx7_csi_notify_ops; 1121 1121 1122 - ret = v4l2_async_subdev_notifier_register(&csi->sd, &csi->notifier); 1122 + ret = v4l2_async_subdev_nf_register(&csi->sd, &csi->notifier); 1123 1123 if (ret) 1124 1124 return ret; 1125 1125 ··· 1210 1210 return 0; 1211 1211 1212 1212 subdev_notifier_cleanup: 1213 - v4l2_async_notifier_unregister(&csi->notifier); 1214 - v4l2_async_notifier_cleanup(&csi->notifier); 1213 + v4l2_async_nf_unregister(&csi->notifier); 1214 + v4l2_async_nf_cleanup(&csi->notifier); 1215 1215 1216 1216 cleanup: 1217 - v4l2_async_notifier_unregister(&imxmd->notifier); 1218 - v4l2_async_notifier_cleanup(&imxmd->notifier); 1217 + v4l2_async_nf_unregister(&imxmd->notifier); 1218 + v4l2_async_nf_cleanup(&imxmd->notifier); 1219 1219 v4l2_device_unregister(&imxmd->v4l2_dev); 1220 1220 media_device_unregister(&imxmd->md); 1221 1221 media_device_cleanup(&imxmd->md); ··· 1232 1232 struct imx7_csi *csi = v4l2_get_subdevdata(sd); 1233 1233 struct imx_media_dev *imxmd = csi->imxmd; 1234 1234 1235 - v4l2_async_notifier_unregister(&imxmd->notifier); 1236 - v4l2_async_notifier_cleanup(&imxmd->notifier); 1235 + v4l2_async_nf_unregister(&imxmd->notifier); 1236 + v4l2_async_nf_cleanup(&imxmd->notifier); 1237 1237 1238 1238 media_device_unregister(&imxmd->md); 1239 1239 v4l2_device_unregister(&imxmd->v4l2_dev); 1240 1240 media_device_cleanup(&imxmd->md); 1241 1241 1242 - v4l2_async_notifier_unregister(&csi->notifier); 1243 - v4l2_async_notifier_cleanup(&csi->notifier); 1242 + v4l2_async_nf_unregister(&csi->notifier); 1243 + v4l2_async_nf_cleanup(&csi->notifier); 1244 1244 v4l2_async_unregister_subdev(sd); 1245 1245 1246 1246 mutex_destroy(&csi->lock);
+8 -8
drivers/staging/media/imx/imx7-mipi-csis.c
··· 1162 1162 unsigned int i; 1163 1163 int ret; 1164 1164 1165 - v4l2_async_notifier_init(&state->notifier); 1165 + v4l2_async_nf_init(&state->notifier); 1166 1166 1167 1167 ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(state->dev), 0, 0, 1168 1168 FWNODE_GRAPH_ENDPOINT_NEXT); ··· 1187 1187 dev_dbg(state->dev, "data lanes: %d\n", state->bus.num_data_lanes); 1188 1188 dev_dbg(state->dev, "flags: 0x%08x\n", state->bus.flags); 1189 1189 1190 - asd = v4l2_async_notifier_add_fwnode_remote_subdev( 1191 - &state->notifier, ep, struct v4l2_async_subdev); 1190 + asd = v4l2_async_nf_add_fwnode_remote(&state->notifier, ep, 1191 + struct v4l2_async_subdev); 1192 1192 if (IS_ERR(asd)) { 1193 1193 ret = PTR_ERR(asd); 1194 1194 goto err_parse; ··· 1198 1198 1199 1199 state->notifier.ops = &mipi_csis_notify_ops; 1200 1200 1201 - ret = v4l2_async_subdev_notifier_register(&state->sd, &state->notifier); 1201 + ret = v4l2_async_subdev_nf_register(&state->sd, &state->notifier); 1202 1202 if (ret) 1203 1203 return ret; 1204 1204 ··· 1429 1429 mipi_csis_debugfs_exit(state); 1430 1430 cleanup: 1431 1431 media_entity_cleanup(&state->sd.entity); 1432 - v4l2_async_notifier_unregister(&state->notifier); 1433 - v4l2_async_notifier_cleanup(&state->notifier); 1432 + v4l2_async_nf_unregister(&state->notifier); 1433 + v4l2_async_nf_cleanup(&state->notifier); 1434 1434 v4l2_async_unregister_subdev(&state->sd); 1435 1435 disable_clock: 1436 1436 mipi_csis_clk_disable(state); ··· 1445 1445 struct csi_state *state = mipi_sd_to_csis_state(sd); 1446 1446 1447 1447 mipi_csis_debugfs_exit(state); 1448 - v4l2_async_notifier_unregister(&state->notifier); 1449 - v4l2_async_notifier_cleanup(&state->notifier); 1448 + v4l2_async_nf_unregister(&state->notifier); 1449 + v4l2_async_nf_cleanup(&state->notifier); 1450 1450 v4l2_async_unregister_subdev(&state->sd); 1451 1451 1452 1452 pm_runtime_disable(&pdev->dev);
+8 -8
drivers/staging/media/imx/imx8mq-mipi-csi2.c
··· 643 643 unsigned int i; 644 644 int ret; 645 645 646 - v4l2_async_notifier_init(&state->notifier); 646 + v4l2_async_nf_init(&state->notifier); 647 647 648 648 ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(state->dev), 0, 0, 649 649 FWNODE_GRAPH_ENDPOINT_NEXT); ··· 669 669 state->bus.num_data_lanes, 670 670 state->bus.flags); 671 671 672 - asd = v4l2_async_notifier_add_fwnode_remote_subdev(&state->notifier, 673 - ep, struct v4l2_async_subdev); 672 + asd = v4l2_async_nf_add_fwnode_remote(&state->notifier, ep, 673 + struct v4l2_async_subdev); 674 674 if (IS_ERR(asd)) { 675 675 ret = PTR_ERR(asd); 676 676 goto err_parse; ··· 680 680 681 681 state->notifier.ops = &imx8mq_mipi_csi_notify_ops; 682 682 683 - ret = v4l2_async_subdev_notifier_register(&state->sd, &state->notifier); 683 + ret = v4l2_async_subdev_nf_register(&state->sd, &state->notifier); 684 684 if (ret) 685 685 return ret; 686 686 ··· 937 937 imx8mq_mipi_csi_pm_suspend(&pdev->dev, true); 938 938 939 939 media_entity_cleanup(&state->sd.entity); 940 - v4l2_async_notifier_unregister(&state->notifier); 941 - v4l2_async_notifier_cleanup(&state->notifier); 940 + v4l2_async_nf_unregister(&state->notifier); 941 + v4l2_async_nf_cleanup(&state->notifier); 942 942 v4l2_async_unregister_subdev(&state->sd); 943 943 icc: 944 944 imx8mq_mipi_csi_release_icc(pdev); ··· 953 953 struct v4l2_subdev *sd = platform_get_drvdata(pdev); 954 954 struct csi_state *state = mipi_sd_to_csi2_state(sd); 955 955 956 - v4l2_async_notifier_unregister(&state->notifier); 957 - v4l2_async_notifier_cleanup(&state->notifier); 956 + v4l2_async_nf_unregister(&state->notifier); 957 + v4l2_async_nf_cleanup(&state->notifier); 958 958 v4l2_async_unregister_subdev(&state->sd); 959 959 960 960 pm_runtime_disable(&pdev->dev);
+8 -9
drivers/staging/media/tegra-video/vi.c
··· 1272 1272 } 1273 1273 1274 1274 if (!IS_ENABLED(CONFIG_VIDEO_TEGRA_TPG)) 1275 - v4l2_async_notifier_init(&chan->notifier); 1275 + v4l2_async_nf_init(&chan->notifier); 1276 1276 1277 1277 return 0; 1278 1278 ··· 1811 1811 continue; 1812 1812 } 1813 1813 1814 - tvge = v4l2_async_notifier_add_fwnode_subdev(&chan->notifier, remote, 1815 - struct tegra_vi_graph_entity); 1814 + tvge = v4l2_async_nf_add_fwnode(&chan->notifier, remote, 1815 + struct tegra_vi_graph_entity); 1816 1816 if (IS_ERR(tvge)) { 1817 1817 ret = PTR_ERR(tvge); 1818 1818 dev_err(vi->dev, ··· 1834 1834 1835 1835 cleanup: 1836 1836 dev_err(vi->dev, "failed parsing the graph: %d\n", ret); 1837 - v4l2_async_notifier_cleanup(&chan->notifier); 1837 + v4l2_async_nf_cleanup(&chan->notifier); 1838 1838 of_node_put(node); 1839 1839 return ret; 1840 1840 } ··· 1868 1868 continue; 1869 1869 1870 1870 chan->notifier.ops = &tegra_vi_async_ops; 1871 - ret = v4l2_async_notifier_register(&vid->v4l2_dev, 1872 - &chan->notifier); 1871 + ret = v4l2_async_nf_register(&vid->v4l2_dev, &chan->notifier); 1873 1872 if (ret < 0) { 1874 1873 dev_err(vi->dev, 1875 1874 "failed to register channel %d notifier: %d\n", 1876 1875 chan->portnos[0], ret); 1877 - v4l2_async_notifier_cleanup(&chan->notifier); 1876 + v4l2_async_nf_cleanup(&chan->notifier); 1878 1877 } 1879 1878 } 1880 1879 ··· 1886 1887 1887 1888 list_for_each_entry(chan, &vi->vi_chans, list) { 1888 1889 vb2_video_unregister_device(&chan->video); 1889 - v4l2_async_notifier_unregister(&chan->notifier); 1890 - v4l2_async_notifier_cleanup(&chan->notifier); 1890 + v4l2_async_nf_unregister(&chan->notifier); 1891 + v4l2_async_nf_cleanup(&chan->notifier); 1891 1892 } 1892 1893 } 1893 1894
+51 -54
include/media/v4l2-async.h
··· 123 123 void v4l2_async_debug_init(struct dentry *debugfs_dir); 124 124 125 125 /** 126 - * v4l2_async_notifier_init - Initialize a notifier. 126 + * v4l2_async_nf_init - Initialize a notifier. 127 127 * 128 128 * @notifier: pointer to &struct v4l2_async_notifier 129 129 * 130 130 * This function initializes the notifier @asd_list. It must be called 131 131 * before adding a subdevice to a notifier, using one of: 132 - * v4l2_async_notifier_add_fwnode_remote_subdev(), 133 - * v4l2_async_notifier_add_fwnode_subdev(), 134 - * v4l2_async_notifier_add_i2c_subdev(), 135 - * __v4l2_async_notifier_add_subdev() or 136 - * v4l2_async_notifier_parse_fwnode_endpoints(). 132 + * v4l2_async_nf_add_fwnode_remote(), 133 + * v4l2_async_nf_add_fwnode(), 134 + * v4l2_async_nf_add_i2c(), 135 + * __v4l2_async_nf_add_subdev() or 136 + * v4l2_async_nf_parse_fwnode_endpoints(). 137 137 */ 138 - void v4l2_async_notifier_init(struct v4l2_async_notifier *notifier); 138 + void v4l2_async_nf_init(struct v4l2_async_notifier *notifier); 139 139 140 140 /** 141 - * __v4l2_async_notifier_add_subdev - Add an async subdev to the 141 + * __v4l2_async_nf_add_subdev - Add an async subdev to the 142 142 * notifier's master asd list. 143 143 * 144 144 * @notifier: pointer to &struct v4l2_async_notifier 145 145 * @asd: pointer to &struct v4l2_async_subdev 146 146 * 147 147 * \warning: Drivers should avoid using this function and instead use one of: 148 - * v4l2_async_notifier_add_fwnode_subdev(), 149 - * v4l2_async_notifier_add_fwnode_remote_subdev() or 150 - * v4l2_async_notifier_add_i2c_subdev(). 148 + * v4l2_async_nf_add_fwnode(), 149 + * v4l2_async_nf_add_fwnode_remote() or 150 + * v4l2_async_nf_add_i2c(). 151 151 * 152 152 * Call this function before registering a notifier to link the provided @asd to 153 153 * the notifiers master @asd_list. The @asd must be allocated with k*alloc() as 154 154 * it will be freed by the framework when the notifier is destroyed. 155 155 */ 156 - int __v4l2_async_notifier_add_subdev(struct v4l2_async_notifier *notifier, 157 - struct v4l2_async_subdev *asd); 156 + int __v4l2_async_nf_add_subdev(struct v4l2_async_notifier *notifier, 157 + struct v4l2_async_subdev *asd); 158 158 159 159 struct v4l2_async_subdev * 160 - __v4l2_async_notifier_add_fwnode_subdev(struct v4l2_async_notifier *notifier, 161 - struct fwnode_handle *fwnode, 162 - unsigned int asd_struct_size); 160 + __v4l2_async_nf_add_fwnode(struct v4l2_async_notifier *notifier, 161 + struct fwnode_handle *fwnode, 162 + unsigned int asd_struct_size); 163 163 /** 164 - * v4l2_async_notifier_add_fwnode_subdev - Allocate and add a fwnode async 164 + * v4l2_async_nf_add_fwnode - Allocate and add a fwnode async 165 165 * subdev to the notifier's master asd_list. 166 166 * 167 167 * @notifier: pointer to &struct v4l2_async_notifier ··· 175 175 * notifiers @asd_list. The function also gets a reference of the fwnode which 176 176 * is released later at notifier cleanup time. 177 177 */ 178 - #define v4l2_async_notifier_add_fwnode_subdev(notifier, fwnode, type) \ 179 - ((type *)__v4l2_async_notifier_add_fwnode_subdev(notifier, fwnode, \ 180 - sizeof(type))) 178 + #define v4l2_async_nf_add_fwnode(notifier, fwnode, type) \ 179 + ((type *)__v4l2_async_nf_add_fwnode(notifier, fwnode, sizeof(type))) 181 180 182 181 struct v4l2_async_subdev * 183 - __v4l2_async_notifier_add_fwnode_remote_subdev(struct v4l2_async_notifier *notif, 184 - struct fwnode_handle *endpoint, 185 - unsigned int asd_struct_size); 182 + __v4l2_async_nf_add_fwnode_remote(struct v4l2_async_notifier *notif, 183 + struct fwnode_handle *endpoint, 184 + unsigned int asd_struct_size); 186 185 /** 187 - * v4l2_async_notifier_add_fwnode_remote_subdev - Allocate and add a fwnode 186 + * v4l2_async_nf_add_fwnode_remote - Allocate and add a fwnode 188 187 * remote async subdev to the 189 188 * notifier's master asd_list. 190 189 * ··· 199 200 * function also gets a reference of the fwnode which is released later at 200 201 * notifier cleanup time. 201 202 * 202 - * This is just like v4l2_async_notifier_add_fwnode_subdev(), but with the 203 + * This is just like v4l2_async_nf_add_fwnode(), but with the 203 204 * exception that the fwnode refers to a local endpoint, not the remote one. 204 205 */ 205 - #define v4l2_async_notifier_add_fwnode_remote_subdev(notifier, ep, type) \ 206 - ((type *) \ 207 - __v4l2_async_notifier_add_fwnode_remote_subdev(notifier, ep, \ 208 - sizeof(type))) 206 + #define v4l2_async_nf_add_fwnode_remote(notifier, ep, type) \ 207 + ((type *)__v4l2_async_nf_add_fwnode_remote(notifier, ep, sizeof(type))) 209 208 210 209 struct v4l2_async_subdev * 211 - __v4l2_async_notifier_add_i2c_subdev(struct v4l2_async_notifier *notifier, 212 - int adapter_id, unsigned short address, 213 - unsigned int asd_struct_size); 210 + __v4l2_async_nf_add_i2c(struct v4l2_async_notifier *notifier, 211 + int adapter_id, unsigned short address, 212 + unsigned int asd_struct_size); 214 213 /** 215 - * v4l2_async_notifier_add_i2c_subdev - Allocate and add an i2c async 214 + * v4l2_async_nf_add_i2c - Allocate and add an i2c async 216 215 * subdev to the notifier's master asd_list. 217 216 * 218 217 * @notifier: pointer to &struct v4l2_async_notifier ··· 220 223 * v4l2_async_subdev shall be the first member of the driver's async 221 224 * sub-device struct, i.e. both begin at the same memory address. 222 225 * 223 - * Same as v4l2_async_notifier_add_fwnode_subdev() but for I2C matched 226 + * Same as v4l2_async_nf_add_fwnode() but for I2C matched 224 227 * sub-devices. 225 228 */ 226 - #define v4l2_async_notifier_add_i2c_subdev(notifier, adapter, address, type) \ 227 - ((type *)__v4l2_async_notifier_add_i2c_subdev(notifier, adapter, \ 228 - address, sizeof(type))) 229 + #define v4l2_async_nf_add_i2c(notifier, adapter, address, type) \ 230 + ((type *)__v4l2_async_nf_add_i2c(notifier, adapter, address, \ 231 + sizeof(type))) 229 232 230 233 /** 231 - * v4l2_async_notifier_register - registers a subdevice asynchronous notifier 234 + * v4l2_async_nf_register - registers a subdevice asynchronous notifier 232 235 * 233 236 * @v4l2_dev: pointer to &struct v4l2_device 234 237 * @notifier: pointer to &struct v4l2_async_notifier 235 238 */ 236 - int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev, 237 - struct v4l2_async_notifier *notifier); 239 + int v4l2_async_nf_register(struct v4l2_device *v4l2_dev, 240 + struct v4l2_async_notifier *notifier); 238 241 239 242 /** 240 - * v4l2_async_subdev_notifier_register - registers a subdevice asynchronous 243 + * v4l2_async_subdev_nf_register - registers a subdevice asynchronous 241 244 * notifier for a sub-device 242 245 * 243 246 * @sd: pointer to &struct v4l2_subdev 244 247 * @notifier: pointer to &struct v4l2_async_notifier 245 248 */ 246 - int v4l2_async_subdev_notifier_register(struct v4l2_subdev *sd, 247 - struct v4l2_async_notifier *notifier); 249 + int v4l2_async_subdev_nf_register(struct v4l2_subdev *sd, 250 + struct v4l2_async_notifier *notifier); 248 251 249 252 /** 250 - * v4l2_async_notifier_unregister - unregisters a subdevice 253 + * v4l2_async_nf_unregister - unregisters a subdevice 251 254 * asynchronous notifier 252 255 * 253 256 * @notifier: pointer to &struct v4l2_async_notifier 254 257 */ 255 - void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier); 258 + void v4l2_async_nf_unregister(struct v4l2_async_notifier *notifier); 256 259 257 260 /** 258 - * v4l2_async_notifier_cleanup - clean up notifier resources 261 + * v4l2_async_nf_cleanup - clean up notifier resources 259 262 * @notifier: the notifier the resources of which are to be cleaned up 260 263 * 261 264 * Release memory resources related to a notifier, including the async 262 265 * sub-devices allocated for the purposes of the notifier but not the notifier 263 266 * itself. The user is responsible for calling this function to clean up the 264 267 * notifier after calling 265 - * v4l2_async_notifier_add_fwnode_remote_subdev(), 266 - * v4l2_async_notifier_add_fwnode_subdev(), 267 - * v4l2_async_notifier_add_i2c_subdev(), 268 - * __v4l2_async_notifier_add_subdev() or 269 - * v4l2_async_notifier_parse_fwnode_endpoints(). 268 + * v4l2_async_nf_add_fwnode_remote(), 269 + * v4l2_async_nf_add_fwnode(), 270 + * v4l2_async_nf_add_i2c(), 271 + * __v4l2_async_nf_add_subdev() or 272 + * v4l2_async_nf_parse_fwnode_endpoints(). 270 273 * 271 - * There is no harm from calling v4l2_async_notifier_cleanup() in other 274 + * There is no harm from calling v4l2_async_nf_cleanup() in other 272 275 * cases as long as its memory has been zeroed after it has been 273 276 * allocated. 274 277 */ 275 - void v4l2_async_notifier_cleanup(struct v4l2_async_notifier *notifier); 278 + void v4l2_async_nf_cleanup(struct v4l2_async_notifier *notifier); 276 279 277 280 /** 278 281 * v4l2_async_register_subdev - registers a sub-device to the asynchronous ··· 292 295 * 293 296 * This function is just like v4l2_async_register_subdev() with the exception 294 297 * that calling it will also parse firmware interfaces for remote references 295 - * using v4l2_async_notifier_parse_fwnode_sensor() and registers the 298 + * using v4l2_async_nf_parse_fwnode_sensor() and registers the 296 299 * async sub-devices. The sub-device is similarly unregistered by calling 297 300 * v4l2_async_unregister_subdev(). 298 301 *
+6 -6
include/media/v4l2-fwnode.h
··· 463 463 struct v4l2_async_subdev *asd); 464 464 465 465 /** 466 - * v4l2_async_notifier_parse_fwnode_endpoints - Parse V4L2 fwnode endpoints in a 466 + * v4l2_async_nf_parse_fwnode_endpoints - Parse V4L2 fwnode endpoints in a 467 467 * device node 468 468 * @dev: the device the endpoints of which are to be parsed 469 469 * @notifier: notifier for @dev ··· 496 496 * to retain that configuration, the user needs to allocate memory for it. 497 497 * 498 498 * Any notifier populated using this function must be released with a call to 499 - * v4l2_async_notifier_cleanup() after it has been unregistered and the async 499 + * v4l2_async_nf_cleanup() after it has been unregistered and the async 500 500 * sub-devices are no longer in use, even if the function returned an error. 501 501 * 502 502 * Return: %0 on success, including when no async sub-devices are found ··· 505 505 * Other error codes as returned by @parse_endpoint 506 506 */ 507 507 int 508 - v4l2_async_notifier_parse_fwnode_endpoints(struct device *dev, 509 - struct v4l2_async_notifier *notifier, 510 - size_t asd_struct_size, 511 - parse_endpoint_func parse_endpoint); 508 + v4l2_async_nf_parse_fwnode_endpoints(struct device *dev, 509 + struct v4l2_async_notifier *notifier, 510 + size_t asd_struct_size, 511 + parse_endpoint_func parse_endpoint); 512 512 513 513 /* Helper macros to access the connector links. */ 514 514