Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756457Ab3CYJtc (ORCPT ); Mon, 25 Mar 2013 05:49:32 -0400 Received: from hqemgate04.nvidia.com ([216.228.121.35]:5548 "EHLO hqemgate04.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755212Ab3CYJta (ORCPT ); Mon, 25 Mar 2013 05:49:30 -0400 X-PGP-Universal: processed; by hqnvupgp07.nvidia.com on Mon, 25 Mar 2013 02:49:02 -0700 Message-ID: <51501CFB.4020905@nvidia.com> Date: Mon, 25 Mar 2013 15:16:35 +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: Kishon Vijay Abraham I CC: "balbi@ti.com" , "grant.likely@secretlab.ca" , "rob.herring@calxeda.com" , "rob@landley.net" , "gregkh@linuxfoundation.org" , "s-guiriec@ti.com" , "gg@slimlogic.co.uk" , "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> In-Reply-To: <1364203926-24488-1-git-send-email-kishon@ti.com> 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: 2978 Lines: 90 On Monday 25 March 2013 03:02 PM, Kishon Vijay Abraham I 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? 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. > +} > + > +static int palmas_usb_write(struct palmas *palmas, unsigned int reg, > + unsigned int data) > +{ > + 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_write(palmas->regmap[slave], addr, data); Same as above. > + > + if (status != OMAP_DWC3_UNKNOWN) { > + palmas_usb->linkstat = status; > + palmas_usb->mailboxstat = dwc3_omap_mailbox(status); Omap specific call, why? This is generic palma driver. > + > + palmas_usb->dev = &pdev->dev; > + > + palmas_usb->irq1 = regmap_irq_get_virq(palmas->irq_data, > + PALMAS_ID_OTG_IRQ); > + palmas_usb->irq2 = regmap_irq_get_virq(palmas->irq_data, > + PALMAS_ID_IRQ); > + palmas_usb->irq3 = regmap_irq_get_virq(palmas->irq_data, > + PALMAS_VBUS_OTG_IRQ); > + palmas_usb->irq4 = regmap_irq_get_virq(palmas->irq_data, > + PALMAS_VBUS_IRQ); Should be come from platform_get_irq() through platform driver. -- 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/