public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: tony@atomide•com (Tony Lindgren)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v3 2/2] dt: platform driver: Fill the resources before probe and defer if needed
Date: Fri, 18 Apr 2014 16:24:07 -0700	[thread overview]
Message-ID: <20140418232407.GQ21823@atomide.com> (raw)
In-Reply-To: <20140418230335.GI24070@n2100.arm.linux.org.uk>

* Russell King - ARM Linux <linux@arm•linux.org.uk> [140418 16:04]:
> On Fri, Apr 18, 2014 at 02:58:48PM -0700, Tony Lindgren wrote:
> > Oh come on, let's stop pretending it's not broken. And it's way worse with
> > device tree as there's nothing making sure the resources for a driver
> > are set up before the driver probes. And we've been unable to fix just
> > this issue alone for about six months now. It's also broken beyond that.
> > It's called of_platform_bus yet it won't even pass the platform_data
> > as auxdata to the devices on a sub-bus instantatiated like I2C.
> 
> Isn't there a much simpler solution to the platform device IRQ problem?
> 
> Rather than trying to fix it at the point where the resources are
> created, why not just *not* have DT create the IRQ resources in the
> first place, and instead have platform_get_irq() (which is the function
> which should be used to get an IRQ) be the actor to do whatever is
> necessary to return the IRQ(s) ?

Yeah why not. I don't see why we would need to do all this of_* special
trickery for much anything beyond parsing the binding.
 
> Yes, I know we have some drivers which use platform_get_resources() with
> IORESOURCE_IRQ, but they should really use the right accessor.  And those
> who just dereference the resource array directly... get what's coming
> (though of course they have to be fixed.)

$ git grep IORESOURCE_IRQ drivers/ | grep platform_get_resource | wc -l
179

But might be scriptable to some extent..
 
> It has the benefit that you're in a path where you /can/ return
> -EPROBE_DEFER too and not have to mess around with notifiers or other
> silly stuff like that.

And then maybe we can make of_platform_probe() or some bus function
do the most of the -EPROBE_DEFER ping pong before the driver even
probes?

Regards,

Tony

  reply	other threads:[~2014-04-18 23:24 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-13  9:57 [PATCH] dt: platform driver: Fill the resources before probe and defer if needed Jean-Jacques Hiblot
2014-02-13 10:06 ` Jean-Jacques Hiblot
2014-02-18 20:22 ` Greg KH
2014-02-18 22:34   ` Grant Likely
2014-02-20 15:30 ` Grant Likely
     [not found]   ` < 1392988720-20976-1-git-send-email-jjhiblot@traphandler.com>
     [not found]     ` < 902E09E6452B0E43903E4F2D568737AB0B9D2959@DFRE01.ent.ti.com>
     [not found]       ` < CACh+v5MPTx6nwVj1s3krntJqQ6DMTQ2hQ93Hc+rRNAuFa9+qPw@mail.gmail.com>
     [not found]     ` <20140308073758 .DA63FC408EC@trevor.secretlab.ca>
     [not found]       ` < CACh+v5P=tcc-h_9r7Btwyu+jWjwH2ocmW4VCgDYqY7VMWsHuOA@mail.gmail.com>
     [not found]         ` < 20140317142443.A2447C40A85@trevor.secretlab.ca>
2014-02-21 13:18   ` [PATCH v2] " Jean-Jacques Hiblot
2014-02-21 15:37     ` Strashko, Grygorii
2014-02-21 16:22       ` Jean-Jacques Hiblot
2014-02-27 16:43         ` Jean-Jacques Hiblot
2014-03-08  7:32           ` Grant Likely
2014-02-27 15:01     ` Ludovic Desroches
2014-03-08  7:37     ` Grant Likely
2014-03-08 11:59       ` Russell King - ARM Linux
2014-03-17 11:07       ` Jean-Jacques Hiblot
2014-03-17 14:24         ` Grant Likely
2014-03-17 15:20           ` Jean-Jacques Hiblot
2014-03-20 16:11             ` Grant Likely
2014-03-21 14:46               ` [PATCH v3 0/2] " Jean-Jacques Hiblot
2014-03-21 14:46                 ` [PATCH v3 1/2] of: irq: Added of_find_irq_domain() to get the domain of an irq Jean-Jacques Hiblot
2014-03-21 14:46                 ` [PATCH v3 2/2] dt: platform driver: Fill the resources before probe and defer if needed Jean-Jacques Hiblot
2014-04-11 17:28                   ` Rob Herring
2014-04-18 20:52                     ` Tony Lindgren
2014-04-18 21:39                       ` Rob Herring
2014-04-18 21:58                         ` Tony Lindgren
2014-04-18 23:03                           ` Russell King - ARM Linux
2014-04-18 23:24                             ` Tony Lindgren [this message]
2014-04-21 13:47                               ` Rob Herring
2014-04-21 15:54                                 ` Tony Lindgren
2014-04-21 19:01                                   ` Rob Herring
2014-04-21 20:25                                     ` Tony Lindgren
2014-04-22  3:05                                       ` Tony Lindgren
2014-04-22  4:57                                         ` Tony Lindgren
2014-04-23 22:03                                           ` Rob Herring
2014-04-23 17:38                                     ` Russell King - ARM Linux
2014-04-23 15:02                                 ` Grant Likely

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=20140418232407.GQ21823@atomide.com \
    --to=tony@atomide$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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