From: Greg KH <gregkh@linuxfoundation.org>
To: Benson Leung <bleung@google.com>
Cc: Rajaram Regupathy <rajaram.regupathy@gmail.com>,
linux-usb@vger.kernel.org, heikki.krogerus@linux.intel.com,
Prashant Malani <pmalani@chromium.org>,
jthies@google.com, saranya.gopal@intel.com
Subject: Re: [ANNOUNCE] libtypec_0.1/lstypec_0.1 is released
Date: Wed, 19 Jan 2022 09:28:03 +0100 [thread overview]
Message-ID: <YefLk+hmEfg6Tp6F@kroah.com> (raw)
In-Reply-To: <YecSDHXscl4LX5g9@google.com>
On Tue, Jan 18, 2022 at 11:16:28AM -0800, Benson Leung wrote:
> Hi Greg,
>
> On Tue, Jan 18, 2022 at 07:33:39PM +0100, Greg KH wrote:
> > On Tue, Jan 18, 2022 at 10:01:02PM +0530, Rajaram Regupathy wrote:
> > > > Again, why does this have to be a library?
> > > >
> > > The aim of having a library is to abstract application(s) from OS,
> > > platform, PD Controller or Embedded Controller protocols ambiguities
> > > and provide common methods. The methods will be similar/closer to UCSI
> > > standard.
> >
> > What methods are needed by an operating system that your library is
> > going to provide? How will it be done in a unified way that the current
> > user/kernel api isn't providing already today?
> >
>
> A unified libtypec would be useful because the USB Type-C and USB PD
> specifications are evolving, and continue to change. Spec changes affect the
> decoding of the objects that are exposed by the connector class (the existing
> API), and we are at a point where if we left it as-is, you'd have multiple
> userspace implementations that would have to independently be updated and
> fixed every time there's a new USB PD spec revision or version update.
>
> Just as a concrete example, Jameson (jthies@google.com), who works on my team,
> recently put together a little helper utility to decode the typec connector
> class in order to print it to our feedback report collector. This was all
> done before libtypec:
>
> https://chromium.googlesource.com/chromiumos/platform2/+/749621a6288cc5e80b31a9e6050437a419209fb9/debugd/src/helpers/typec_connector_class_helper.cc
>
> A problem we ran into almost immediately was that the utility was based on
> the most recent USB PD specification documents (USB PD R2.0 and USB PD R3.1),
> and had definitions on how to decode PD 2.0 and PD 3.1 objects that it would
> read from the typec connector class, however, it was missing definitions for
> USB PD R3.0 (a spec revision which is not obvious how to find in USB-IF's
> document archive).
>
> So, we added it: https://chromium.googlesource.com/chromiumos/platform2/+/eb1efefc187feab1182a7680f42fcec6bb14c618
>
> Now, every other hypothetical type-c connector class user application or daemon
> could potentially make this mistake, and would have to duplicate the work
> to fix it.
>
> If we had libtypec, it would be the unified place to make such a change, and
> we'd reduce the burden of new typec apps from having to do all this decode
> in the future.
Ok, that's fine, but please work to create a library that can handle
such changes in non-breaking ways. The first version of this library
does not look like it would do that at all as it is exporting way too
many things in a "public" interface.
thanks,
greg k-h
next prev parent reply other threads:[~2022-01-19 8:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-16 15:19 [ANNOUNCE] libtypec_0.1/lstypec_0.1 is released Rajaram Regupathy
2022-01-16 15:37 ` Stephan Brunner
2022-01-17 7:18 ` Greg KH
2022-01-17 14:37 ` Rajaram Regupathy
2022-01-17 15:38 ` Greg KH
2022-01-18 16:31 ` Rajaram Regupathy
2022-01-18 18:33 ` Greg KH
2022-01-18 19:16 ` Benson Leung
2022-01-19 8:28 ` Greg KH [this message]
2022-01-20 9:59 ` Rajaram Regupathy
2022-01-20 11:50 ` Greg KH
2022-01-26 16:09 ` Rajaram Regupathy
2022-01-26 16:39 ` Greg KH
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=YefLk+hmEfg6Tp6F@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=bleung@google.com \
--cc=heikki.krogerus@linux.intel.com \
--cc=jthies@google.com \
--cc=linux-usb@vger.kernel.org \
--cc=pmalani@chromium.org \
--cc=rajaram.regupathy@gmail.com \
--cc=saranya.gopal@intel.com \
/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.