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

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
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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;
}
+6 −2
Original line number Diff line number Diff line
@@ -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);
}
+6 −6
Original line number Diff line number Diff line
@@ -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 */

+6 −2
Original line number Diff line number Diff line
@@ -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;
}
+9 −5
Original line number Diff line number Diff line
@@ -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 */