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:	Tue, 26 Mar 2013 11:33:44 +0530
From:	Kishon Vijay Abraham I <kishon@...com>
To:	Laxman Dewangan <ldewangan@...dia.com>,
	"balbi@...com" <balbi@...com>,
	"gg@...mlogic.co.uk" <gg@...mlogic.co.uk>,
	Rajendra Nayak <rnayak@...com>
CC:	"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>,
	"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

Hi,

On Monday 25 March 2013 03:16 PM, Laxman Dewangan wrote:
> 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?

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 <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.

Graeme,
Any reason why you dint use palmas_read()/palmas_write here?
Btw palmas_read()/palmas_write() internally uses regmap APIs.
>
>> +}
>> +
>> +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.

hmm.. I think we should either fall-back to the notification mechanism 
or have the client drivers pass function pointer here. Felipe?
>
>
>> +
>
>> +       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.

No. It can be obtained from regmap too.

Thanks
Kishon
--
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