From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Cc: Lee Jones <lee.jones@linaro.org>,
Vladimir Zapolskiy <vz@mleia.com>,
Linus Walleij <linus.walleij@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Marek Vasut <marek.vasut@gmail.com>,
Wolfram Sang <wsa@the-dreams.de>,
devicetree@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-media@vger.kernel.org,
linux-kernel@vger.kernel.orgwsa@the-dreams.de
Subject: Re: [PATCH 5/7] mfd: ds90ux9xx: add I2C bridge/alias and link connection driver
Date: Fri, 12 Oct 2018 16:12:04 +0300 [thread overview]
Message-ID: <1584081.CVFmJobd6K@avalon> (raw)
In-Reply-To: <c8f01b88-c14f-867d-d796-7464b2e8ccfb@mentor.com>
Hi Vladimir,
(CC'ing Wolfram)
On Friday, 12 October 2018 10:32:32 EEST Vladimir Zapolskiy wrote:
> On 10/12/2018 09:04 AM, Lee Jones wrote:
> > On Tue, 09 Oct 2018, Vladimir Zapolskiy wrote:
> >> From: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
> >>
> >> 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 <vladimir_zapolskiy@mentor.com>
> >> ---
> >>
> >> 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.c
> >
> > Shouldn'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.
(Who is now on CC)
> 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.
As mentioned in other e-mails in this thread I don't think this should be
split out to a separate driver, I would move the functionality to the
ds90ux9xx driver. You may want to register an I2C mux, but as you have a
single port, that could be overkill. I haven't studied in details how to best
support this chip using the existing I2C subsystems APIs (which we may want to
extend if it needed), but I believe that (in your use cases) the deserializer
should be a child of the serializer, and modeled as an I2C device.
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Cc: Lee Jones <lee.jones@linaro.org>,
Vladimir Zapolskiy <vz@mleia.com>,
Linus Walleij <linus.walleij@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Marek Vasut <marek.vasut@gmail.com>,
Wolfram Sang <wsa@the-dreams.de>,
devicetree@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
wsa@the-dreams.de
Subject: Re: [PATCH 5/7] mfd: ds90ux9xx: add I2C bridge/alias and link connection driver
Date: Fri, 12 Oct 2018 16:12:04 +0300 [thread overview]
Message-ID: <1584081.CVFmJobd6K@avalon> (raw)
In-Reply-To: <c8f01b88-c14f-867d-d796-7464b2e8ccfb@mentor.com>
Hi Vladimir,
(CC'ing Wolfram)
On Friday, 12 October 2018 10:32:32 EEST Vladimir Zapolskiy wrote:
> On 10/12/2018 09:04 AM, Lee Jones wrote:
> > On Tue, 09 Oct 2018, Vladimir Zapolskiy wrote:
> >> From: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
> >>
> >> 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 <vladimir_zapolskiy@mentor.com>
> >> ---
> >>
> >> 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.c
> >
> > Shouldn'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.
(Who is now on CC)
> 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.
As mentioned in other e-mails in this thread I don't think this should be
split out to a separate driver, I would move the functionality to the
ds90ux9xx driver. You may want to register an I2C mux, but as you have a
single port, that could be overkill. I haven't studied in details how to best
support this chip using the existing I2C subsystems APIs (which we may want to
extend if it needed), but I believe that (in your use cases) the deserializer
should be a child of the serializer, and modeled as an I2C device.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-10-12 13:12 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-08 21:11 [PATCH 0/7] mfd/pinctrl: add initial support of TI DS90Ux9xx ICs Vladimir Zapolskiy
2018-10-08 21:11 ` [PATCH 1/7] dt-bindings: mfd: ds90ux9xx: add description " Vladimir Zapolskiy
2018-10-09 0:13 ` Marek Vasut
2018-10-09 11:11 ` Vladimir Zapolskiy
2018-10-09 20:55 ` Vladimir Zapolskiy
2018-10-09 21:03 ` Marek Vasut
2018-10-10 8:41 ` Linus Walleij
2018-10-10 8:41 ` Linus Walleij
2018-10-12 11:44 ` Laurent Pinchart
2018-10-13 14:28 ` Vladimir Zapolskiy
2018-10-13 14:28 ` Vladimir Zapolskiy
2018-10-16 12:30 ` Laurent Pinchart
2018-10-30 16:43 ` Luca Ceresoli
2018-10-30 23:40 ` Vladimir Zapolskiy
2018-10-08 21:12 ` [PATCH 2/7] dt-bindings: mfd: ds90ux9xx: add description of TI DS90Ux9xx I2C bridge Vladimir Zapolskiy
2018-10-12 11:54 ` Laurent Pinchart
2018-10-12 11:54 ` Laurent Pinchart
2018-10-30 16:43 ` Luca Ceresoli
2018-10-31 20:12 ` Vladimir Zapolskiy
2018-11-03 21:00 ` Luca Ceresoli
2018-11-03 22:07 ` Vladimir Zapolskiy
2018-10-08 21:12 ` [PATCH 3/7] dt-bindings: pinctrl: ds90ux9xx: add description of TI DS90Ux9xx pinmux Vladimir Zapolskiy
2018-10-10 8:45 ` Linus Walleij
2018-10-17 15:02 ` Rob Herring
2018-10-12 12:01 ` Laurent Pinchart
2018-10-13 13:47 ` Vladimir Zapolskiy
2018-10-13 13:47 ` Vladimir Zapolskiy
2018-10-16 12:48 ` Laurent Pinchart
2018-10-30 16:44 ` Luca Ceresoli
2018-10-31 20:31 ` Vladimir Zapolskiy
2018-10-08 21:12 ` [PATCH 4/7] mfd: ds90ux9xx: add TI DS90Ux9xx de-/serializer MFD driver Vladimir Zapolskiy
2018-10-09 4:08 ` kbuild test robot
2018-10-09 11:14 ` Vladimir Zapolskiy
2018-10-12 6:03 ` Lee Jones
2018-10-12 7:41 ` Vladimir Zapolskiy
2018-10-12 7:41 ` Vladimir Zapolskiy
2018-10-12 8:39 ` Lee Jones
2018-10-12 9:20 ` Kieran Bingham
2018-10-12 10:58 ` Vladimir Zapolskiy
2018-10-12 10:58 ` Vladimir Zapolskiy
2018-10-12 11:34 ` Lee Jones
2018-10-12 14:13 ` Vladimir Zapolskiy
2018-10-12 14:25 ` Lee Jones
2018-10-12 11:47 ` Kieran Bingham
2018-10-12 13:01 ` Laurent Pinchart
2018-10-12 13:59 ` Vladimir Zapolskiy
2018-10-16 13:08 ` Laurent Pinchart
2018-10-23 8:16 ` Vladimir Zapolskiy
2018-10-30 16:44 ` Luca Ceresoli
2018-10-13 15:10 ` Vladimir Zapolskiy
2018-10-13 15:10 ` Vladimir Zapolskiy
2018-10-16 13:12 ` Laurent Pinchart
2018-10-16 18:32 ` Vladimir Zapolskiy
2018-10-13 12:33 ` Vladimir Zapolskiy
2018-10-13 12:33 ` Vladimir Zapolskiy
2018-10-12 11:24 ` Vladimir Zapolskiy
2018-10-12 11:24 ` Vladimir Zapolskiy
2018-10-12 11:43 ` Lee Jones
2018-10-12 14:23 ` Vladimir Zapolskiy
2018-10-12 13:07 ` Laurent Pinchart
2018-10-08 21:12 ` [PATCH 5/7] mfd: ds90ux9xx: add I2C bridge/alias and link connection driver Vladimir Zapolskiy
2018-10-12 6:04 ` Lee Jones
2018-10-12 7:32 ` Vladimir Zapolskiy
2018-10-12 7:32 ` Vladimir Zapolskiy
2018-10-12 9:03 ` Lee Jones
2018-10-12 13:12 ` Laurent Pinchart [this message]
2018-10-12 13:12 ` Laurent Pinchart
2018-10-12 14:36 ` Vladimir Zapolskiy
2018-10-16 14:06 ` Laurent Pinchart
2018-10-08 21:12 ` [PATCH 6/7] pinctrl: ds90ux9xx: add TI DS90Ux9xx pinmux and GPIO controller driver Vladimir Zapolskiy
2018-10-10 9:04 ` Linus Walleij
2018-10-08 21:12 ` [PATCH 7/7] MAINTAINERS: add entry for TI DS90Ux9xx FPD-Link III drivers Vladimir Zapolskiy
2018-10-12 11:34 ` [PATCH 0/7] mfd/pinctrl: add initial support of TI DS90Ux9xx ICs Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1584081.CVFmJobd6K@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=devicetree@vger.kernel.org \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.orgwsa \
--cc=linux-media@vger.kernel.org \
--cc=marek.vasut@gmail.com \
--cc=robh+dt@kernel.org \
--cc=vladimir_zapolskiy@mentor.com \
--cc=vz@mleia.com \
--cc=wsa@the-dreams.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.