Re: [PATCH 5/7] mfd: ds90ux9xx: add I2C bridge/alias and link connection driver
From: Vladimir Zapolskiy <hidden>
Date: 2018-10-12 07:32:43
Also in:
linux-devicetree, linux-media, lkml
Hi Lee, On 10/12/2018 09:04 AM, Lee Jones wrote:
On Tue, 09 Oct 2018, Vladimir Zapolskiy wrote:quoted
From: Vladimir Zapolskiy <redacted> The change adds TI DS90Ux9xx I2C bridge/alias subdevice driver and FPD Link connection handling mechanism. Access to I2C devices connected to a remote de-/serializer is done in a transparent way, on established link detection event such devices are registered on an I2C bus, which serves a local de-/serializer IC. The development of the driver was a collaborative work, the contribution done by Balasubramani Vivekanandan includes: * original simplistic implementation of the driver, * support of implicitly specified devices in device tree, * support of multiple FPD links for TI DS90Ux9xx, * other kind of valuable review comments, clean-ups and fixes. Also Steve Longerbeam made the following changes: * clear address maps after linked device removal, * disable pass-through in disconnection, * qualify locked status with non-zero remote address. Signed-off-by: Vladimir Zapolskiy <redacted> --- drivers/mfd/Kconfig | 8 + drivers/mfd/Makefile | 1 + drivers/mfd/ds90ux9xx-i2c-bridge.c | 764 +++++++++++++++++++++++++++++ 3 files changed, 773 insertions(+) create mode 100644 drivers/mfd/ds90ux9xx-i2c-bridge.cShouldn't this live in drivers/i2c?
no, the driver is not for an I2C controller of any kind, and the driver does not register itself in the I2C subsystem by calling i2c_add_adapter() or i2c_add_numbered_adapter() or i2c_mux_add_adapter() etc, this topic was discussed with Wolfram also. Formally the driver converts the managed IC into a multi-address I2C slave device, I understand that it does not sound like a well suited driver for MFD, but ds90ux9xx-core.c and ds90ux9xx-i2c-bridge.c drivers are quite tightly coupled. -- Best wishes, Vladimir