mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 09:20:13 -04:00
media: atomisp: gc0310: Add camera orientation and sensor rotation controls
Add camera orientation and sensor rotation controls using the v4l2_fwnode_device_parse() and v4l2_ctrl_new_fwnode_properties() helpers. Signed-off-by: Hans de Goede <hansg@kernel.org> Reviewed-by: Andy Shevchenko <andy@kernel.org> Link: https://lore.kernel.org/r/20250517114106.43494-10-hdegoede@redhat.com Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
c914e3971f
commit
c9524e6b90
@@ -20,6 +20,7 @@
|
||||
#include <media/v4l2-cci.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
|
||||
#define GC0310_NATIVE_WIDTH 656
|
||||
#define GC0310_NATIVE_HEIGHT 496
|
||||
@@ -580,9 +581,12 @@ static const struct v4l2_subdev_ops gc0310_ops = {
|
||||
|
||||
static int gc0310_init_controls(struct gc0310_device *sensor)
|
||||
{
|
||||
struct i2c_client *client = v4l2_get_subdevdata(&sensor->sd);
|
||||
struct v4l2_ctrl_handler *hdl = &sensor->ctrls.handler;
|
||||
struct v4l2_fwnode_device_properties props;
|
||||
int ret;
|
||||
|
||||
v4l2_ctrl_handler_init(hdl, 6);
|
||||
v4l2_ctrl_handler_init(hdl, 8);
|
||||
|
||||
/* Use the same lock for controls as for everything else */
|
||||
hdl->lock = &sensor->input_lock;
|
||||
@@ -614,6 +618,12 @@ static int gc0310_init_controls(struct gc0310_device *sensor)
|
||||
GC0310_H_BLANK_DEFAULT, 1,
|
||||
GC0310_H_BLANK_DEFAULT);
|
||||
|
||||
ret = v4l2_fwnode_device_parse(&client->dev, &props);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
v4l2_ctrl_new_fwnode_properties(hdl, &ctrl_ops, &props);
|
||||
|
||||
if (hdl->error)
|
||||
return hdl->error;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user