mirror of
https://github.com/torvalds/linux.git
synced 2025-01-01 15:51:46 +00:00
media: cadence: Use v4l2_async_notifier_add_fwnode_remote_subdev
The use of v4l2_async_notifier_add_subdev will be discouraged. Drivers are instead encouraged to use a helper such as v4l2_async_notifier_add_fwnode_remote_subdev. This fixes a misuse of the API, as v4l2_async_notifier_add_subdev should get a kmalloc'ed struct v4l2_async_subdev, removing some boilerplate code while at it. Use the appropriate helper v4l2_async_notifier_add_fwnode_remote_subdev, which handles the needed setup, instead of open-coding it. Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Helen Koike <helen.koike@collabora.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
5bbefdefe8
commit
88367b1522
@ -81,7 +81,6 @@ struct csi2rx_priv {
|
||||
struct media_pad pads[CSI2RX_PAD_MAX];
|
||||
|
||||
/* Remote source */
|
||||
struct v4l2_async_subdev asd;
|
||||
struct v4l2_subdev *source_subdev;
|
||||
int source_pad;
|
||||
};
|
||||
@ -362,6 +361,7 @@ static int csi2rx_get_resources(struct csi2rx_priv *csi2rx,
|
||||
static int csi2rx_parse_dt(struct csi2rx_priv *csi2rx)
|
||||
{
|
||||
struct v4l2_fwnode_endpoint v4l2_ep = { .bus_type = 0 };
|
||||
struct v4l2_async_subdev *asd;
|
||||
struct fwnode_handle *fwh;
|
||||
struct device_node *ep;
|
||||
int ret;
|
||||
@ -395,17 +395,13 @@ static int csi2rx_parse_dt(struct csi2rx_priv *csi2rx)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
csi2rx->asd.match.fwnode = fwnode_graph_get_remote_port_parent(fwh);
|
||||
csi2rx->asd.match_type = V4L2_ASYNC_MATCH_FWNODE;
|
||||
of_node_put(ep);
|
||||
|
||||
v4l2_async_notifier_init(&csi2rx->notifier);
|
||||
|
||||
ret = v4l2_async_notifier_add_subdev(&csi2rx->notifier, &csi2rx->asd);
|
||||
if (ret) {
|
||||
fwnode_handle_put(csi2rx->asd.match.fwnode);
|
||||
return ret;
|
||||
}
|
||||
asd = v4l2_async_notifier_add_fwnode_remote_subdev(&csi2rx->notifier,
|
||||
fwh, sizeof(*asd));
|
||||
of_node_put(ep);
|
||||
if (IS_ERR(asd))
|
||||
return PTR_ERR(asd);
|
||||
|
||||
csi2rx->notifier.ops = &csi2rx_notifier_ops;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user