[Accel-config] Re: [RFC] Provide library API to read and write raw sysfs attributes

Dave Jiang <dave.jiang at intel.com> Fri, 04 Feb 2022 16:26:55 -0700
Newsgroups dev.linux.lists.accel-config
Message-ID <[email protected]>
On 2/4/2022 2:03 PM, Ramesh Thomas wrote:
> On 2/4/2022 12:42 PM, Dave Jiang wrote:
>>
>> On 2/4/2022 12:15 PM, Ramesh Thomas wrote:
>>> I am thinking of providing some generic functions to read and write 
>>> sysfs attributes without much processing. This will be useful where 
>>> raw reads and writes are required e.g. listing values of attributes 
>>> or initializing attributes in a loop. This will open up 
>>> possibilities of advanced use cases where user can do custom batch 
>>> configurations in addition to the load and save configuration option.
>>>
>>> There will be a get and set function for devices, groups, wqs and 
>>> engines as follows
>>>
>>> /* structure to read and write attributes from sysfs */
>>> struct accfg_sysfs_attr {
>>>         char attr[MAX_PARAM_LEN];
>>> };
>>>
>>> int accfg_get_device_attr(struct accfg_device *device, const char 
>>> *attr_name,
>>>                 struct *accfg_sysfs_attr);
>>> int accfg_set_device_attr(struct accfg_device *device, const char 
>>> *attr_name,
>>>                 struct *accfg_sysfs_attr);
>>>
>>> int accfg_get_group_attr(struct accfg_group *group, const char 
>>> *attr_name,
>>>                 struct *accfg_sysfs_attr);
>>> int accfg_set_group_attr(struct accfg_group *group, const char 
>>> *attr_name,
>>>                 struct *accfg_sysfs_attr);
>>>
>> Does it provide additional processing on top of sysfs_read_attr() 
>> helper function?
>
> It creates the path from from device, wq, engine and group structure. 
> It will save last error (cmd_status) in accfg ctxt and return errors 
> returned from driver. Other than that it does not do any attribute 
> specific processing.

Ok by me from high level view if it makes the code cleaner.


>
>>
>>
>>> similarly for wqs and engines.
>>>
>>> Let me know if you see any issue or other suggestions.
>>>
>>> Thanks,
>>> Ramesh
>