+Mark Brown for the question about /dev/spidevI initially thought to do the same thing for the i3c devices adding a routine get_i3c_dev_by_addr()...
Hi Vitor,
On Thu, 15 Nov 2018 12:14:37 +0000
vitor <vitor.soares@xxxxxxxxxxxx> wrote:
Hi Boris,Thanks for starting this discussion. I'm not against the idea in
Given the current state of the subsystem I think it might worth start to
think how to expose the devices under /dev.
general, we just need to be careful when doing that.
My initial thoughts are to do the same think as for i2c, expose theExposing the bus is dangerous IMO, because an I3C bus is not like an
buses or the i3c_devices and use ioctl for private transfers.
I2C bus:
* I3C device needs to be discovered through DAA
* I2C devices need to be declared ahead of time, and LVR is used to
determine the limitations on the bus at runtime
So you'd anyway be able to interact only with devices that have
previously been discovered.
Note that the virtual I2C bus is already exposed, but any command
targeting an address that is not attached to a registered I2C dev will
get a -ENOENT error.
What we could do though, is expose I3C devices that do not have a
driver in kernel space, like spidev does.
SomeYes, CCC commands that need to be exposed to userspace should be
direct CCC commands can be sent through the /sys as you plan for SETNEWDA .
exposed through sysfs, or, if we decide to create a /dev/i3cX device
per bus, through ioctls.
What do you think about this?I think this request is perfectly valid, we just need to decide how it
should be done, and before we take this decision, I'd like to get
inputs from other maintainers.
Mark, Wolfram, Arnd, Greg, any opinion?
Regards,
Boris