Re: [PATCH v1] usb: typec: tcpci: Refactor tcpc_presenting_cc1_rd macro

From: Heikki Krogerus
Date: Thu Mar 11 2021 - 03:28:25 EST


On Wed, Mar 10, 2021 at 02:35:36PM -0800, Badhri Jagan Sridharan wrote:
> Defining one macro instead of two for tcpc_presenting_*_rd.
> This is a follow up of the comment left by Heikki Krogerus.
>
> https://patchwork.kernel.org/project/linux-usb/patch/
> 20210304070931.1947316-1-badhri@xxxxxxxxxx/
>
> Signed-off-by: Badhri Jagan Sridharan <badhri@xxxxxxxxxx>

Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> ---
> drivers/usb/typec/tcpm/tcpci.c | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c
> index 027afd7dfdce..25b480752266 100644
> --- a/drivers/usb/typec/tcpm/tcpci.c
> +++ b/drivers/usb/typec/tcpm/tcpci.c
> @@ -24,14 +24,10 @@
> #define AUTO_DISCHARGE_PD_HEADROOM_MV 850
> #define AUTO_DISCHARGE_PPS_HEADROOM_MV 1250
>
> -#define tcpc_presenting_cc1_rd(reg) \
> +#define tcpc_presenting_rd(reg, cc) \
> (!(TCPC_ROLE_CTRL_DRP & (reg)) && \
> - (((reg) & (TCPC_ROLE_CTRL_CC1_MASK << TCPC_ROLE_CTRL_CC1_SHIFT)) == \
> - (TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_CC1_SHIFT)))
> -#define tcpc_presenting_cc2_rd(reg) \
> - (!(TCPC_ROLE_CTRL_DRP & (reg)) && \
> - (((reg) & (TCPC_ROLE_CTRL_CC2_MASK << TCPC_ROLE_CTRL_CC2_SHIFT)) == \
> - (TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_CC2_SHIFT)))
> + (((reg) & (TCPC_ROLE_CTRL_## cc ##_MASK << TCPC_ROLE_CTRL_## cc ##_SHIFT)) == \
> + (TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_## cc ##_SHIFT)))
>
> struct tcpci {
> struct device *dev;
> @@ -201,11 +197,11 @@ static int tcpci_get_cc(struct tcpc_dev *tcpc,
> *cc1 = tcpci_to_typec_cc((reg >> TCPC_CC_STATUS_CC1_SHIFT) &
> TCPC_CC_STATUS_CC1_MASK,
> reg & TCPC_CC_STATUS_TERM ||
> - tcpc_presenting_cc1_rd(role_control));
> + tcpc_presenting_rd(role_control, CC1));
> *cc2 = tcpci_to_typec_cc((reg >> TCPC_CC_STATUS_CC2_SHIFT) &
> TCPC_CC_STATUS_CC2_MASK,
> reg & TCPC_CC_STATUS_TERM ||
> - tcpc_presenting_cc2_rd(role_control));
> + tcpc_presenting_rd(role_control, CC2));
>
> return 0;
> }
> --
> 2.31.0.rc1.246.gcd05c9c855-goog

thanks,

--
heikki