Re: [RFC PATCH 0/4] espi: introduce eSPI bus framework
Andrew Jeffery <[email protected]> Wed, 05 Aug 2026 10:12:34 +0930
| Newsgroups | org.ozlabs.lists.openbmc,dev.linux.lists.chrome-platform,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.linux-spi,org.ozlabs.lists.linux-aspeed |
|---|---|
| Message-ID | <83210c6e2a7b203bd5913b455ea45cfddf3d29ec.camel@codeconstruct.com.au> |
Hi Greg, Krishnamoorthi, YH Chung has been working on eSPI support for ASPEED's BMC SoCs, so I've included them in the To line. On Tue, 2026-08-04 at 14:18 +0200, Greg KH wrote: > On Tue, Aug 04, 2026 at 05:22:55PM +0530, Krishnamoorthi M wrote: > > Feedback Requested > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >=20 > > =C2=A0 1. We chose a dedicated bus_type for the reasons described above > > =C2=A0=C2=A0=C2=A0=C2=A0 (capability negotiation, four independent chan= nels, asynchronous > > =C2=A0=C2=A0=C2=A0=C2=A0 ALERT#). Does the community agree this is the = right direction, or > > =C2=A0=C2=A0=C2=A0=C2=A0 is there a strong preference to extend the SPI= subsystem instead? >=20 > That's up to the SPI maintainers and developers... There's concurrent discussion from YH regarding device-side eSPI support in the thread ending here: https://lore.kernel.org/all/KL1PR0601MB4276FA2C6347192CC45826E490ED2@KL1PR0= 601MB4276.apcprd06.prod.outlook.com/ So far it's arrived at a matching proposal for drivers/espi. >=20 > > =C2=A0 3. Any concerns with the ops table design or the -EOPNOTSUPP fal= lback? > > =C2=A0 4. Naming and structure of the public API in include/linux/espi/= espi.h. >=20 > What specifically are you asking for for this?=C2=A0 Do you have userspac= e > code you want to integrate, if so, does it work with this?=C2=A0 And wher= e > does it live? I've seen your follow-up realisation Greg, however, regarding userspace, the thread above suggests that we should be able to back existing subsystems (GPIO for VW, MCTP for OOB, MTD for some flash functionality) onto eSPI to minimise eSPI-specific interfaces: https://lore.kernel.org/all/KL1PR0601MB4276B5BE3B96C18E3A66AD709049A@KL1PR0= 601MB4276.apcprd06.prod.outlook.com/ That doesn't cover the peripheral channel, as that's dealt with in hardware on the device side, but for the purpose of the controller the devices on the peripheral channel should all be driven by the kernel anyway. Andrew