Thread (48 messages) 48 messages, 8 authors, 2024-08-09

Re: [PATCH v2 3/8] fwctl: FWCTL_INFO to return basic information about the device

From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Date: 2024-07-30 17:34:44
Also in: linux-cxl, linux-doc, linux-patches, linux-rdma

On Mon, 29 Jul 2024 13:35:13 -0300
Jason Gunthorpe [off-list ref] wrote:
On Fri, Jul 26, 2024 at 04:15:03PM +0100, Jonathan Cameron wrote:
quoted
On Mon, 24 Jun 2024 19:47:27 -0300
Jason Gunthorpe [off-list ref] wrote:
  
quoted
Userspace will need to know some details about the fwctl interface being
used to locate the correct userspace code to communicate with the
kernel. Provide a simple device_type enum indicating what the kernel
driver is.  
As below - maybe consider a UUID?
Would let you decouple allocating those with upstreaming drivers.
We'll just get annoying races on the enum otherwise as multiple
drivers get upstreamed that use this.  
I view the coupling as a feature - controlling uABI number assignment
is one of the subtle motivations the kernel community has typically
used to encourage upstream participation.
Hmm. I'm not sure it's worth the possible pain if this becomes
popular.  Maybe you'll have to run a reservation hotline.

quoted
quoted
+/**
+ * struct fwctl_info - ioctl(FWCTL_INFO)
+ * @size: sizeof(struct fwctl_info)
+ * @flags: Must be 0
+ * @out_device_type: Returns the type of the device from enum fwctl_device_type  
Maybe a UUID?  Avoid need to synchronize that list for ever.
  
quoted
+ * @device_data_len: On input the length of the out_device_data memory. On
+ *	output the size of the kernel's device_data which may be larger or
+ *	smaller than the input. Maybe 0 on input.
+ * @out_device_data: Pointer to a memory of device_data_len bytes. Kernel will
+ *	fill the entire memory, zeroing as required.  
Why do we need device in names of these two?  
I'm not sure I understand this question?

out_device_type returns the "name"

out_device_data returns a struct of data, the layout of the struct is
defined by out_device_type
What is device in this case?  fwctl struct device, hardware device, something else?

I'm not sure what the names give over
fwctl_type, out_data_len, out_data

The first one can't just be type as likely as not out_data contains a
type field specific to the fwctl_device_type.

I don't feel that strongly about this though, so stick to device
if you like. I'll get used to it.

Jonathan
 
Jason
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help