media: v4l2-common: Drop the workaround from v4l2_get_link_freq()
Remove the workaround that allowed calling v4l2_get_link_freq() on the control handler. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
committed by
Hans Verkuil
parent
2fbc015e12
commit
683342ce3c
@@ -512,8 +512,9 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_fill_pixfmt);
|
||||
|
||||
s64 __v4l2_get_link_freq_ctrl(struct v4l2_ctrl_handler *handler,
|
||||
unsigned int mul, unsigned int div)
|
||||
#ifdef CONFIG_MEDIA_CONTROLLER
|
||||
static s64 v4l2_get_link_freq_ctrl(struct v4l2_ctrl_handler *handler,
|
||||
unsigned int mul, unsigned int div)
|
||||
{
|
||||
struct v4l2_ctrl *ctrl;
|
||||
s64 freq;
|
||||
@@ -548,11 +549,9 @@ s64 __v4l2_get_link_freq_ctrl(struct v4l2_ctrl_handler *handler,
|
||||
|
||||
return freq > 0 ? freq : -EINVAL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__v4l2_get_link_freq_ctrl);
|
||||
|
||||
#ifdef CONFIG_MEDIA_CONTROLLER
|
||||
s64 __v4l2_get_link_freq_pad(struct media_pad *pad, unsigned int mul,
|
||||
unsigned int div)
|
||||
s64 v4l2_get_link_freq(struct media_pad *pad, unsigned int mul,
|
||||
unsigned int div)
|
||||
{
|
||||
struct v4l2_mbus_config mbus_config = {};
|
||||
struct v4l2_subdev *sd;
|
||||
@@ -571,10 +570,10 @@ s64 __v4l2_get_link_freq_pad(struct media_pad *pad, unsigned int mul,
|
||||
* Fall back to using the link frequency control if the media bus config
|
||||
* doesn't provide a link frequency.
|
||||
*/
|
||||
return __v4l2_get_link_freq_ctrl(sd->ctrl_handler, mul, div);
|
||||
return v4l2_get_link_freq_ctrl(sd->ctrl_handler, mul, div);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__v4l2_get_link_freq_pad);
|
||||
#endif /* CONFIG_MEDIA_CONTROLLER */
|
||||
EXPORT_SYMBOL_GPL(v4l2_get_link_freq);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Simplify a fraction using a simple continued fraction decomposition. The
|
||||
|
||||
@@ -560,15 +560,14 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt, u32 pixelformat,
|
||||
/**
|
||||
* v4l2_get_link_freq - Get link rate from transmitter
|
||||
*
|
||||
* @pad: The transmitter's media pad (or control handler for non-MC users or
|
||||
* compatibility reasons, don't use in new code)
|
||||
* @pad: The transmitter's media pad
|
||||
* @mul: The multiplier between pixel rate and link frequency. Bits per pixel on
|
||||
* D-PHY, samples per clock on parallel. 0 otherwise.
|
||||
* @div: The divisor between pixel rate and link frequency. Number of data lanes
|
||||
* times two on D-PHY, 1 on parallel. 0 otherwise.
|
||||
*
|
||||
* This function is intended for obtaining the link frequency from the
|
||||
* transmitter sub-devices. It returns the link rate, either from the
|
||||
* transmitter sub-device's pad. It returns the link rate, either from the
|
||||
* V4L2_CID_LINK_FREQ control implemented by the transmitter, or value
|
||||
* calculated based on the V4L2_CID_PIXEL_RATE implemented by the transmitter.
|
||||
*
|
||||
@@ -578,19 +577,9 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt, u32 pixelformat,
|
||||
* * %-EINVAL: Invalid link frequency value
|
||||
*/
|
||||
#ifdef CONFIG_MEDIA_CONTROLLER
|
||||
#define v4l2_get_link_freq(pad, mul, div) \
|
||||
_Generic(pad, \
|
||||
struct media_pad *: __v4l2_get_link_freq_pad, \
|
||||
struct v4l2_ctrl_handler *: __v4l2_get_link_freq_ctrl) \
|
||||
(pad, mul, div)
|
||||
s64 __v4l2_get_link_freq_pad(struct media_pad *pad, unsigned int mul,
|
||||
unsigned int div);
|
||||
#else
|
||||
#define v4l2_get_link_freq(handler, mul, div) \
|
||||
__v4l2_get_link_freq_ctrl(handler, mul, div)
|
||||
s64 v4l2_get_link_freq(struct media_pad *pad, unsigned int mul,
|
||||
unsigned int div);
|
||||
#endif
|
||||
s64 __v4l2_get_link_freq_ctrl(struct v4l2_ctrl_handler *handler,
|
||||
unsigned int mul, unsigned int div);
|
||||
|
||||
void v4l2_simplify_fraction(u32 *numerator, u32 *denominator,
|
||||
unsigned int n_terms, unsigned int threshold);
|
||||
|
||||
Reference in New Issue
Block a user