[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6ca4bc87620bb0c2e5bfb264ec88189f32b53757.camel@codeconstruct.com.au>
Date: Tue, 27 Jan 2026 08:32:24 +0800
From: Jeremy Kerr <jk@...econstruct.com.au>
To: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
Cc: Wolfram Sang <wsa+renesas@...g-engineering.com>, Matt Johnston
<matt@...econstruct.com.au>, linux-i2c@...r.kernel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 0/4] i2c: SMBus ARP support
Hi Heikki,
> Since we use kernel mode device drivers, we need the kernel device
> instances (struct device) that bind to them. If you want to deal with
> user mode drivers then you can always do that with the i2c-dev
> interface, but then you will not be using the kernel drivers such as
> the mctp-i2c.c in this case.
Sure you could - the userspace ARP implementation would be responsible
for binding an existing kernel driver to the newly-allocated dynamic i2c
address - say, through the new_device interface. The choice of driver
would typically depend on the enumerated UDID.
> But just to be clear, this is not only
> about MCTP. The ARP-capable i2c-clients can be anything.
Yes, I'm not just talking about MCTP here either.
> So even if you still want to scan the ARP-devices in user space
> separately, the kernel must enumerate those devices independently in
> any case.
>
> I should also point out that to my surprise the i2c-dev interface
> (I2C_CHARDEV) isn't always enabled, even when I2C seems to be
> otherwise fully supported in the kernel. We simply can't assume that
> it's always available.
I don't think requiring a specific functionality to be enabled would be
a showstopper for any particular implementation. We need CONFIG_I2C
already, why is CONFIG_I2C_CHARDEV any different?
Cheers,
Jeremy
Powered by blists - more mailing lists