> On 9 Mar 2025, at 2:25 PM, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > On Sun, Mar 09, 2025 at 09:52:38AM +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote: >>> On Sun, Mar 09, 2025 at 08:40:31AM +0000, Aditya Garg wrote: >>> From: Paul Pawlowski <paul@xxxxxxxx> >>> >>> This patch adds a driver named apple-bce, to add support for the T2 >>> Security Chip found on certain Macs. >>> >>> The driver has 3 main components: >>> >>> BCE (Buffer Copy Engine) - this is what the files in the root directory >>> are for. This estabilishes a basic communication channel with the T2. >>> VHCI and Audio both require this component. >> >> So this is a new "bus" type? Or a platform resource? Or something >> else? >> >>> VHCI - this is a virtual USB host controller; keyboard, mouse and >>> other system components are provided by this component (other >>> drivers use this host controller to provide more functionality). >> >> I don't understand, why does a security chip have a USB virtual >> interface in it? What "devices" hang off of it that are found and >> enumerated by the host OS? >> >> And what other drivers use this controller, just normal Linux drivers, >> or vendor-specific ones? >> >>> Audio - a driver for the T2 audio interface, currently only audio >>> output is supported. >> >> Again, is this a platform device or does it sit on the BCE "bus" you >> will create here? > > Also, it looks like you are creating some new user/kernel apis here > (i.e. a char device for a USB host controller?) So those need to be > explained a lot as to what they are for and who is using them as I > really don't understand their need, nor know what userspace code > controls them. I'll cleanup the code, and try to fix the todos if possible, and send a patch with proper explanation. My main purpose to put it in staging was that without keyboard, trackpad and other input devices, linux is unusable on t2 macs. > > thanks, > > greg k-h