All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jon Hunter <jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	Alexandre Courbot
	<gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [RFC] tegra: dpaux: pinctrl proposal
Date: Fri, 22 May 2015 16:37:34 +0100	[thread overview]
Message-ID: <555F4D3E.1030407@nvidia.com> (raw)
In-Reply-To: <20150522143706.GA19922-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>


On 22/05/15 15:37, Thierry Reding wrote:
> * PGP Signed by an unknown key
> 
> On Fri, May 22, 2015 at 01:17:02PM +0100, Jon Hunter wrote:
>>
>> On 22/05/15 08:03, Linus Walleij wrote:
>>> On Thu, May 21, 2015 at 4:03 PM, Thierry Reding
>>> <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>>
>>>>>> I don't see any conceptual reason why the driver that binds to that node
>>>>>> can't register as both a pinctrl driver plus anything else it needs to.
>>> (...)
>>>>> Looking at it there should not be a problem here with regard to the
>>>>> driver_data member of the device struct and so I don't see why the
>>>>> tegra_dpaux_probe() could not call pinctrl_register() to register the
>>>>> device.
>>>>
>>>> Yes, I think that'd be the best solution.
>>>
>>> I'm pretty much ready to go to any compromises to get DRM/GPU
>>> drivers to use internal kernel subsystems. The tendency there
>>> is to reimplement all kernel driver frameworks and hammer registers
>>> they need to access.
>>
>> Thanks Linus, but after looking at this further I don't think this
>> approach will work after all. In order to call pinctrl_register() from
>> outside the pinctrl directory, also means exposing the pinctrl_dev and
>> pinctrl_desc structures and so this will get messy. Or at least a bigger
>> churn than I would have hoped for.
> 
> It's not that much churn, is it? The structure definitions could be
> moved to include/linux/pinctrl/machine.h. That's included by core.h in
> drivers/pinctrl anyway, so that should really be all there is to it.

I took a quick look and I would need to move pinctrl, pinctrl_dev and
pinctrl_state. So may be not too bad. pinctrl/machine.h makes logical
sense, but not sure if they would be more suited to pinctrl/pinctrl.h.

>> Thierry, what if we add a drivers/pinctrl/pinctrl-tegra-dpaux.c and then
>> simply call platform_device_register_data() from tegra_dpaux_probe() to
>> register the device? I could still use the parent of_node to match the
>> platform data for the dpaux pin controller.
> 
> That'd work for me too. But if that's what it comes down to, I don't see
> a need to go through the driver model. Why not simply expose a simple
> set of functions to setup and tear down the pinctrl that the DPAUX
> driver can call?

Sorry, but I don't understand how that would work :-(

> I'd still clearly prefer to have the pinctrl code live directly in the
> DPAUX driver, so I think we should at least give that a shot.

It's fine with me if Linus is ok with the changes.

Cheers
Jon

  parent reply	other threads:[~2015-05-22 15:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-18 15:33 [RFC] tegra: dpaux: pinctrl proposal Jon Hunter
     [not found] ` <1431963229-12867-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-05-19 14:46   ` Thierry Reding
     [not found]     ` <20150519144654.GG26748-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-05-20 13:46       ` Jon Hunter
     [not found]         ` <555C901F.8090009-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-05-20 15:40           ` Thierry Reding
     [not found]             ` <20150520154022.GB7734-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-05-20 15:54               ` Jon Hunter
     [not found]                 ` <555CAE47.6070907-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-05-20 19:12                   ` Stephen Warren
     [not found]                     ` <555CDC82.1010104-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2015-05-21 13:03                       ` Jon Hunter
     [not found]                         ` <555DD7B3.6020608-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-05-21 14:03                           ` Thierry Reding
     [not found]                             ` <20150521140356.GA28021-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-05-22  7:03                               ` Linus Walleij
     [not found]                                 ` <CACRpkdYP5FN=4_pWxc1j=e_JfcjA3bXCPDRmZYHeiZ8HDyEaEQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-22  9:57                                   ` Thierry Reding
2015-05-22 12:17                                   ` Jon Hunter
     [not found]                                     ` <555F1E3E.7040500-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-05-22 14:37                                       ` Thierry Reding
     [not found]                                         ` <20150522143706.GA19922-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-05-22 15:37                                           ` Jon Hunter [this message]
2015-05-29 15:50                                           ` Jon Hunter
     [not found]                                             ` <55688AB4.2030505-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-06-01 19:24                                               ` Stephen Warren
     [not found]                                                 ` <556CB183.5020606-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2015-06-02  9:18                                                   ` Jon Hunter
2015-05-22 15:41                                   ` Stephen Warren
     [not found]                                     ` <555F4E11.3050201-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2015-05-24 21:13                                       ` Linus Walleij

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=555F4D3E.1030407@nvidia.com \
    --to=jonathanh-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
    --cc=gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.