Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759607Ab3CZKbl (ORCPT ); Tue, 26 Mar 2013 06:31:41 -0400 Received: from hqemgate03.nvidia.com ([216.228.121.140]:10929 "EHLO hqemgate03.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757561Ab3CZKbj (ORCPT ); Tue, 26 Mar 2013 06:31:39 -0400 X-PGP-Universal: processed; by hqnvupgp07.nvidia.com on Tue, 26 Mar 2013 03:31:09 -0700 Message-ID: <51517859.2020407@nvidia.com> Date: Tue, 26 Mar 2013 15:58:41 +0530 From: Laxman Dewangan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121028 Thunderbird/16.0.2 MIME-Version: 1.0 To: "balbi@ti.com" CC: Graeme Gregory , Kishon Vijay Abraham I , Rajendra Nayak , "grant.likely@secretlab.ca" , "rob.herring@calxeda.com" , "rob@landley.net" , "gregkh@linuxfoundation.org" , "s-guiriec@ti.com" , "sameo@linux.intel.com" , "broonie@opensource.wolfsonmicro.com" , "devicetree-discuss@lists.ozlabs.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-usb@vger.kernel.org" Subject: Re: [PATCH v3] USB: PHY: Palmas USB Transceiver Driver References: <1362662506-14823-4-git-send-email-kishon@ti.com> <1364203926-24488-1-git-send-email-kishon@ti.com> <51501CFB.4020905@nvidia.com> <51513A40.7080905@ti.com> <515163F6.3010400@slimlogic.co.uk> <20130326102100.GD11244@arwen.pp.htv.fi> In-Reply-To: <20130326102100.GD11244@arwen.pp.htv.fi> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3119 Lines: 81 On Tuesday 26 March 2013 03:51 PM, Felipe Balbi wrote: > * PGP Signed by an unknown key > > Hi, > > On Tue, Mar 26, 2013 at 09:01:42AM +0000, Graeme Gregory wrote: >>>>> From: Graeme Gregory >>>>> >>>>> This is the driver for the OTG transceiver built into the Palmas >>>>> chip. It >>>>> handles the various USB OTG events that can be generated by cable >>>>> insertion/removal. >>>>> >>>>> Signed-off-by: Graeme Gregory >>>>> Signed-off-by: Moiz Sonasath >>>>> Signed-off-by: Ruchika Kharwar >>>>> Signed-off-by: Kishon Vijay Abraham I >>>>> Signed-off-by: Sebastien Guiriec >>>>> --- >>>> I think this driver is more over the cable connection like vbus >>>> detetcion or ID pin detection. >>>> Then why not it is implemented based on extcon framework? >>> extcon framework uses notification mechanism and Felipe dint like >>> using notification here. right Felipe? >>>> That way, generic usb driver (like tegra_usb driver) will get >>>> notification through extcon. >>>> >>>> We need this cable detection through extcon on our tegra solution >>>> through the Palmas. >>>> >>>> >>>> +#include >>>> +#include >>>> + >>>> +static int palmas_usb_read(struct palmas *palmas, unsigned int reg, >>>> + unsigned int *dest) >>>> +{ >>>> + unsigned int addr; >>>> + int slave; >>>> + >>>> + slave = PALMAS_BASE_TO_SLAVE(PALMAS_USB_OTG_BASE); >>>> + addr = PALMAS_BASE_TO_REG(PALMAS_USB_OTG_BASE, reg); >>>> + >>>> + return regmap_read(palmas->regmap[slave], addr, dest); >>>> >>>> >>>> Please use the generic api for palmas_read()/palmas_write(0 as it will >>>> be ease on debugging on register access. >>>> Direct regmap_read() does not help much on this. >>> Graeme, >>> Any reason why you dint use palmas_read()/palmas_write here? >>> Btw palmas_read()/palmas_write() internally uses regmap APIs. >> Because I was not a fan of tightly coupling the child devices to the >> parent MFD. palmas_read/write were added by Laxman. > I guess regmap would also help abstracting SPI versus I2C connection. > IMHO, palmas_read/write should be removed. > > Laxman's complaint that it doesn't help with debugging is utter > nonsense. palams read/write api uses the regmap only and hence not break anything on abstraction. in place of doing the following three statement in whole word, it provides wrapper of palmas_read() which actually does the same. slave = PALMAS_BASE_TO_SLAVE(PALMAS_USB_OTG_BASE); addr = PALMAS_BASE_TO_REG(PALMAS_USB_OTG_BASE, reg); regmap_read(palmas->regmap[slave], addr, dest); Above 3 lines in all the places for resgister access or make single call: palmas_read(palmas, PALMAS_USB_OTG_BASE, PALMAS_USB_OTG_BASE, dest). This function implement the above 3 lines. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/