From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: "Damien Riégel" <damien.riegel@silabs.com>
Cc: greybus-dev@lists.linaro.org, linux-kernel@vger.kernel.org,
linux-devel@silabs.com, Alex Elder <elder@kernel.org>,
Johan Hovold <johan@kernel.org>
Subject: Re: [RFC 5/6] greybus: match device with bundle ID
Date: Wed, 16 Jul 2025 15:19:47 +0200 [thread overview]
Message-ID: <2025071642-saline-concave-4ec0@gregkh> (raw)
In-Reply-To: <20250705004036.3828-6-damien.riegel@silabs.com>
On Fri, Jul 04, 2025 at 08:40:35PM -0400, Damien Riégel wrote:
> When matching a device, only the vendor ID and product ID are used.
It shouldn't be that way. That was not the intention.
> As
> all bundles in an interface share the same VID and PID, there is no way
> to differentiate between two bundles, and they are forced to use the
> same driver.
>
> To allow using several vendor bundles in the same device, include the
> bundle ID when matching. The assumption here is that bundle IDs are
> stable across the lifespan of a product and never change.
>
> The goal of this change is to open the discussion. Greybus standardizes
> a bunch of protocols like GPIO, SPI, etc. but also has provisioning for
> vendor bundle and protocol. There is only one ID reserved for vendor,
> 0xFF, so the question is did Greybus ever envision supporting several
> vendor bundles, or one vendor bundle with several vendor cports in it?
> Or the assumption always was that there could be at most only vendor
> cport?
The goal was to emulate what USB does here. If you have a
vendor-specific protocol, then set the vendor protocol id (0xff) and
then trigger off of the VID and PID. Then you can do whatever you want
here in your driver as it's a vendor-specific one.
So you are wanting multiple devices with the same vid/pid yet do
different things? Why not just change the PID?
Like with USB, a bundle id is not guaranteed to be "static", BUT if you
want to make that distinction in your driver that is a vendor-specific
one, go ahead. Again, that should be like USB interface numbers, right?
thanks,
greg k-h
next prev parent reply other threads:[~2025-07-16 13:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-05 0:40 [RFC 0/6] Introducing CPC support in Greybus Damien Riégel
2025-07-05 0:40 ` [RFC 1/6] greybus: move host controller drivers comment in Makefile Damien Riégel
2025-07-16 13:20 ` Greg Kroah-Hartman
2025-07-05 0:40 ` [RFC 2/6] greybus: cpc: add core logic Damien Riégel
2025-07-05 23:35 ` kernel test robot
2025-07-16 13:21 ` Greg Kroah-Hartman
2025-07-05 0:40 ` [RFC 3/6] greybus: cpc: add SPI driver Damien Riégel
2025-07-06 1:10 ` kernel test robot
2025-07-05 0:40 ` [RFC 4/6] greybus: add API for async unidirectional transfer Damien Riégel
2025-07-16 13:21 ` Greg Kroah-Hartman
2025-07-05 0:40 ` [RFC 5/6] greybus: match device with bundle ID Damien Riégel
2025-07-16 13:19 ` Greg Kroah-Hartman [this message]
2025-07-05 0:40 ` [RFC 6/6] greybus: add class driver for Silabs Bluetooth Damien Riégel
2025-07-06 0:39 ` kernel test robot
2025-07-16 13:23 ` Greg Kroah-Hartman
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=2025071642-saline-concave-4ec0@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=damien.riegel@silabs.com \
--cc=elder@kernel.org \
--cc=greybus-dev@lists.linaro.org \
--cc=johan@kernel.org \
--cc=linux-devel@silabs.com \
--cc=linux-kernel@vger.kernel.org \
/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.