Re: [PATCH v8 1/3] input: pm8xxx-vibrator: refactor to support new SPMI vibrator

From: Fenglin Wu
Date: Wed Apr 03 2024 - 01:30:40 EST




On 4/2/2024 11:21 PM, Konrad Dybcio wrote:
On 1.04.2024 10:38 AM, Fenglin Wu via B4 Relay wrote:
From: Fenglin Wu <quic_fenglinw@xxxxxxxxxxx>

Currently, vibrator control register addresses are hard coded,
including the base address and offsets, it's not flexible to
support new SPMI vibrator module which is usually included in
different PMICs with different base address. Refactor it by using
the base address defined in devicetree.

Signed-off-by: Fenglin Wu <quic_fenglinw@xxxxxxxxxxx>
---

[...]

if (regs->enable_mask)
- rc = regmap_update_bits(vib->regmap, regs->enable_addr,
+ rc = regmap_update_bits(vib->regmap, vib->enable_addr,
regs->enable_mask, on ? ~0 : 0);

The idiomatic way across the kernel seems to be writing the mask value
instead of ~0 (which also saves like 2 cpu instructions)


Not sure about how ssbi addressing works, but except for that lgtm

Agree.
SSBI driver doesn't provide reg_update_bits function call so similar mathematics is done on the value before writing to the register, I can update it to use enable_mask directly in next version.

Konrad