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

From: Oleksij Rempel
Date: Wed Oct 09 2024 - 01:02:56 EST


On Wed, Oct 02, 2024 at 06:28:00PM +0200, Kory Maincent wrote:
> From: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx>
>
> Expand PSE callbacks to support the newly introduced
> pi_get/set_current_limit() and pi_get_voltage() functions. These callbacks
> allow for power limit configuration in the TPS23881 controller.
>
> Additionally, the patch includes the detected class, the current power
> delivered and the power limit ranges in the status returned, providing more
> comprehensive PoE status reporting.
>
> Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx>

> +static int tps23881_pi_get_class(struct tps23881_priv *priv, int id)
> +{
....
> + if (chan < 4)
> + class = ret >> 4;
> + else
> + class = ret >> 12;

....
> +tps23881_pi_set_2p_pw_limit(struct tps23881_priv *priv, u8 chan, u8 pol)
> +{
....
> + reg = TPS23881_REG_2PAIR_POL1 + (chan % 4);
> + ret = i2c_smbus_read_word_data(client, reg);
> + if (ret < 0)
> + return ret;
> +
> + if (chan < 4)
> + val = (ret & 0xff00) | pol;
> + else
> + val = (ret & 0xff) | (pol << 8);

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.

Acked-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>

Thank you!
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |