All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/5] media: Add MIPI CCI register access helper functions
@ 2023-06-27 12:51 Hans de Goede
  2023-06-27 12:51 ` [PATCH v4 1/5] " Hans de Goede
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Hans de Goede @ 2023-06-27 12:51 UTC (permalink / raw)
  To: Sakari Ailus, Laurent Pinchart, Rui Miguel Silva, Daniel Scally
  Cc: Hans de Goede, Mauro Carvalho Chehab, Andy Shevchenko, Kate Hsuan,
	Tommaso Merciai, linux-media

Hi Laurent, Sakari, et al.,

Here is v4 of my MIPI CCI register access helper patches.

New in the CCI register access helpers in v4:
- Add V4L2_CCI_I2C Kconfig and wrap devm_cci_regmap_init_i2c()
  with if IS_ENABLED(CONFIG_V4L2_CCI_I2C)

New in the CCI register access helpers in v3:
- Use unsigned int instead of int in a couple of places
- Run + fix checkpatch.pl --strict --max-line-length=80
- Rename cci_regmap_init_i2c() to devm_cci_regmap_init_i2c()
- Some small kerneldoc text tweaks

Other changes in v3:
- Some small tweaks to some of the driver conversions,
  see individual patch changelogs

New in the CCI register access helpers in v2:
- Drop cci_reg_type enum
- Make having an encoded reg-width mandatory rather then using 0 to encode
  8 bit width making reg-addresses without an encoded width default to
  a width of 8
- Add support for 64 bit wide registers
- Introduce a new cci_reg_sequence struct with 64 bit reg values for 64 bit
  support and without the delay_us field
- Various kerneldoc updates
- Stop supporting delays in cci_multi_reg_write()
- Some includes cleanups
- Disable regmap locking

Other changes in v2:
- Add a patch to convert the ov5693 driver (tested on Surface Go)
- Add a patch to convert the imx290 driver (untested)

Original (v1) cover-letter:

The CSI2 specification specifies a standard method to access camera sensor
registers called "Camera Control Interface (CCI)".

Currently a lot of Linux camera sensor drivers all have their own custom
helpers for this, often copy and pasted from other drivers.

This adds a set of generic helpers for this so that all sensor drivers can
switch to a single common implementation.

This is based on / the result of our previous discussion on this here:
Link: https://lore.kernel.org/linux-media/59aefa7f-7bf9-6736-6040-39551329cd0a@redhat.com/

Patches 2-4 are examples of how these helpers can be used and patch 5
removes the now no longer necessary ov_16bit_addr_reg_helpers.h which was
the previous attempt to add common CCI access helpers.

Regards,

Hans


Hans de Goede (5):
  media: Add MIPI CCI register access helper functions
  media: ov5693: Convert to new CCI register access helpers
  media: imx290: Convert to new CCI register access helpers
  media: atomisp: ov2680: Convert to new CCI register access helpers
  media: Remove ov_16bit_addr_reg_helpers.h

 Documentation/driver-api/media/v4l2-cci.rst   |   5 +
 Documentation/driver-api/media/v4l2-core.rst  |   1 +
 drivers/media/i2c/Kconfig                     |   2 +
 drivers/media/i2c/imx290.c                    | 360 +++++------
 drivers/media/i2c/ov5693.c                    | 585 +++++++-----------
 drivers/media/v4l2-core/Kconfig               |   9 +
 drivers/media/v4l2-core/Makefile              |   1 +
 drivers/media/v4l2-core/v4l2-cci.c            | 166 +++++
 drivers/staging/media/atomisp/i2c/Kconfig     |   1 +
 .../media/atomisp/i2c/atomisp-ov2680.c        | 251 ++++----
 drivers/staging/media/atomisp/i2c/ov2680.h    |  86 +--
 include/media/ov_16bit_addr_reg_helpers.h     |  92 ---
 include/media/v4l2-cci.h                      | 125 ++++
 13 files changed, 807 insertions(+), 877 deletions(-)
 create mode 100644 Documentation/driver-api/media/v4l2-cci.rst
 create mode 100644 drivers/media/v4l2-core/v4l2-cci.c
 delete mode 100644 include/media/ov_16bit_addr_reg_helpers.h
 create mode 100644 include/media/v4l2-cci.h

-- 
2.41.0


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

end of thread, other threads:[~2023-08-15 14:22 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-27 12:51 [PATCH v4 0/5] media: Add MIPI CCI register access helper functions Hans de Goede
2023-06-27 12:51 ` [PATCH v4 1/5] " Hans de Goede
2023-06-27 12:51 ` [PATCH v4 2/5] media: ov5693: Convert to new CCI register access helpers Hans de Goede
2023-06-27 12:51 ` [PATCH v4 3/5] media: imx290: " Hans de Goede
2023-08-15 13:15   ` Laurent Pinchart
2023-08-15 13:31     ` Sakari Ailus
2023-08-15 13:43       ` Laurent Pinchart
2023-08-15 13:48       ` Alexander Stein
2023-08-15 13:54         ` Laurent Pinchart
2023-08-15 14:15     ` Hans de Goede
2023-08-15 14:21       ` Laurent Pinchart
2023-06-27 12:51 ` [PATCH v4 4/5] media: atomisp: ov2680: " Hans de Goede
2023-06-27 12:51 ` [PATCH v4 5/5] media: Remove ov_16bit_addr_reg_helpers.h Hans de Goede
2023-07-02 10:51 ` [PATCH v4 0/5] media: Add MIPI CCI register access helper functions Sakari Ailus

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.