devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Graeme Gregory <gg@slimlogic.co.uk>
To: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>,
	"balbi@ti.com" <balbi@ti.com>, Rajendra Nayak <rnayak@ti.com>,
	"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	"rob@landley.net" <rob@landley.net>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"s-guiriec@ti.com" <s-guiriec@ti.com>,
	"sameo@linux.intel.com" <sameo@linux.intel.com>,
	"broonie@opensource.wolfsonmicro.com"
	<broonie@opensource.wolfsonmicro.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: [PATCH v3] USB: PHY: Palmas USB Transceiver Driver
Date: Tue, 26 Mar 2013 09:27:44 +0000	[thread overview]
Message-ID: <51516A10.40704@slimlogic.co.uk> (raw)
In-Reply-To: <51516695.8020808@nvidia.com>

On 26/03/13 09:12, Laxman Dewangan wrote:
> On Tuesday 26 March 2013 02:31 PM, Graeme Gregory wrote:
>> On 26/03/13 06:03, Kishon Vijay Abraham I wrote:
>>>> +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.
>
>
> But still you are using the PALMAS macro here and indirectly it is
> tied up. It is not completely independent.
> If need to be independent then regmap pointer with address need to be
> passed as independt header and no where on code whould refer the PALMA.
> I think as per current code, it is not possible although it is your
> big plan what I understand from some time back in one of patch
> discussion.
>
It is actually almost possible, but it is something I gave up looking
at. You can get the regmap of your parent i2c device without having
knowledge of the type of parent.

>
>>>>> +       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.
> Kishon,
> I think it is very much possible. You can pass the interrupt throough
> IRQ_RESOURCE and populate it from DT. If you provide proper interrupt
> parent and irq number then irq framework take care of every thing. 
> already tested this with RTC interrupt of plama and it worked very well.
>
If we are tightly coupling as above then using platform_irq is an extra
inefficiency. You both have to populate this then parse it afterwards.
Why not just use the regmap helper? Ill admit this code is like this as
there was a period where platform irqs in DT just was not working right!

We should really agree now if we are going for loose or tight coupling
now rather than keep switching?

Graeme


  reply	other threads:[~2013-03-26  9:27 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-07 13:21 [PATCH v2 0/4] usb: added palmas-usb driver and a few misc fixes Kishon Vijay Abraham I
     [not found] ` <1362662506-14823-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-03-07 13:21   ` [PATCH v2 1/4] usb: dwc3: set dma_mask for dwc3_omap device Kishon Vijay Abraham I
2013-03-07 13:21 ` [PATCH v2 2/4] usb: dwc3: dwc3-omap: return -EPROBE_DEFER if probe has not yet executed Kishon Vijay Abraham I
2013-03-07 13:21 ` [PATCH v2 3/4] USB: Palmas OTG Transceiver Driver Kishon Vijay Abraham I
     [not found]   ` <1362662506-14823-4-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-03-14 13:56     ` Felipe Balbi
2013-03-14 14:53       ` kishon
2013-03-25  9:32     ` [PATCH v3] USB: PHY: Palmas USB " Kishon Vijay Abraham I
     [not found]       ` <1364203926-24488-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-03-25  9:46         ` Laxman Dewangan
2013-03-26  6:03           ` Kishon Vijay Abraham I
2013-03-26  9:01             ` Graeme Gregory
2013-03-26  9:12               ` Laxman Dewangan
2013-03-26  9:27                 ` Graeme Gregory [this message]
2013-03-26  9:34                   ` Laxman Dewangan
2013-03-26  9:51                     ` Graeme Gregory
2013-03-26 11:28                       ` Laxman Dewangan
     [not found]                   ` <51516A10.40704-kDsPt+C1G03kYMGBc/C6ZA@public.gmane.org>
2013-03-26 16:22                     ` Stephen Warren
2013-03-26 16:57                       ` Graeme Gregory
2013-03-26 20:23                         ` Stephen Warren
2013-03-27 11:03                           ` Graeme Gregory
2013-03-26 10:21               ` Felipe Balbi
2013-03-26 10:28                 ` Laxman Dewangan
     [not found]                   ` <51517859.2020407-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-03-26 12:07                     ` Felipe Balbi
2013-03-26 16:14                   ` Stephen Warren
2013-03-26 10:19             ` Felipe Balbi
2013-05-06 13:17     ` [PATCH v4] extcon: Palmas Extcon Driver Kishon Vijay Abraham I
2013-05-06 14:26       ` Laxman Dewangan
2013-05-07  5:06         ` Kishon Vijay Abraham I
2013-05-06 14:40       ` Mark Brown
2013-05-07  5:12         ` Kishon Vijay Abraham I
     [not found]           ` <51888D55.3090907-l0cyMroinI0@public.gmane.org>
2013-05-07  7:58             ` Mark Brown
2013-05-07  9:47               ` Kishon Vijay Abraham I
2013-05-07  9:49                 ` Graeme Gregory
2013-05-07 10:45                 ` Mark Brown
2013-05-14  9:18                   ` Kishon Vijay Abraham I
2013-05-14  9:54                     ` Graeme Gregory
2013-05-14 18:43                       ` Laxman Dewangan
2013-05-07  0:43       ` myungjoo.ham
2013-05-07  5:21         ` Kishon Vijay Abraham I
2013-05-22  6:23           ` Kishon Vijay Abraham I
2013-05-07  6:10       ` Chanwoo Choi
2013-05-07  6:25         ` Kishon Vijay Abraham I
2013-05-07  6:57           ` Chanwoo Choi
2013-05-07  7:05             ` Chanwoo Choi
     [not found]               ` <5188A7BE.4080509-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-05-07  8:17                 ` Kishon Vijay Abraham I
2013-03-07 13:21 ` [PATCH v2 4/4] usb: musb: omap2430: replace *_* with *-* in property names Kishon Vijay Abraham I
2013-03-14 13:57   ` Felipe Balbi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51516A10.40704@slimlogic.co.uk \
    --to=gg@slimlogic.co.uk \
    --cc=balbi@ti.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=gregkh@linuxfoundation.org \
    --cc=kishon@ti.com \
    --cc=ldewangan@nvidia.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=rnayak@ti.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=s-guiriec@ti.com \
    --cc=sameo@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).