RE: [PATCH] Common clock: ​​To list active consumers of clocks

From: Elliott, Robert (Servers)
Date: Sun Aug 21 2022 - 01:07:14 EST




> -----Original Message-----
> From: <Vishal Badole> <badolevishal1116@xxxxxxxxx>
> Sent: Monday, August 8, 2022 12:00 PM
> To: Elliott, Robert (Servers) <elliott@xxxxxxx>
> Cc: Stephen Boyd <sboyd@xxxxxxxxxx>; mturquette@xxxxxxxxxxxx; inux-
> clk@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; chinmoyghosh2001@xxxxxxxxx;
> mintupatel89@xxxxxxxxx; vimal.kumar32@xxxxxxxxx
> Subject: Re: [PATCH] Common clock: ​​To list active consumers of clocks
>
> On Tue, Aug 02, 2022 at 10:49:17PM +0000, Elliott, Robert (Servers) wrote:
> >
> >
> > > -----Original Message-----
> > > From: <Vishal Badole> <badolevishal1116@xxxxxxxxx>
> > > Sent: Sunday, June 26, 2022 1:25 PM
> > > To: Stephen Boyd <sboyd@xxxxxxxxxx>; mturquette@xxxxxxxxxxxx; inux-
> > > clk@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> > > Cc: chinmoyghosh2001@xxxxxxxxx; mintupatel89@xxxxxxxxx;
> > > vimal.kumar32@xxxxxxxxx
> > > Subject: Re: [PATCH] Common clock: ​​To list active consumers of clocks
> > >
> > ...
> > > We will remove above prints in the revised patch. We are facing
> > > indentation issue whle printing consumer in summary
> > > as given below
> > > enable prepare protect
> duty hardware per-user
> > > clock count count count
> rateccuracy phase cycle enable consumer count
> > > clk_mcasp0_fixed 0 0 0
> 24576000 0 50000 Y
> > > deviceless 0
> >
> > Consider making the kernel output simple, greppable, and parseable (e.g.,
> > comma-separated fields, one entry per line, no multi-line column headers)
> > and let a userspace tool do the fancy formatting.
> >
> Hi Robert,
> We have raised another patch for the same. Please find the below link
> for reference:
>
> https://www.spinics.net/lists/kernel/msg4459705.html

That output is still not parsable.

I suggest making the kernel output more like:
clock,enable count,prepare count,protect count,rate,accuracy,phase,duty cycle,hardware enable,consumer,per-user count
clk_mcasp0_fixed,0,0,0,24576000,0,0,50000,Y,deviceless,0
clk_mcasp0,0,0,0,24576000,0,0,50000,N,simple-audio-card;cpu,0

and make a userspace program like lsmod, lscpu, lsblk, lspci,
or lsusb to print the data with fancy columns or apply
other filters.

That allows adding or removing column headers, assuming the
userspace program doesn't hardcode assumptions about them.