[PATCH 2/2] perf/arm-cmn: Improve format attr printing
Ilkka Koskinen
ilkka at os.amperecomputing.com
Thu Sep 5 13:12:13 PDT 2024
On Wed, 4 Sep 2024, Robin Murphy wrote:
> Take full advantage of our formats being stored in bitfield form, and
> make the printing even more robust and simple by letting printk do all
> the hard work of formatting bitlists.
>
> Signed-off-by: Robin Murphy <robin.murphy at arm.com>
Reviewed-by: Ilkka Koskinen <ilkka at os.amperecomputing.com>
--Ilkka
> ---
> drivers/perf/arm-cmn.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c
> index 62d4782da7e4..397a46410f7c 100644
> --- a/drivers/perf/arm-cmn.c
> +++ b/drivers/perf/arm-cmn.c
> @@ -1280,15 +1280,11 @@ static ssize_t arm_cmn_format_show(struct device *dev,
> struct device_attribute *attr, char *buf)
> {
> struct arm_cmn_format_attr *fmt = container_of(attr, typeof(*fmt), attr);
> - int lo = __ffs(fmt->field), hi = __fls(fmt->field);
> -
> - if (lo == hi)
> - return sysfs_emit(buf, "config:%d\n", lo);
>
> if (!fmt->config)
> - return sysfs_emit(buf, "config:%d-%d\n", lo, hi);
> + return sysfs_emit(buf, "config:%*pbl\n", 64, &fmt->field);
>
> - return sysfs_emit(buf, "config%d:%d-%d\n", fmt->config, lo, hi);
> + return sysfs_emit(buf, "config%d:%*pbl\n", fmt->config, 64, &fmt->field);
> }
>
> #define _CMN_FORMAT_ATTR(_name, _cfg, _fld) \
> --
> 2.39.2.101.g768bb238c484.dirty
More information about the linux-arm-kernel
mailing list