linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] media: use new API for creating client devices
@ 2019-11-06 21:21 Wolfram Sang
  2019-11-06 21:21 ` [PATCH 01/17] i2c: add helper to check if a client has a driver attached Wolfram Sang
                   ` (16 more replies)
  0 siblings, 17 replies; 20+ messages in thread
From: Wolfram Sang @ 2019-11-06 21:21 UTC (permalink / raw)
  To: linux-media; +Cc: linux-i2c, Wolfram Sang, linux-arm-kernel, linux-kernel

These media drivers create a new I2C client device with the deprecated
i2c_new_device() and check afterwards if the client exists and if a
driver is bound to it.

These series changes the drivers to use the now suggested
i2c_new_client_device() call and introduces a helper to check if the
driver is bound. This helper supports (for now) the old and the new API
and is also more readable.

The drivers were converted with the following coccinelle script:

@@
expression client;
statement S;
@@
	client =
-		i2c_new_device
+		i2c_new_client_device
			(...);
	... when != client
	if (
-		\( !client \| client == NULL \) || \( !client->dev.driver \| client->dev.driver == NULL \)
+		!i2c_client_has_driver(client)
			) {
			S
		}

The helper has been tested on a Renesas Salvator-XS board (R-Car M3-N).
The rest was build tested by me. buildbot has this still queued.

Although the first patch is in the I2C realm, I suggest that all patches
go through the media tree to avoid the dependency. There are no merge
conflicts with I2C currently and I don't see any coming (famous last
words).

This series is based on linux-next as of today. It does not depend on
the i2c_new_probed_device() conversion I sent out earlier today. This
series can be applied as is.

Looking forward to comments.

Thanks and happy hacking,

   Wolfram


Wolfram Sang (17):
  i2c: add helper to check if a client has a driver attached
  media: dvb-core: dvbdev: convert to use i2c_new_client_device()
  media: dvb-frontends: cxd2820r_core: convert to use
    i2c_new_client_device()
  media: dvb-frontends: lgdt330x: convert to use i2c_new_client_device()
  media: dvb-frontends: m88ds3103: convert to use
    i2c_new_client_device()
  media: dvb-frontends: ts2020: convert to use i2c_new_client_device()
  media: pci: cx23885: cx23885-dvb: convert to use
    i2c_new_client_device()
  media: pci: saa7164: saa7164-dvb: convert to use
    i2c_new_client_device()
  media: pci: smipcie: smipcie-main: convert to use
    i2c_new_client_device()
  media: platform: sti: c8sectpfe: c8sectpfe-dvb: convert to use
    i2c_new_client_device()
  media: usb: dvb-usb-v2: af9035: convert to use i2c_new_client_device()
  media: usb: dvb-usb-v2: anysee: convert to use i2c_new_client_device()
  media: usb: dvb-usb-v2: rtl28xxu: convert to use
    i2c_new_client_device()
  media: usb: dvb-usb-v2: zd1301: convert to use i2c_new_client_device()
  media: usb: dvb-usb: dib0700_devices: convert to use
    i2c_new_client_device()
  media: usb: dvb-usb: dw2102: convert to use i2c_new_client_device()
  media: v4l2-core: v4l2-i2c: convert to use i2c_new_client_device()

 drivers/media/dvb-core/dvbdev.c               |   4 +-
 drivers/media/dvb-frontends/cxd2820r_core.c   |   4 +-
 drivers/media/dvb-frontends/lgdt330x.c        |   4 +-
 drivers/media/dvb-frontends/m88ds3103.c       |   4 +-
 drivers/media/dvb-frontends/ts2020.c          |   4 +-
 drivers/media/pci/cx23885/cx23885-dvb.c       | 114 +++++++++---------
 drivers/media/pci/saa7164/saa7164-dvb.c       |  20 +--
 drivers/media/pci/smipcie/smipcie-main.c      |   4 +-
 .../platform/sti/c8sectpfe/c8sectpfe-dvb.c    |   4 +-
 drivers/media/usb/dvb-usb-v2/af9035.c         |   4 +-
 drivers/media/usb/dvb-usb-v2/anysee.c         |   4 +-
 drivers/media/usb/dvb-usb-v2/rtl28xxu.c       |  36 +++---
 drivers/media/usb/dvb-usb-v2/zd1301.c         |   4 +-
 drivers/media/usb/dvb-usb/dib0700_devices.c   |   8 +-
 drivers/media/usb/dvb-usb/dw2102.c            |   8 +-
 drivers/media/v4l2-core/v4l2-i2c.c            |   2 +-
 include/linux/i2c.h                           |   5 +
 17 files changed, 116 insertions(+), 117 deletions(-)

-- 
2.20.1


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

end of thread, other threads:[~2019-12-11  7:59 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-06 21:21 [PATCH 00/17] media: use new API for creating client devices Wolfram Sang
2019-11-06 21:21 ` [PATCH 01/17] i2c: add helper to check if a client has a driver attached Wolfram Sang
2019-12-11  7:59   ` Wolfram Sang
2019-11-06 21:21 ` [PATCH 02/17] media: dvb-core: dvbdev: convert to use i2c_new_client_device() Wolfram Sang
2019-11-06 21:21 ` [PATCH 03/17] media: dvb-frontends: cxd2820r_core: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 04/17] media: dvb-frontends: lgdt330x: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 05/17] media: dvb-frontends: m88ds3103: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 06/17] media: dvb-frontends: ts2020: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 07/17] media: pci: cx23885: cx23885-dvb: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 08/17] media: pci: saa7164: saa7164-dvb: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 09/17] media: pci: smipcie: smipcie-main: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 10/17] media: platform: sti: c8sectpfe: c8sectpfe-dvb: " Wolfram Sang
2019-11-07  9:59   ` Patrice CHOTARD
2019-11-06 21:21 ` [PATCH 11/17] media: usb: dvb-usb-v2: af9035: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 12/17] media: usb: dvb-usb-v2: anysee: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 13/17] media: usb: dvb-usb-v2: rtl28xxu: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 14/17] media: usb: dvb-usb-v2: zd1301: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 15/17] media: usb: dvb-usb: dib0700_devices: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 16/17] media: usb: dvb-usb: dw2102: " Wolfram Sang
2019-11-06 21:21 ` [PATCH 17/17] media: v4l2-core: v4l2-i2c: " Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).