Re: Enabling regulators form userspace

From: Mark Brown
Date: Thu Apr 23 2015 - 06:36:41 EST


On Wed, Apr 22, 2015 at 01:56:44PM -0700, Dmitry Torokhov wrote:
> On Wed, Apr 22, 2015 at 09:11:12PM +0100, Mark Brown wrote:

> > There's already a userspace consumer driver you can bind for test
> > purposes which could be used here.

> Thanks for the pointer, but I do not think this would work for this use
> case, mainly because the controllers in question often impose timing
> constraints on the supplies. I.e. while holding reset GPIO you turn on
> vdd and then, after at least X msec, avdd, and then release reset GPIO.

This really sounds like you should be writing a device driver here, even
if it's just a little module you write separately to the actual device
driver used in real systems.

> > I'm not keen on having something in there as a standard feature, it's
> > just this massive "abuse me" flag - there's not really much of a
> > production use case for it but lots of "let's just hack around our buggy
> > drivers" use case.

> I would contend that the drivers are not necessarily buggy: we just do
> not want to encumber the kernel driver with all the details about test
> interface that is very much controller specific (i.e. we can't easily
> generalize it for all permutations of Atmel/Cypress/Eantech/Stnaptics
> etc controllers) and that is not going to be used during normal
> operation. However it is very much a production issue as these test
> utilities are used during factory runs to ensure quality of produced
> hardware.

It's not about the quality of an individual driver, it's about the
potential for misuse - making the kernel interfaces such that it's easy
to do the right thing and hard to do the wrong thing. Having the
ability to just bang on this stuff from userspace seems like it's
encouraging problematic behaviour.

Attachment: signature.asc
Description: Digital signature