Re: [Qemu-devel] [PATCH] fw_cfg: use __ATTR_RO_MODE to define rev sysfs

From: Philippe Mathieu-DaudÃ
Date: Tue Feb 26 2019 - 13:47:40 EST


On 2/26/19 5:10 PM, Michael S. Tsirkin wrote:
> On Tue, Feb 26, 2019 at 03:31:59PM +0800, Wei Yang wrote:
>> Leverage __ATTR_RO_MODE to define rev sysfs instead of using open code
>> to define the attribute.
>>
>> Signed-off-by: Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>
>> ---
>> drivers/firmware/qemu_fw_cfg.c | 13 ++++---------
>> 1 file changed, 4 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/firmware/qemu_fw_cfg.c b/drivers/firmware/qemu_fw_cfg.c
>> index 039e0f91dba8..a1293cbd7adb 100644
>> --- a/drivers/firmware/qemu_fw_cfg.c
>> +++ b/drivers/firmware/qemu_fw_cfg.c
>> @@ -296,18 +296,13 @@ static int fw_cfg_do_platform_probe(struct platform_device *pdev)
>> return 0;
>> }
>>
>> -static ssize_t fw_cfg_showrev(struct kobject *k, struct attribute *a, char *buf)
>> +static ssize_t fw_cfg_rev_show(struct kobject *k, struct kobj_attribute *a,
>> + char *buf)
>> {
>> return sprintf(buf, "%u\n", fw_cfg_rev);
>> }
>> -
>> -static const struct {
>> - struct attribute attr;
>> - ssize_t (*show)(struct kobject *k, struct attribute *a, char *buf);
>> -} fw_cfg_rev_attr = {
>> - .attr = { .name = "rev", .mode = S_IRUSR },
>> - .show = fw_cfg_showrev,
>> -};
>> +static const struct kobj_attribute fw_cfg_rev_attr =
>> + __ATTR_RO_MODE(fw_cfg_rev, 0400);
>>
>> /* fw_cfg_sysfs_entry type */
>> struct fw_cfg_sysfs_entry {
>
>
> Looks like this will change the name from "rev" to "fw_cfg_rev".
> That's a userspace visible change which we should not do lightly.

We could name the function rev_show but this stay fragile, we'd also
need a comment "don't rename this".

>> --
>> 2.19.1
>