Re: [RFC net-next 0/7] Provide an ism layer

Alexandra Winter
2025-01-17T11:04:19Z

I hit the send button to early, sorry about that.
Let me comment on the other proposals from Dust Li as well.

On 16.01.25 10:32, Dust Li wrote:
> Abstraction of ISM Device Details: I propose we abstract the ISM device
> details by providing SMC with helper functions. These functions could
> encapsulate ism->ops, making the implementation cleaner and more
> intuitive.

Maybe I misunderstand what you mean by helper functions..
Why would you encapsulate ism->ops functions in another set of wrappers?
I was happy to remove the helper functions in 2/7 and 7/7.

This way, the struct ism_device would mainly serve its
> implementers, while the upper helper functions offer a streamlined
> interface for SMC.

I was actually also wondering, whether the clients should access ism_device
at all. Or whether they should only use the ism_ops.
I can give that a try in the next version. I think this RFC almost there already.
The clients would still need to pass a poitner to ism_dev as a parameter.

> Structuring and Naming: I recommend embedding the structure of ism_ops
> directly within ism_dev rather than using a pointer.

I think it is a common method to have the const struct xy_ops in the device driver code
and then use pointer to register the device with an upper layer.
What would be the benefit of duplicating that struct in every ism_dev?

Additionally,
> renaming it to ism_device_ops could enhance clarity and consistency.

Yes, that would help to distinguish them from the ism_client functions.
I' rename them to ism_dev_ops in the next version.