Re: [PATCH net-next 04/12] net: pse-pd: tps23881: Add support for power limit and measurement features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 9 Oct 2024 17:16:20 +0200
Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote:

> > > This is a common pattern in this driver, we read and write two registers
> > > in one run and then calculate bit offset for the channel, can you please
> > > move it in to separate function. This can be done in a separate patch if
> > > you like.  
> > 
> > The pattern is common but the operations are always different so I didn't
> > found a clean way of doing it.
> > Here is a listing of it:
> > 	if (chan < 4)
> > 		class = ret >> 4;
> > 	else
> > 		class = ret >> 12;
> > 
> > 	if (chan < 4)
> > 		val = (ret & 0xff00) | pol;
> > 	else
> > 		val = (ret & 0xff) | (pol << 8);  
> > 
> >         if (chan < 4)
> > val = (u16)(ret | BIT(chan));                                   
> >         else
> > val = (u16)(ret | BIT(chan + 4));
> > 
> > 	if (chan < 4)
> > 		mW = (ret & 0xff) * TPS23881_MW_STEP;
> > 	else
> > 		mW = (ret >> 8) * TPS23881_MW_STEP;
> > 
> > 
> > Any idea?
> >   
> 
> something like this:

Oh thanks, you rock!!
Indeed this should work, thanks for sorting this out.

Regards,
-- 
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux