All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
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>,
	Stephen Warren <swarren@wwwdotorg.org>,
	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 15:15:49 +0000	[thread overview]
Message-ID: <2383216.ATDgiWr0QW@avalon> (raw)
In-Reply-To: <20121010115703.7a72fdd1@redhat.com>

Hi Mauro,

On Wednesday 10 October 2012 11:57:03 Mauro Carvalho Chehab wrote:
> Em Wed, 10 Oct 2012 16:48 +0200 Laurent Pinchart escreveu:
> > On Wednesday 10 October 2012 10:45:22 Mauro Carvalho Chehab wrote:
> > > Em Wed, 10 Oct 2012 14:54 +0200 Laurent Pinchart escreveu:
> > > > > Also, ideally OF-compatible (I2C) drivers should run with no
> > > > > platform data, but soc-camera is using I2C device platform data
> > > > > intensively. To avoid modifying the soc-camera core and all drivers,
> > > > > I also trigger on the BUS_NOTIFY_BIND_DRIVER event and assign a
> > > > > reference to the dynamically created platform data to the I2C
> > > > > device. Would we also want to do this for all V4L2 bridge drivers?
> > > > > We could call this a "prepare" callback or something similar...
> > > > 
> > > > If that's going to be an interim solution only I'm fine with keeping
> > > > it in soc-camera.
> > > 
> > > I'm far from being an OF expert, but why do we need to export I2C
> > > devices to DT/OF? On my understanding, it is the bridge code that
> > > should be responsible for detecting, binding and initializing the proper
> > > I2C devices. On several cases, it is impossible or it would cause lots
> > > of ugly hacks if we ever try to move away from platform data stuff, as
> > > only the bridge driver knows what initialization is needed for an
> > > specific I2C driver.
> > 
> > In a nutshell, a DT-based platform doesn't have any board code (except in
> > rare cases, but let's not get into that), and thus doesn't pass any
> > platform data structure to drivers. However, drivers receive a DT node,
> > which contains a hierarchical description of the hardware, and parse
> > those to extract information necessary to configure the device.
> > 
> > One very important point to keep in mind here is that the DT is not Linux-
> > specific. DT bindings are designed to be portable, and thus must only
> > contain hardware descriptions, without any OS-specific information or
> > policy information. For instance information such as the maximum video
> > buffers size is not allowed in the DT.
> > 
> > The DT is used both to provide platform data to drivers and to instantiate
> > devices. I2C device DT nodes are stored as children of the I2C bus master
> > DT node, and are automatically instantiated by the I2C bus master. This
> > is a significant change compared to our current situation where the V4L2
> > bridge driver receives an array of I2C board information structures and
> > instatiates the devices itself. Most of the DT support work will go in
> > supporting that new instantiation mechanism. The bridge driver doesn't
> > control instantiation of the I2C devices anymore, but need to bind with
> > them at runtime.
> > 
> > > To make things more complex, it is expected that most I2C drivers to be
> > > arch independent, and they should be allowed to be used by a personal
> > > computer or by an embedded device.
> > 
> > Agreed. That's why platform data structures won't go away anytime soon, a
> > PCI bridge driver for hardware that contain I2C devices will still
> > instantiate the I2C devices itself. We don't plan to or even want to get
> > rid of that mechanism, as there are perfectly valid use cases. However,
> > for DT-based embedded platforms, we need to support a new instantiation
> > mechanism.
> >
> > > Let me give 2 such examples:
> > > 	- ir-i2c-kbd driver supports lots of IR devices. Platform_data is
> > > 	needed
> > > 
> > > to specify what hardware will actually be used, and what should be the
> > > default Remote Controller keymap;
> > 
> > That driver isn't used on embedded platforms so it doesn't need to be
> > changed now.
> > 
> > > 	- Sensor drivers like ov2940 is needed by soc_camera and by other
> > > 
> > > webcam drivers like em28xx. The setup for em28xx should be completely
> > > different than the one for soc_camera: the initial registers init
> > > sequence
> > > is different for both. As several registers there aren't properly
> > > documented, there's no easy way to parametrize the configuration.
> > 
> > Such drivers will need to support both DT-based platform data and
> > structure- based platform data. They will likely parse the DT node and
> > fill a platform data structure, to avoid duplicating initialization code.
> > 
> > Please note that the new subdevs instantiation mechanism needed for DT
> > will need to handle any instantiation order, as we can't guarantee the I2C
> > device and bridge device instantiation order with DT. It should thus then
> > support the current instantiation order we use for PCI and USB platforms.
> > 
> > > So, for me, we should not expose the I2C devices directly on OF; it
> > > should,
> > > instead, see just the bridge, and let the bridge to map the needed I2C
> > > devices using the needed platform_data.
> > 
> > We can't do that, there will be no platform data anymore with DT-based
> > platforms.
> > 
> > As a summary, platform data structures won't go away, I2C drivers that
> > need to work both on DT-based and non-DT-based platforms will need to
> > support both the DT and platform data structures to get platform data.
> > PCI and USB bridges will still instantiate their I2C devices, and binding
> > between the I2C devices and the bridge can either be handled with two
> > different instantiation mechanisms (the new one for DT platforms, with
> > runtime bindings, and the existing one for non-DT platforms, with binding
> > at instantiation time) or move to a single runtime binding mechanism.
> > It's too early to know which solution will be simpler.
> 
> It seems that you're designing a Frankstein monster with DT/OF and I2C.
> 
> Increasing each I2C driver code to support both platform_data and DT way
> of doing things seems a huge amount of code that will be added, and I really
> fail to understand why this is needed, in the first place.
> 
> Ok, I understand that OF specs are OS-independent, but I suspect that
> they don't dictate how things should be wired internally at the OS.
> 
> So, if DT/OF is so restrictive, and require its own way of doing things,
> instead of changing everything with the risks of adding (more) regressions
> to platform drivers, why don't just create a shell driver that will
> encapsulate DT/OF specific stuff into the platform_data?

DT support requires two independent parts, DT-based probing and device 
instantiation changes.

To support DT probing existing I2C drivers (and only the drivers that need to 
support DT-enabled platforms, we don't have to modify any I2C driver used on 
non-DT platforms only) will need to add a function that parses a DT node to 
fill a platform data structure, and a new OF match table pointer in their 
struct device.

For instance here's what the OMAP I2C bus master does in its probe function:

        match = of_match_device(of_match_ptr(omap_i2c_of_match), &pdev->dev);
        if (match) {
                u32 freq = 100000; /* default to 100000 Hz */

                pdata = match->data;
                dev->dtrev = pdata->rev;
                dev->flags = pdata->flags;

                of_property_read_u32(node, "clock-frequency", &freq);
                /* convert DT freq value in Hz into kHz for speed */
                dev->speed = freq / 1000;
        } else if (pdata != NULL) {
                dev->speed = pdata->clkrate;
                dev->flags = pdata->flags;
                dev->set_mpu_wkup_lat = pdata->set_mpu_wkup_lat;
                dev->dtrev = pdata->rev;
        }

Before DT support only the second branch of the if was there. The above code 
could be rewritten as

	if (DT enabled)
		fill_pdata_from_dt(pdata, DT node);

	Rest of normal pdata-based initialization code here

with the first branch of the if in the fill_pdata_from_dt() function.

It's really not a big deal in my opinion, and creating a new wrapper for that 
would just be overkill.

The device instantiation issue, discusses in this mail thread, is a more 
complex problem for which we need a solution, but isn't related to platform 
data.

-- 
Regards,

Laurent Pinchart


WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
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>,
	Stephen Warren <swarren@wwwdotorg.org>,
	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 17:15:49 +0200	[thread overview]
Message-ID: <2383216.ATDgiWr0QW@avalon> (raw)
In-Reply-To: <20121010115703.7a72fdd1@redhat.com>

Hi Mauro,

On Wednesday 10 October 2012 11:57:03 Mauro Carvalho Chehab wrote:
> Em Wed, 10 Oct 2012 16:48 +0200 Laurent Pinchart escreveu:
> > On Wednesday 10 October 2012 10:45:22 Mauro Carvalho Chehab wrote:
> > > Em Wed, 10 Oct 2012 14:54 +0200 Laurent Pinchart escreveu:
> > > > > Also, ideally OF-compatible (I2C) drivers should run with no
> > > > > platform data, but soc-camera is using I2C device platform data
> > > > > intensively. To avoid modifying the soc-camera core and all drivers,
> > > > > I also trigger on the BUS_NOTIFY_BIND_DRIVER event and assign a
> > > > > reference to the dynamically created platform data to the I2C
> > > > > device. Would we also want to do this for all V4L2 bridge drivers?
> > > > > We could call this a "prepare" callback or something similar...
> > > > 
> > > > If that's going to be an interim solution only I'm fine with keeping
> > > > it in soc-camera.
> > > 
> > > I'm far from being an OF expert, but why do we need to export I2C
> > > devices to DT/OF? On my understanding, it is the bridge code that
> > > should be responsible for detecting, binding and initializing the proper
> > > I2C devices. On several cases, it is impossible or it would cause lots
> > > of ugly hacks if we ever try to move away from platform data stuff, as
> > > only the bridge driver knows what initialization is needed for an
> > > specific I2C driver.
> > 
> > In a nutshell, a DT-based platform doesn't have any board code (except in
> > rare cases, but let's not get into that), and thus doesn't pass any
> > platform data structure to drivers. However, drivers receive a DT node,
> > which contains a hierarchical description of the hardware, and parse
> > those to extract information necessary to configure the device.
> > 
> > One very important point to keep in mind here is that the DT is not Linux-
> > specific. DT bindings are designed to be portable, and thus must only
> > contain hardware descriptions, without any OS-specific information or
> > policy information. For instance information such as the maximum video
> > buffers size is not allowed in the DT.
> > 
> > The DT is used both to provide platform data to drivers and to instantiate
> > devices. I2C device DT nodes are stored as children of the I2C bus master
> > DT node, and are automatically instantiated by the I2C bus master. This
> > is a significant change compared to our current situation where the V4L2
> > bridge driver receives an array of I2C board information structures and
> > instatiates the devices itself. Most of the DT support work will go in
> > supporting that new instantiation mechanism. The bridge driver doesn't
> > control instantiation of the I2C devices anymore, but need to bind with
> > them at runtime.
> > 
> > > To make things more complex, it is expected that most I2C drivers to be
> > > arch independent, and they should be allowed to be used by a personal
> > > computer or by an embedded device.
> > 
> > Agreed. That's why platform data structures won't go away anytime soon, a
> > PCI bridge driver for hardware that contain I2C devices will still
> > instantiate the I2C devices itself. We don't plan to or even want to get
> > rid of that mechanism, as there are perfectly valid use cases. However,
> > for DT-based embedded platforms, we need to support a new instantiation
> > mechanism.
> >
> > > Let me give 2 such examples:
> > > 	- ir-i2c-kbd driver supports lots of IR devices. Platform_data is
> > > 	needed
> > > 
> > > to specify what hardware will actually be used, and what should be the
> > > default Remote Controller keymap;
> > 
> > That driver isn't used on embedded platforms so it doesn't need to be
> > changed now.
> > 
> > > 	- Sensor drivers like ov2940 is needed by soc_camera and by other
> > > 
> > > webcam drivers like em28xx. The setup for em28xx should be completely
> > > different than the one for soc_camera: the initial registers init
> > > sequence
> > > is different for both. As several registers there aren't properly
> > > documented, there's no easy way to parametrize the configuration.
> > 
> > Such drivers will need to support both DT-based platform data and
> > structure- based platform data. They will likely parse the DT node and
> > fill a platform data structure, to avoid duplicating initialization code.
> > 
> > Please note that the new subdevs instantiation mechanism needed for DT
> > will need to handle any instantiation order, as we can't guarantee the I2C
> > device and bridge device instantiation order with DT. It should thus then
> > support the current instantiation order we use for PCI and USB platforms.
> > 
> > > So, for me, we should not expose the I2C devices directly on OF; it
> > > should,
> > > instead, see just the bridge, and let the bridge to map the needed I2C
> > > devices using the needed platform_data.
> > 
> > We can't do that, there will be no platform data anymore with DT-based
> > platforms.
> > 
> > As a summary, platform data structures won't go away, I2C drivers that
> > need to work both on DT-based and non-DT-based platforms will need to
> > support both the DT and platform data structures to get platform data.
> > PCI and USB bridges will still instantiate their I2C devices, and binding
> > between the I2C devices and the bridge can either be handled with two
> > different instantiation mechanisms (the new one for DT platforms, with
> > runtime bindings, and the existing one for non-DT platforms, with binding
> > at instantiation time) or move to a single runtime binding mechanism.
> > It's too early to know which solution will be simpler.
> 
> It seems that you're designing a Frankstein monster with DT/OF and I2C.
> 
> Increasing each I2C driver code to support both platform_data and DT way
> of doing things seems a huge amount of code that will be added, and I really
> fail to understand why this is needed, in the first place.
> 
> Ok, I understand that OF specs are OS-independent, but I suspect that
> they don't dictate how things should be wired internally at the OS.
> 
> So, if DT/OF is so restrictive, and require its own way of doing things,
> instead of changing everything with the risks of adding (more) regressions
> to platform drivers, why don't just create a shell driver that will
> encapsulate DT/OF specific stuff into the platform_data?

DT support requires two independent parts, DT-based probing and device 
instantiation changes.

To support DT probing existing I2C drivers (and only the drivers that need to 
support DT-enabled platforms, we don't have to modify any I2C driver used on 
non-DT platforms only) will need to add a function that parses a DT node to 
fill a platform data structure, and a new OF match table pointer in their 
struct device.

For instance here's what the OMAP I2C bus master does in its probe function:

        match = of_match_device(of_match_ptr(omap_i2c_of_match), &pdev->dev);
        if (match) {
                u32 freq = 100000; /* default to 100000 Hz */

                pdata = match->data;
                dev->dtrev = pdata->rev;
                dev->flags = pdata->flags;

                of_property_read_u32(node, "clock-frequency", &freq);
                /* convert DT freq value in Hz into kHz for speed */
                dev->speed = freq / 1000;
        } else if (pdata != NULL) {
                dev->speed = pdata->clkrate;
                dev->flags = pdata->flags;
                dev->set_mpu_wkup_lat = pdata->set_mpu_wkup_lat;
                dev->dtrev = pdata->rev;
        }

Before DT support only the second branch of the if was there. The above code 
could be rewritten as

	if (DT enabled)
		fill_pdata_from_dt(pdata, DT node);

	Rest of normal pdata-based initialization code here

with the first branch of the if in the fill_pdata_from_dt() function.

It's really not a big deal in my opinion, and creating a new wrapper for that 
would just be overkill.

The device instantiation issue, discusses in this mail thread, is a more 
complex problem for which we need a solution, but isn't related to platform 
data.

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2012-10-10 15:15 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
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 [this message]
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=2383216.ATDgiWr0QW@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=mchehab@redhat.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.