From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750952AbZG3Mgf (ORCPT ); Thu, 30 Jul 2009 08:36:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750776AbZG3Mge (ORCPT ); Thu, 30 Jul 2009 08:36:34 -0400 Received: from opensource.wolfsonmicro.com ([80.75.67.52]:55113 "EHLO opensource2.wolfsonmicro.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750745AbZG3Mge (ORCPT ); Thu, 30 Jul 2009 08:36:34 -0400 Date: Thu, 30 Jul 2009 13:36:33 +0100 From: Mark Brown To: Roger Quadros Cc: lrg@slimlogic.co.uk, linux-kernel@vger.kernel.org Subject: Re: regulator: adding enable control to fixed regulator interface Message-ID: <20090730123633.GA2739@rakim.wolfsonmicro.main> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Cookie: Flattery will get you everywhere. User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 30, 2009 at 03:20:24PM +0300, Roger Quadros wrote: [Cut description of GPIO-switched regulator.] > What is the best way to implement this within the regulator framework? > Writing a regulator driver is one solution but I'm sure there must be > many instances like this and writing a driver for each case is not > that nice. Only one driver should be needed even if a new driver is implemented for this - we already have an abstracted API for GPIOs in the form of gpiolib (see drivers/gpio) so the driver can just take in platform data with the gpio number and a voltage as platform data. > I want to use the fixed regulator driver but this does not have > regulator enable/disable control. > Isn't it a good idea to have enable/disable control for the current > implementation of the fixed voltage regulator i.e. drivers/regulator/fixed.c ? It should be possible to do it with platform data for the fixed voltage regulator, though without looking at the code I can't say for certain if it'd be easier to just add a separate driver rather than have the conditional code to handle cases both with and without GPIO. I'd expect it'll be fine to combine, though. > The regulator enabling/disabling functionality can be implemented by > platform code and the required function pointers could be passed through > fixed_voltage_config structure. I don't see any need for platform code to provide callbacks here given the existing gpiolib abstraction.