lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 25 Mar 2013 15:16:35 +0530
From:	Laxman Dewangan <ldewangan@...dia.com>
To:	Kishon Vijay Abraham I <kishon@...com>
CC:	"balbi@...com" <balbi@...com>,
	"grant.likely@...retlab.ca" <grant.likely@...retlab.ca>,
	"rob.herring@...xeda.com" <rob.herring@...xeda.com>,
	"rob@...dley.net" <rob@...dley.net>,
	"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
	"s-guiriec@...com" <s-guiriec@...com>,
	"gg@...mlogic.co.uk" <gg@...mlogic.co.uk>,
	"sameo@...ux.intel.com" <sameo@...ux.intel.com>,
	"broonie@...nsource.wolfsonmicro.com" 
	<broonie@...nsource.wolfsonmicro.com>,
	"devicetree-discuss@...ts.ozlabs.org" 
	<devicetree-discuss@...ts.ozlabs.org>,
	"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: Re: [PATCH v3] USB: PHY: Palmas USB Transceiver Driver

On Monday 25 March 2013 03:02 PM, Kishon Vijay Abraham I wrote:
> From: Graeme Gregory <gg@...mlogic.co.uk>
>
> 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 <gg@...mlogic.co.uk>
> Signed-off-by: Moiz Sonasath <m-sonasath@...com>
> Signed-off-by: Ruchika Kharwar <ruchika@...com>
> Signed-off-by: Kishon Vijay Abraham I <kishon@...com>
> Signed-off-by: Sebastien Guiriec <s-guiriec@...com>
> ---

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 <linux/of.h>
+#include <linux/of_platform.h>
+
+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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ