Re: [PATCH v2 2/2] hwmon: ltc4282: add support for the LTC4282 chip

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

 



On Wed, 2023-11-29 at 21:55 +0100, Linus Walleij wrote:
> On Wed, Nov 29, 2023 at 5:08 PM Nuno Sá <noname.nuno@xxxxxxxxx> wrote:
> 
> > Cool, I actually thought that having the direction + get/set stuff would be weird
> > given the fact that we can only PULL_LOW or HIGH_Z the pins.
> 
> There are several drivers in the kernel that implement .set_config(),
> it's existing and should be enabled if it has uses.
> 

Yeah, it might make sense to support it specially for the input case. AFAICT, if I
use the .set_config() (but from a quick look I think we will need to add support for
it in gpiolib for the high-z configuration), then I can't use the gpio_regmap stuff.
As the driver stands I don't think I could do it anyways because setting gpio2-3 and
alert requires to write 0 on the register rather than 1. But again, I'm still very
suspicious about the whole thing. The datasheet states:

"GPIO1-GPIO3 and ALERT all have comparators monitoring
the voltage on these pins with a threshold of 1.28V even when
the pins are configured as outputs."

But we can't really set the direction for gpio2-3 and the alert pins (only getting
the level and setting it as PULL_LOW or HIGH_Z. gpio1 is the only one where we can
configure it as input or open drain ouput. Bah, I'll try to see if someone internally
can shed some light on this.
 
> As Andy points out: when the driver reaches a certain complexity,
> such as a huge table of muxable pins (that need to be configured to
> a certain muxing from device tree), and numerous complicated
> pin config options (also needing to be set up from device tree),
> it may be worth to implement a separate pin control driver that
> act as "backend" for the GPIO driver.
> 
> I think a separate pin control driver would be overkill in this case,
> it's a PWM driver with some smallish GPIO portions AFAICT,
> but you get to decide.
> 

Agreed, the chip only supports 4 pins and it is an optional feature. The main usage
for the chip iis to act as an hot swap controller (which maps into hwmon).

- Nuno Sá







[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux