Commit 40aaab9d authored by Tomi Valkeinen's avatar Tomi Valkeinen Committed by Mauro Carvalho Chehab

media: subdev: rename subdev-state alloc & free

v4l2_subdev_alloc_state() and v4l2_subdev_free_state() are not supposed
to be used by the drivers. However, we do have a few drivers that use
those at the moment, so we need to expose these functions for the time
being.

Prefix the functions with __ to mark the functions as internal.

At the same time, rename them to v4l2_subdev_state_alloc and
v4l2_subdev_state_free to match the style used for other functions like
video_device_alloc() and media_request_alloc().
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Reviewed-by: default avatarJacopo Mondi <jacopo@jmondi.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent e550c370
......@@ -263,7 +263,11 @@ static int rvin_try_format(struct rvin_dev *vin, u32 which,
u32 width, height;
int ret;
sd_state = v4l2_subdev_alloc_state(sd);
/*
* FIXME: Drop this call, drivers are not supposed to use
* __v4l2_subdev_state_alloc().
*/
sd_state = __v4l2_subdev_state_alloc(sd);
if (IS_ERR(sd_state))
return PTR_ERR(sd_state);
......@@ -299,7 +303,7 @@ static int rvin_try_format(struct rvin_dev *vin, u32 which,
rvin_format_align(vin, pix);
done:
v4l2_subdev_free_state(sd_state);
__v4l2_subdev_state_free(sd_state);
return ret;
}
......
......@@ -675,7 +675,11 @@ int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity,
* Allocate the pad configuration to store formats and selection
* rectangles.
*/
entity->config = v4l2_subdev_alloc_state(&entity->subdev);
/*
* FIXME: Drop this call, drivers are not supposed to use
* __v4l2_subdev_state_alloc().
*/
entity->config = __v4l2_subdev_state_alloc(&entity->subdev);
if (IS_ERR(entity->config)) {
media_entity_cleanup(&entity->subdev.entity);
return PTR_ERR(entity->config);
......@@ -690,6 +694,6 @@ void vsp1_entity_destroy(struct vsp1_entity *entity)
entity->ops->destroy(entity);
if (entity->subdev.ctrl_handler)
v4l2_ctrl_handler_free(entity->subdev.ctrl_handler);
v4l2_subdev_free_state(entity->config);
__v4l2_subdev_state_free(entity->config);
media_entity_cleanup(&entity->subdev.entity);
}
......@@ -28,7 +28,7 @@ static int subdev_fh_init(struct v4l2_subdev_fh *fh, struct v4l2_subdev *sd)
{
struct v4l2_subdev_state *state;
state = v4l2_subdev_alloc_state(sd);
state = __v4l2_subdev_state_alloc(sd);
if (IS_ERR(state))
return PTR_ERR(state);
......@@ -39,7 +39,7 @@ static int subdev_fh_init(struct v4l2_subdev_fh *fh, struct v4l2_subdev *sd)
static void subdev_fh_free(struct v4l2_subdev_fh *fh)
{
v4l2_subdev_free_state(fh->state);
__v4l2_subdev_state_free(fh->state);
fh->state = NULL;
}
......@@ -861,7 +861,7 @@ int v4l2_subdev_link_validate(struct media_link *link)
}
EXPORT_SYMBOL_GPL(v4l2_subdev_link_validate);
struct v4l2_subdev_state *v4l2_subdev_alloc_state(struct v4l2_subdev *sd)
struct v4l2_subdev_state *__v4l2_subdev_state_alloc(struct v4l2_subdev *sd)
{
struct v4l2_subdev_state *state;
int ret;
......@@ -894,9 +894,9 @@ struct v4l2_subdev_state *v4l2_subdev_alloc_state(struct v4l2_subdev *sd)
return ERR_PTR(ret);
}
EXPORT_SYMBOL_GPL(v4l2_subdev_alloc_state);
EXPORT_SYMBOL_GPL(__v4l2_subdev_state_alloc);
void v4l2_subdev_free_state(struct v4l2_subdev_state *state)
void __v4l2_subdev_state_free(struct v4l2_subdev_state *state)
{
if (!state)
return;
......@@ -904,7 +904,7 @@ void v4l2_subdev_free_state(struct v4l2_subdev_state *state)
kvfree(state->pads);
kfree(state);
}
EXPORT_SYMBOL_GPL(v4l2_subdev_free_state);
EXPORT_SYMBOL_GPL(__v4l2_subdev_state_free);
#endif /* CONFIG_MEDIA_CONTROLLER */
......
......@@ -507,7 +507,11 @@ static int __tegra_channel_try_format(struct tegra_vi_channel *chan,
if (!subdev)
return -ENODEV;
sd_state = v4l2_subdev_alloc_state(subdev);
/*
* FIXME: Drop this call, drivers are not supposed to use
* __v4l2_subdev_state_alloc().
*/
sd_state = __v4l2_subdev_state_alloc(subdev);
if (IS_ERR(sd_state))
return PTR_ERR(sd_state);
/*
......@@ -558,7 +562,7 @@ static int __tegra_channel_try_format(struct tegra_vi_channel *chan,
v4l2_fill_pix_format(pix, &fmt.format);
tegra_channel_fmt_align(chan, pix, fmtinfo->bpp);
v4l2_subdev_free_state(sd_state);
__v4l2_subdev_state_free(sd_state);
return 0;
}
......
......@@ -1122,20 +1122,24 @@ int v4l2_subdev_link_validate_default(struct v4l2_subdev *sd,
int v4l2_subdev_link_validate(struct media_link *link);
/**
* v4l2_subdev_alloc_state - allocate v4l2_subdev_state
* __v4l2_subdev_state_alloc - allocate v4l2_subdev_state
*
* @sd: pointer to &struct v4l2_subdev for which the state is being allocated.
*
* Must call v4l2_subdev_free_state() when state is no longer needed.
* Must call __v4l2_subdev_state_free() when state is no longer needed.
*
* Not to be called directly by the drivers.
*/
struct v4l2_subdev_state *v4l2_subdev_alloc_state(struct v4l2_subdev *sd);
struct v4l2_subdev_state *__v4l2_subdev_state_alloc(struct v4l2_subdev *sd);
/**
* v4l2_subdev_free_state - free a v4l2_subdev_state
* __v4l2_subdev_state_free - free a v4l2_subdev_state
*
* @state: v4l2_subdev_state to be freed.
*
* Not to be called directly by the drivers.
*/
void v4l2_subdev_free_state(struct v4l2_subdev_state *state);
void __v4l2_subdev_state_free(struct v4l2_subdev_state *state);
#endif /* CONFIG_MEDIA_CONTROLLER */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment