All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Sylwester Nawrocki <sylvester.nawrocki@gmail.com>,
	linux-media@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
	Magnus Damm <magnus.damm@gmail.com>,
	linux-sh@vger.kernel.org,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH 05/14] media: add a V4L2 OF parser
Date: Wed, 10 Oct 2012 22:51:09 +0000	[thread overview]
Message-ID: <2098605.jat554dMFe@avalon> (raw)
In-Reply-To: <5075A74C.80106@wwwdotorg.org>

On Wednesday 10 October 2012 10:50:20 Stephen Warren wrote:
> On 10/10/2012 07:18 AM, Laurent Pinchart wrote:
> > On Monday 08 October 2012 17:15:53 Guennadi Liakhovetski wrote:
> ...
> 
> >> But how do you get the subdev pointer? With the notifier I get it from
> >> i2c_get_clientdata(client) and what do you do without it? How do you get
> >> to the client?
> >> 
> >>> And can't it get that from DT as well?
> >> 
> >> No, I don't think there is a way to get a device pointer from a DT node.
> 
> I don't believe there's a generic API for this (although perhaps there
> could be), but it can be implemented quite easily.
>
> For example, on Tegra, the SMMU needs to flip a bit in the AHB register
> space in order to enable itself. The SMMU DT node contains a phandle
> that points at the AHB DT node. The SMMU driver parses the phandle and
> passes the DT node pointer to the AHB driver. The AHB driver looks up
> the struct device that was instantiated for that node. See
> drivers/amba/tegra-ahb.c:tegra_ahb_enable_smmu(). There are a few other
> cases of similar code in the kernel, although I can't remember the others!

That's a very naive approach, but what about storing the struct device in 
struct device_node when the device is instantiated ? It's so simple that 
there's probably a good reason why that hasn't been implemented though.

-- 
Regards,

Laurent Pinchart


WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Sylwester Nawrocki <sylvester.nawrocki@gmail.com>,
	linux-media@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
	Magnus Damm <magnus.damm@gmail.com>,
	linux-sh@vger.kernel.org,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH 05/14] media: add a V4L2 OF parser
Date: Thu, 11 Oct 2012 00:51:09 +0200	[thread overview]
Message-ID: <2098605.jat554dMFe@avalon> (raw)
In-Reply-To: <5075A74C.80106@wwwdotorg.org>

On Wednesday 10 October 2012 10:50:20 Stephen Warren wrote:
> On 10/10/2012 07:18 AM, Laurent Pinchart wrote:
> > On Monday 08 October 2012 17:15:53 Guennadi Liakhovetski wrote:
> ...
> 
> >> But how do you get the subdev pointer? With the notifier I get it from
> >> i2c_get_clientdata(client) and what do you do without it? How do you get
> >> to the client?
> >> 
> >>> And can't it get that from DT as well?
> >> 
> >> No, I don't think there is a way to get a device pointer from a DT node.
> 
> I don't believe there's a generic API for this (although perhaps there
> could be), but it can be implemented quite easily.
>
> For example, on Tegra, the SMMU needs to flip a bit in the AHB register
> space in order to enable itself. The SMMU DT node contains a phandle
> that points at the AHB DT node. The SMMU driver parses the phandle and
> passes the DT node pointer to the AHB driver. The AHB driver looks up
> the struct device that was instantiated for that node. See
> drivers/amba/tegra-ahb.c:tegra_ahb_enable_smmu(). There are a few other
> cases of similar code in the kernel, although I can't remember the others!

That's a very naive approach, but what about storing the struct device in 
struct device_node when the device is instantiated ? It's so simple that 
there's probably a good reason why that hasn't been implemented though.

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2012-10-10 22:51 UTC|newest]

Thread overview: 202+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-27 14:07 [PATCH 00/14] V4L2 DT support Guennadi Liakhovetski
2012-09-27 14:07 ` Guennadi Liakhovetski
2012-09-27 14:07 ` [PATCH 01/14] i2c: add dummy inline functions for when CONFIG_OF_I2C(_MODULE) isn't defined Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-09-27 14:07 ` [PATCH 02/14] of: add a dummy inline function for when CONFIG_OF is not defined Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-09-28 11:05   ` [PATCH 15/14] OF: define of_*_cmp() macros also if CONFIG_OF isn't set Guennadi Liakhovetski
2012-09-28 11:05     ` Guennadi Liakhovetski
2012-09-27 14:07 ` [PATCH 04/14] media: add V4L2 DT binding documentation Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-10-01 20:45   ` Sylwester Nawrocki
2012-10-01 20:45     ` Sylwester Nawrocki
     [not found]   ` <1348754853-28619-5-git-send-email-g.liakhovetski-Mmb7MZpHnFY@public.gmane.org>
2012-10-02 14:15     ` Rob Herring
2012-10-02 14:15       ` Rob Herring
2012-10-02 14:15       ` Rob Herring
2012-10-02 14:33       ` Guennadi Liakhovetski
2012-10-02 14:33         ` Guennadi Liakhovetski
2012-10-03 20:54         ` Rob Herring
2012-10-03 20:54           ` Rob Herring
2012-10-05  9:43           ` Guennadi Liakhovetski
2012-10-05  9:43             ` Guennadi Liakhovetski
2012-10-05 11:31             ` Hans Verkuil
2012-10-05 11:31               ` Hans Verkuil
2012-10-05 11:37               ` Guennadi Liakhovetski
2012-10-05 11:37                 ` Guennadi Liakhovetski
2012-10-08 20:00         ` Stephen Warren
2012-10-08 20:00           ` Stephen Warren
2012-10-08 20:59           ` Laurent Pinchart
2012-10-08 21:00             ` Laurent Pinchart
2012-10-08 21:14             ` Guennadi Liakhovetski
2012-10-08 21:14               ` Guennadi Liakhovetski
2012-10-08 21:14               ` Guennadi Liakhovetski
2012-10-09  9:21               ` Hans Verkuil
2012-10-09  9:21                 ` Hans Verkuil
2012-10-09  9:29                 ` Guennadi Liakhovetski
2012-10-09  9:29                   ` Guennadi Liakhovetski
2012-10-05 15:10     ` Sascha Hauer
2012-10-05 15:10       ` Sascha Hauer
2012-10-05 15:10       ` Sascha Hauer
2012-10-05 15:41       ` Guennadi Liakhovetski
2012-10-05 15:41         ` Guennadi Liakhovetski
2012-10-05 16:02         ` Sascha Hauer
2012-10-05 16:02           ` Sascha Hauer
2012-10-08  7:58           ` Guennadi Liakhovetski
2012-10-08  7:58             ` Guennadi Liakhovetski
2012-10-10  8:40             ` Sascha Hauer
2012-10-10  8:40               ` Sascha Hauer
2012-10-10  8:51               ` Mark Brown
2012-10-10  8:51                 ` Mark Brown
2012-10-10  9:21                 ` Sascha Hauer
2012-10-10  9:21                   ` Sascha Hauer
2012-10-10 10:46                   ` Mark Brown
2012-10-10 10:46                     ` Mark Brown
2012-10-08 20:12   ` Stephen Warren
2012-10-08 20:12     ` Stephen Warren
2012-09-27 14:07 ` [PATCH 05/14] media: add a V4L2 OF parser Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-10-01 21:37   ` Sylwester Nawrocki
2012-10-01 21:37     ` Sylwester Nawrocki
2012-10-02  9:49     ` Guennadi Liakhovetski
2012-10-02  9:49       ` Guennadi Liakhovetski
     [not found]       ` <Pine.LNX.4.64.1210021142210.15778-0199iw4Nj15frtckUFj5Ag@public.gmane.org>
2012-10-02 10:13         ` Sylwester Nawrocki
2012-10-02 10:13           ` Sylwester Nawrocki
2012-10-02 10:13           ` Sylwester Nawrocki
2012-10-02 11:04           ` Guennadi Liakhovetski
2012-10-02 11:04             ` Guennadi Liakhovetski
2012-10-05 10:41           ` Hans Verkuil
2012-10-05 10:41             ` Hans Verkuil
2012-10-05 10:58             ` Guennadi Liakhovetski
2012-10-05 10:58               ` Guennadi Liakhovetski
2012-10-05 11:23               ` Hans Verkuil
2012-10-05 11:23                 ` Hans Verkuil
2012-10-05 11:35                 ` Guennadi Liakhovetski
2012-10-05 11:35                   ` Guennadi Liakhovetski
2012-10-08 12:23                 ` Guennadi Liakhovetski
2012-10-08 12:23                   ` Guennadi Liakhovetski
2012-10-08 13:48                   ` Hans Verkuil
2012-10-08 13:48                     ` Hans Verkuil
2012-10-08 14:30                     ` Guennadi Liakhovetski
2012-10-08 14:30                       ` Guennadi Liakhovetski
2012-10-08 14:53                       ` Hans Verkuil
2012-10-08 14:53                         ` Hans Verkuil
2012-10-08 15:15                         ` Guennadi Liakhovetski
2012-10-08 15:15                           ` Guennadi Liakhovetski
2012-10-08 15:41                           ` Hans Verkuil
2012-10-08 15:41                             ` Hans Verkuil
2012-10-08 15:53                             ` Guennadi Liakhovetski
2012-10-08 15:53                               ` Guennadi Liakhovetski
     [not found]                               ` <Pine.LNX.4.64.1210081748390.14454-0199iw4Nj15frtckUFj5Ag@public.gmane.org>
2012-10-08 16:00                                 ` Guennadi Liakhovetski
2012-10-08 16:00                                   ` Guennadi Liakhovetski
2012-10-08 16:00                                   ` Guennadi Liakhovetski
2012-10-10 13:22                             ` Laurent Pinchart
2012-10-10 13:22                               ` Laurent Pinchart
2012-10-10 13:18                           ` Laurent Pinchart
2012-10-10 13:18                             ` Laurent Pinchart
2012-10-10 16:50                             ` Stephen Warren
2012-10-10 16:50                               ` Stephen Warren
2012-10-10 22:51                               ` Laurent Pinchart [this message]
2012-10-10 22:51                                 ` Laurent Pinchart
2012-10-11 16:15                                 ` Stephen Warren
2012-10-11 16:15                                   ` Stephen Warren
2012-10-10 13:12                         ` Laurent Pinchart
2012-10-10 13:12                           ` Laurent Pinchart
2012-10-10 12:54                   ` Laurent Pinchart
2012-10-10 12:54                     ` Laurent Pinchart
2012-10-10 13:45                     ` Mauro Carvalho Chehab
2012-10-10 13:45                       ` Mauro Carvalho Chehab
2012-10-10 14:48                       ` Laurent Pinchart
2012-10-10 14:48                         ` Laurent Pinchart
2012-10-10 14:57                         ` Mauro Carvalho Chehab
2012-10-10 14:57                           ` Mauro Carvalho Chehab
2012-10-10 15:15                           ` Laurent Pinchart
2012-10-10 15:15                             ` Laurent Pinchart
2012-10-11 19:48                   ` Sakari Ailus
2012-10-11 19:48                     ` Sakari Ailus
2012-10-13  0:16                     ` Guennadi Liakhovetski
2012-10-13  0:16                       ` Guennadi Liakhovetski
2012-10-05 18:30               ` Sylwester Nawrocki
2012-10-05 18:30                 ` Sylwester Nawrocki
2012-10-05 18:45                 ` Mark Brown
2012-10-05 18:45                   ` Mark Brown
2012-10-08  9:40                 ` Guennadi Liakhovetski
2012-10-08  9:40                   ` Guennadi Liakhovetski
2012-10-09 10:34                   ` Sylwester Nawrocki
2012-10-09 10:34                     ` Sylwester Nawrocki
2012-10-09 11:00                     ` Hans Verkuil
2012-10-09 11:00                       ` Hans Verkuil
2012-10-10 13:25                       ` Laurent Pinchart
2012-10-10 13:25                         ` Laurent Pinchart
2012-10-10 20:23                         ` Sylwester Nawrocki
2012-10-10 20:23                           ` Sylwester Nawrocki
2012-10-10 20:32                           ` Guennadi Liakhovetski
2012-10-10 20:32                             ` Guennadi Liakhovetski
2012-10-10 21:12                             ` Sylwester Nawrocki
2012-10-10 21:12                               ` Sylwester Nawrocki
2012-10-10 23:05                             ` Laurent Pinchart
2012-10-10 23:05                               ` Laurent Pinchart
     [not found]                           ` <5075D947.3080903-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-10 22:58                             ` Laurent Pinchart
2012-10-10 22:58                               ` Laurent Pinchart
2012-10-10 22:58                               ` Laurent Pinchart
2012-10-08 21:30               ` Laurent Pinchart
2012-10-08 21:30                 ` Laurent Pinchart
2012-10-08 10:03   ` Sylwester Nawrocki
2012-10-08 10:03     ` Sylwester Nawrocki
2012-09-27 14:07 ` [PATCH 06/14] media: soc-camera: prepare for asynchronous client probing Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-09-27 14:07 ` [PATCH 07/14] media: soc-camera: support deferred probing of clients Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2013-04-10 10:38   ` Barry Song
2013-04-10 10:38     ` Barry Song
     [not found]     ` <CAGsJ_4yUY6PE0NWZ9yaOLFmRb3O-HL55=w7Y6muwL0YbkJtP0Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-10 12:06       ` Guennadi Liakhovetski
2013-04-10 12:06         ` Guennadi Liakhovetski
2013-04-10 12:06         ` Guennadi Liakhovetski
2013-04-10 13:53         ` Barry Song
2013-04-10 13:53           ` Barry Song
2013-04-10 13:56           ` Mark Brown
2013-04-10 13:56             ` Mark Brown
2013-04-10 14:00             ` Barry Song
2013-04-10 14:00               ` Barry Song
2013-04-10 14:03           ` Guennadi Liakhovetski
2013-04-10 14:03             ` Guennadi Liakhovetski
2013-04-10 14:30             ` Barry Song
2013-04-10 14:30               ` Barry Song
2013-04-10 14:43               ` Guennadi Liakhovetski
2013-04-10 14:43                 ` Guennadi Liakhovetski
2013-04-10 15:02                 ` Barry Song
2013-04-10 15:02                   ` Barry Song
2012-09-27 14:07 ` [PATCH 08/14] media: soc-camera: use managed devm_regulator_bulk_get() Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-09-27 17:38   ` Sachin Kamat
2012-09-27 17:50     ` Sachin Kamat
2012-09-27 14:07 ` [PATCH 09/14] media: mt9t112: support deferred probing Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
     [not found] ` <1348754853-28619-1-git-send-email-g.liakhovetski-Mmb7MZpHnFY@public.gmane.org>
2012-09-27 14:07   ` [PATCH 03/14] OF: make a function pointer argument const Guennadi Liakhovetski
2012-09-27 14:07     ` Guennadi Liakhovetski
2012-09-27 14:07   ` [PATCH 10/14] media: soc-camera: support OF cameras Guennadi Liakhovetski
2012-09-27 14:07     ` Guennadi Liakhovetski
2012-10-05 19:11     ` Sylwester Nawrocki
2012-10-05 19:11       ` Sylwester Nawrocki
2012-10-08  8:37       ` Guennadi Liakhovetski
2012-10-08  8:37         ` Guennadi Liakhovetski
2012-10-08  9:28         ` Sylwester Nawrocki
2012-10-08  9:28           ` Sylwester Nawrocki
2013-04-08  9:19     ` Barry Song
2013-04-08  9:19       ` Barry Song
     [not found]       ` <CAGsJ_4zYvF-U0_ETs9EP8i+bOJiJLkXWrJdMNnW_sXU-QwnXQw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-08 11:21         ` Guennadi Liakhovetski
2013-04-08 11:21           ` Guennadi Liakhovetski
2013-04-08 11:21           ` Guennadi Liakhovetski
2013-04-08 11:49           ` Barry Song
2013-04-08 11:49             ` Barry Song
2012-09-27 14:07   ` [PATCH 11/14] media: sh-mobile-ceu-camera: runtime PM suspending doesn't have to be synchronous Guennadi Liakhovetski
2012-09-27 14:07     ` Guennadi Liakhovetski
2012-09-27 14:07 ` [PATCH 12/14] media: sh-mobile-ceu-camera: add primitive OF support Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-09-27 14:07 ` [PATCH 13/14] media: sh-mobile-ceu-driver: support max width and height in DT Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-09-27 14:07 ` [PATCH 14/14] media: sh_mobile_ceu_camera: support all standard V4L2 DT properties Guennadi Liakhovetski
2012-09-27 14:07   ` Guennadi Liakhovetski
2012-10-05 12:32 ` [PATCH 00/14] V4L2 DT support Sylwester Nawrocki
2012-10-05 12:32   ` Sylwester Nawrocki
2012-10-05 14:41   ` Guennadi Liakhovetski
2012-10-05 14:41     ` Guennadi Liakhovetski

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=2098605.jat554dMFe@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=arnd@arndb.de \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=g.liakhovetski@gmx.de \
    --cc=grant.likely@secretlab.ca \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=s.nawrocki@samsung.com \
    --cc=swarren@wwwdotorg.org \
    --cc=sylvester.nawrocki@gmail.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 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.