All of lore.kernel.org
 help / color / mirror / Atom feed
* Userspace API for controlling the focus of the Surface Go [2] main/back-camera
@ 2021-10-25 10:06 Hans de Goede
  2021-10-25 10:25 ` Hans Verkuil
  2021-10-25 10:30 ` Laurent Pinchart
  0 siblings, 2 replies; 11+ messages in thread
From: Hans de Goede @ 2021-10-25 10:06 UTC (permalink / raw)
  To: Laurent Pinchart, Dan Scally, Sakari Ailus, Hans Verkuil
  Cc: Kate Hsuan, Linux Media Mailing List, libcamera-devel

Hi All,

With my (and Dan's) kernel patch-series to enable the back camera on
the Surface Go shaping up (and hopefully going upstream soon),
the next step is to enable control of the focus lens for the back
camera.

The focus is controlled through a separate i2c-client which is
described by a 2nd I2cSerialBusV2 resource entry in the ACPI
device for the ov8865 sensor. By default the kernel only instantiates
an i2c-client for the first I2cSerialBusV2 resource entry for an
ACPI device, getting an i2c-client for the 2nd one is easy and
out of scope for this discussion.

The question which I have is, assuming we have the 2nd i2c-client
instantiated and we have a i2c-driver binding to it, how do we
represent the focus control to userspace.

I see 2 possible directions we can go here:

1. Somehow inject an extra v4l2ctrl for this into the v4l2ctrl
list of the sensor. AFAIK we don't have infra for this atm, but
we could add some generic mechanism to do this to the v4l2-ctrls
core. IMHO from a userspace pov this is the cleanest, but at the
cost of some extra work / possible ugliness on the kernel side.

2. Register a separate v4l2_subdev for the focus-ctrl and in
some way provide information to userspace to which sensor this
belongs.

I believe that both are valid approaches. So before diving into
this I wonder what others are thinking about this.

Specific questions:

1. Hans Verkuil, what do you think about adding
support for another driver to inject ctrls into the ctrl
list of another v4l2(sub)dev ? Maybe something like this
already exists ? If not do you think this is feasible
and desirable to add ?

2. If we go with a separate v4l2_subdev, how do we communicate
to which sensor the focus-control belongs to userspace ?

Regards,

Hans


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-10-25 11:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-25 10:06 Userspace API for controlling the focus of the Surface Go [2] main/back-camera Hans de Goede
2021-10-25 10:25 ` Hans Verkuil
2021-10-25 10:53   ` Laurent Pinchart
2021-10-25 10:30 ` Laurent Pinchart
2021-10-25 10:47   ` Hans Verkuil
2021-10-25 10:55     ` Laurent Pinchart
2021-10-25 11:18       ` Hans Verkuil
2021-10-25 11:03     ` [libcamera-devel] " Dave Stevenson
2021-10-25 11:10       ` Hans Verkuil
2021-10-25 11:17         ` Dave Stevenson
2021-10-25 11:26           ` Hans Verkuil

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.