Re: [RFD] voltage/current regulator consumer interface

From: James Kosin
Date: Tue Apr 21 2009 - 09:26:42 EST


Mike Rapoport wrote:
>
> James Kosin wrote:
>> Mike Rapoport wrote:
>>> Hi,
>>>
>>> Recently there was a brief discussion on linux-arm-kernel list [1] about
>>> controlling voltage regulator state in cases when there is no consumer device
>>> for a particular regulator.
>>>
>>> I have some thoughts but I'd like to know people opinion before I start
>>> implementation.
>>>
>>> Problem
>>> -------
>>> The regulator framework API provides ability to control the state of
>>> voltage/current regulators from within the kernel. Usually the regulator
>>> supplies power to a device and device driver or some hooks to the platform code
>>> from the device driver manipulate the regulator state. However, the regulator
>>> framework does not have userspace ABI that allows regulator state modifications.
>>> Lack of this ABI prevents fine-grained control for power consumption of devices
>>> such as GPS trancievers and GSM modems. Moreover, in SoC based systems it is
>>> possible to switch on/off power to entire subsystem when it is not used.
>>>
>>
>> I'd also ask the question, Why?
>> If exposing to user space it leaves the possibility of damaging hardware
>> or completely frying a board.
>
> Suppose you have a handheld device with GPS transceiver. You would like to give
> user the ability to switch the transceiver on and off.
>

Then the GPS drivers should be made aware and let the drivers handle the
on/off interface. If a user is allowed to turn interfaces on/off at
will with this then drivers could suffer from (shock)... ie: you could
turn off your hard-drive in a middle of a write by the driver corrupting
data, if handled in the driver it could finish the write before turning
off the drive. I know this is a far stretch from a GPS were the device
is only READ only.

I do agree it could be useful, but we need to be careful on how much
control the user has over the drivers and system. To an extreme, a user
could be able to turn off CPU cores outside of the drivers control
causing serious pipeline hazards that would need to be handled at the
driver level. This would not be an issue for GPS were the data is read
only and the missing data is really not that important to the system
operation and continued use.

James

Attachment: signature.asc
Description: OpenPGP digital signature