Re: [PATCH v3 2/3] pinctrl: tps6594: add for TPS6594 PMIC

From: Michael Walle
Date: Fri May 05 2023 - 07:31:30 EST


Hi,

I noticed that I could override reg_mask_xlate, so I should be able to
"just" match on the base address given as argument to perform a
different computation depending on whether we are using reg_mask_xlate in
a "direction change" or not, but somehow this feels a bit wrong.

Is this the correct solution?
Am I missing something?

No you don't miss anything. This is the actual use case for the base
parameter. If you need your own .xlate you can match on the base address
to do the translation based on wether it is used for .direction, .set
or .get.

I.e.

switch (base) {
case REG_IO_CTRL:
do_something_with_reg_and_mask;
case REG_DAT:
do_something_different_with_reg_and_mask;
default:
error;
}

-michael