From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Rob Clark <robdclark@gmail.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"ksummit-2013-discuss@lists.linuxfoundation.org"
<ksummit-2013-discuss@lists.linuxfoundation.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Stephen Warren <swarren@wwwdotorg.org>
Subject: Re: ARM topic: Is DT on ARM the solution, or is there something better?
Date: Mon, 18 Nov 2013 12:45:19 +0000 [thread overview]
Message-ID: <20131118124518.GA16735@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <CAF6AEGuEho9Ms7ifTE-EmBoQ-=_AXgvGcJxi5qEC0vsZ+H9C+A@mail.gmail.com>
On Thu, Oct 24, 2013 at 05:21:54PM -0400, Rob Clark wrote:
> ahh, ok. Yeah, we do need some way to make this easier, as it is a
> too-common pattern. I do think we do need a way to know if something
> is missing because it isn't there vs it hasn't been probed yet. Ie.
> late_initcall() is not the awesome solution.
On this topic, I now have a solution to this which is not DRM specific,
nor is it DT specific.
It's a core piece of code which gathers up the struct device pointers,
and a callback for the master device to assemble the components and
indicate when the master is complete.
Here's an example:
imx-drm {
compatible = "fsl,drm";
/* Both CRTCs (can't specify which here) */
crtcs = <&ipu1>, <&ipu1>;
connectors = <&hdmi>;
};
&hdmi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_carrier1_hdmi>;
ddc = <&i2c2>;
status = "okay";
crtcs = <&ipu1 0>;
};
The HDMI driver's probe and remove functions look like this:
static int imx_hdmi_platform_probe(struct platform_device *pdev)
{
return component_add(&pdev->dev, &hdmi_ops);
}
static int imx_hdmi_platform_remove(struct platform_device *pdev)
{
component_del(&pdev->dev, &hdmi_ops);
return 0;
}
These register the device into the component layer, with a set of
operations for binding and unbinding the device.
The master device (imx-drm) does this:
static const struct component_master_ops imx_drm_ops = {
.add_components = imx_drm_add_components,
.bind = imx_drm_bind,
.unbind = imx_drm_unbind,
};
static int imx_drm_platform_probe(struct platform_device *pdev)
{
return component_master_add(&pdev->dev, &imx_drm_ops);
}
static int imx_drm_platform_remove(struct platform_device *pdev)
{
component_master_del(&pdev->dev, &imx_drm_ops);
return 0;
}
so registering the master device. imx_drm_add_components() gets called
whenever something gets added, and this function is responsible for
assembling the registered components and indicating when the master is
complete:
static int imx_drm_add_components(struct device *master, struct master *m)
{
struct device_node *np = master->of_node;
unsigned i;
int ret;
for (i = 0; ; i++) {
struct device_node *node;
node = of_parse_phandle(np, "crtcs", i);
if (!node)
break;
ret = component_master_add_child(m, compare_parent_of, node);
of_node_put(node);
if (ret)
return ret;
}
for (i = 0; ; i++) {
struct device_node *node;
node = of_parse_phandle(np, "connectors", i);
if (!node)
break;
ret = component_master_add_child(m, compare_of, node);
of_node_put(node);
if (ret)
return ret;
}
return 0;
}
When it is complete (iow, this function returns zero), the master is
bound:
static int imx_drm_bind(struct device *dev)
{
return drm_platform_init(&imx_drm_driver, to_platform_device(dev));
}
This causes DRM to start the construction of a drm_device, and call the
load callback. In the load callback:
/* Now try and bind all our sub-components */
ret = component_bind_all(drm->dev, drm);
if (ret)
goto err;
which binds the previously assembled components, with the drm_device
structure as their data - that's drm above:
static int imx_hdmi_bind(struct device *dev, struct device *master, void *data)
{
struct platform_device *pdev = to_platform_device(dev);
const struct of_device_id *of_id =
of_match_device(imx_hdmi_dt_ids, dev);
struct drm_device *drm = data;
...
}
This allows the HDMI driver to register with DRM using the passed
struct drm_device pointer. Other connectors do the same at this moment,
CRTCs also use this same mechanism, but with a higher priority, so CRTCs
get registered before connectors.
Teardown is similar to the above, but it happens in reverse order: when
any bound component or the master goes away, the master DRM device is
unbound, which triggers DRM to call the unload callback.
The unload callback unbinds the components, which triggers an unbind
call to each component in reverse order.
As I say, nothing in the above is specific to DRM; this can be re-used
by any subsystem. It can also be re-used by non-DT setups as well via
appropriate .add_components callback and appropriate component matching
functions.
This addresses the componentised device problem in a completely generic
way.
next prev parent reply other threads:[~2013-11-18 12:45 UTC|newest]
Thread overview: 171+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-20 21:26 ARM topic: Is DT on ARM the solution, or is there something better? Stephen Warren
[not found] ` <52644A9E.3060007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-20 22:08 ` [Ksummit-2013-discuss] " Mark Brown
[not found] ` <20131020220839.GT2443-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-20 22:21 ` Stephen Warren
[not found] ` <5264576F.6050307-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-21 1:00 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1310201911190.1951-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-10-21 9:15 ` Thierry Reding
2013-10-21 14:57 ` Maxime Bizon
[not found] ` <20131021091555.GB21518-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-21 17:07 ` Richard Cochran
2013-10-21 20:24 ` Stephen Warren
2013-10-22 9:24 ` Thierry Reding
[not found] ` <20131022092410.GB15640-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-23 17:30 ` Richard Cochran
2013-10-23 19:06 ` Thierry Reding
2013-10-22 17:22 ` Jason Gunthorpe
2013-10-21 20:29 ` Stephen Warren
[not found] ` <52658EBC.8020800-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-21 20:40 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1310211632460.1951-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-10-22 9:39 ` Thierry Reding
[not found] ` <20131022093923.GC15640-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-22 15:04 ` Matt Porter
2013-10-22 17:13 ` Jason Gunthorpe
[not found] ` <20131022171346.GE4061-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-10-22 17:49 ` Guenter Roeck
2013-10-23 8:06 ` Richard Cochran
2013-10-23 9:49 ` Thierry Reding
[not found] ` <20131023094903.GD11954-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-23 17:16 ` Richard Cochran
2013-10-23 17:25 ` Matt Porter
2013-10-23 18:05 ` Richard Cochran
2013-10-23 18:57 ` Nicolas Pitre
2013-10-23 20:12 ` Matt Porter
2013-10-23 17:55 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1310231355160.1951-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-10-23 18:13 ` Richard Cochran
2013-10-23 20:35 ` Thierry Reding
2013-10-23 17:29 ` Jason Gunthorpe
[not found] ` <20131023172955.GA17145-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-10-23 17:45 ` Richard Cochran
2013-10-23 18:46 ` Maxime Bizon
[not found] ` <1382553982.31058.10.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-23 18:51 ` Richard Cochran
2013-10-23 19:12 ` Maxime Bizon
2013-10-24 9:52 ` Grant Likely
[not found] ` <20131024095232.27BBCC4039D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-10-24 11:33 ` Maxime Bizon
[not found] ` <1382614439.6040.16.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-24 11:47 ` David Woodhouse
[not found] ` <1382615278.8522.72.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-10-24 12:13 ` Maxime Bizon
2013-10-24 12:22 ` David Woodhouse
2013-10-24 12:22 ` David Woodhouse
[not found] ` <3726fd81259f84ef308ba9011ae35174.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 13:05 ` Maxime Bizon
[not found] ` <1382619952.6040.57.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-24 13:14 ` David Woodhouse
[not found] ` <addbb1933c62983e0114eeda7ce51342.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 13:46 ` Maxime Bizon
[not found] ` <1382622360.6040.79.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-24 19:52 ` Matt Porter
2013-10-24 20:11 ` Matt Sealey
[not found] ` <1382616801.6040.26.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-25 9:00 ` Stephen Warren
2013-10-24 12:23 ` Thierry Reding
[not found] ` <20131024122346.GD11296-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 12:29 ` David Woodhouse
2013-10-24 13:00 ` Maxime Bizon
[not found] ` <1382619655.6040.52.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-24 13:10 ` David Woodhouse
[not found] ` <516bfc7f9366ff3ef9187c36dd160888.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 13:30 ` Maxime Bizon
[not found] ` <1382621431.6040.66.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-24 14:05 ` David Woodhouse
[not found] ` <af289ef3cc80be8de26274ba1f598d54.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 14:19 ` Thierry Reding
[not found] ` <20131024141955.GB25061-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 14:30 ` David Woodhouse
[not found] ` <465e75de15f7d79c3b57a3b88024e739.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 14:38 ` Thierry Reding
2013-10-24 16:39 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1310241143240.1951-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-10-24 16:45 ` David Woodhouse
[not found] ` <93d9a5ce228d03c4a183b06b00bd0442.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 17:08 ` Nicolas Pitre
2013-10-24 18:15 ` jonsmirl-Re5JQEeQqe8AvxtiuMwx3w
2013-10-24 14:32 ` Richard Cochran
2013-10-24 14:47 ` Thierry Reding
2013-10-24 15:37 ` Nicolas Pitre
2013-10-24 14:33 ` Maxime Bizon
[not found] ` <1382625219.6040.96.camel-MdnFuL0m/hCw+z8RR+d9WEZ2mhrpEnA6@public.gmane.org>
2013-10-24 14:57 ` Thierry Reding
2013-10-24 16:27 ` Nicolas Pitre
2013-10-24 14:12 ` Thierry Reding
2013-10-24 14:22 ` David Woodhouse
[not found] ` <99db70b50b3ddcf20d940d5855c657e0.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 14:23 ` Thierry Reding
[not found] ` <20131024142347.GD25061-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 14:38 ` David Woodhouse
[not found] ` <818aaae744e58e37c6641d41912d0ba2.squirrel-fWAbwA/6YHlc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-10-24 14:58 ` Thierry Reding
2013-10-24 19:58 ` Matt Porter
[not found] ` <20131024141241.GA25061-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 23:54 ` Grant Likely
2013-10-25 8:52 ` Stephen Warren
[not found] ` <526A3165.4020601-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-25 9:16 ` Thierry Reding
2013-10-23 17:47 ` Richard Cochran
2013-10-23 17:58 ` Nicolas Pitre
2013-10-23 18:02 ` Jason Gunthorpe
[not found] ` <20131023180240.GA32563-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-10-23 18:23 ` Richard Cochran
2013-10-24 8:34 ` Thierry Reding
[not found] ` <20131024083411.GH9403-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 15:00 ` Richard Cochran
2013-10-24 19:46 ` Matt Porter
2013-10-23 18:01 ` Guenter Roeck
[not found] ` <20131023180108.GA23728-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-10-23 18:25 ` Jason Gunthorpe
[not found] ` <20131023182502.GC32563-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-10-23 18:30 ` Richard Cochran
2013-10-23 18:54 ` Jason Gunthorpe
[not found] ` <20131023185435.GD32563-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-10-24 8:06 ` Sascha Hauer
[not found] ` <20131024080624.GV30088-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-10-24 8:17 ` Thierry Reding
[not found] ` <20131024081733.GG9403-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 8:52 ` Sascha Hauer
2013-10-23 23:29 ` Ben Hutchings
[not found] ` <1382570963.6315.48.camel-nDn/Rdv9kqW9Jme8/bJn5UCKIB8iOfG2tUK59QYPAWc@public.gmane.org>
2013-10-24 7:32 ` Richard Cochran
2013-10-24 9:35 ` Ben Hutchings
2013-10-24 12:02 ` Andre Heider
2013-10-24 8:01 ` Sascha Hauer
[not found] ` <20131024080126.GU30088-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-10-24 8:11 ` Thierry Reding
2013-10-22 17:42 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1310221333300.1951-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-10-22 18:21 ` Peter Maydell
[not found] ` <CAFEAcA8QQyDyvssamsb8s8ydfHGT8V0FQE-wGYt_kRbRMv9GSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-22 18:36 ` Nicolas Pitre
2013-10-22 19:16 ` Guenter Roeck
2013-10-22 20:12 ` Thierry Reding
2013-10-22 20:41 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.03.1310221624390.1951-hIgblCxmbi8OMTOF05IoTw@public.gmane.org>
2013-10-22 21:39 ` Jason Gunthorpe
2013-10-23 8:50 ` Thierry Reding
2013-10-23 9:02 ` Thierry Reding
2013-10-22 20:42 ` Matt Porter
2013-10-23 10:04 ` Thierry Reding
[not found] ` <20131023100456.GE11954-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-23 11:48 ` Peter Maydell
2013-10-23 16:29 ` Matt Porter
2013-10-22 6:47 ` David Brown
2013-10-21 8:54 ` Thierry Reding
[not found] ` <20131021085420.GA21518-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-21 20:19 ` Stephen Warren
[not found] ` <52658C49.80400-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-21 22:51 ` [Ksummit-2013-discuss] " Guenter Roeck
[not found] ` <5265AFED.1040503-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-10-22 10:27 ` James Hogan
[not found] ` <52665314.2040904-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2013-10-22 16:31 ` Jonathan Cameron
[not found] ` <232aa6e4-19fe-4460-8101-8bf1d639ff3c-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2013-10-22 16:49 ` Guenter Roeck
[not found] ` <20131022164922.GA29852-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-10-22 20:35 ` Thierry Reding
2013-10-22 21:10 ` Guenter Roeck
[not found] ` <20131022211000.GA30394-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-10-23 7:57 ` Thierry Reding
[not found] ` <20131023075758.GA7404-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-23 16:01 ` Guenter Roeck
[not found] ` <20131023160131.GA20675-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-10-23 21:07 ` Thierry Reding
2013-10-24 15:18 ` Guenter Roeck
[not found] ` <20131024151853.GB25355-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-11-01 10:36 ` Thierry Reding
[not found] ` <20131101103614.GM27864-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-01 13:30 ` Guenter Roeck
2013-10-22 20:48 ` Thierry Reding
2013-10-22 10:25 ` Thierry Reding
2013-10-22 21:44 ` Matt Sealey
[not found] ` <CAHCPf3uKp-aEavjrEbHGBc_Ga-JgJoEDF+io4kOuvtL6H05eRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-23 11:41 ` Peter Maydell
[not found] ` <CAFEAcA8rPn7x8W4T3qE5OUeSVQd-GB9+EQPnxMsmyNQ0HKoMPw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-23 23:02 ` [Ksummit-2013-discuss] " Rob Herring
2013-11-18 12:26 ` Thierry Reding
2013-10-20 23:11 ` Russell King - ARM Linux
[not found] ` <20131020231134.GR25034-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-10-20 23:44 ` [Ksummit-2013-discuss] " Guenter Roeck
[not found] ` <52646AF9.3050309-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-10-20 23:51 ` Russell King - ARM Linux
[not found] ` <20131020235104.GT25034-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-10-21 0:13 ` Guenter Roeck
2013-10-21 20:05 ` Stephen Warren
[not found] ` <52658918.1060708-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-22 9:45 ` Thierry Reding
2013-10-21 8:32 ` Sascha Hauer
[not found] ` <20131021083242.GB30088-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-10-21 8:48 ` Russell King - ARM Linux
[not found] ` <20131021084854.GV25034-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-10-21 9:27 ` Sascha Hauer
[not found] ` < CAF6AEGtt_2sStiZCNBp9btxevWghSwLZZBdN6ir8eUpX1FXrCQ@mail.gmail.com>
[not found] ` < 20131024072811.GS30088@pengutronix.de>
[not found] ` < CAF6AEGuEho9Ms7ifTE-EmBoQ-=_AXgvGcJxi5qEC0vsZ+H9C+A@mail.gmail.com>
[not found] ` <20131021092730.GF30088-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-10-21 9:57 ` Russell King - ARM Linux
[not found] ` <20131021095757.GY25034-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-10-21 10:24 ` Thierry Reding
[not found] ` <20131021102448.GD21518-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-21 10:30 ` Russell King - ARM Linux
[not found] ` <20131021103014.GZ25034-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-10-21 10:41 ` Thierry Reding
2013-10-22 9:19 ` [Ksummit-2013-discuss] " Mark Brown
2013-10-21 20:09 ` Stephen Warren
2013-10-21 23:18 ` Sascha Hauer
2013-10-24 1:14 ` Rob Clark
[not found] ` <CAF6AEGtt_2sStiZCNBp9btxevWghSwLZZBdN6ir8eUpX1FXrCQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-24 7:28 ` Sascha Hauer
[not found] ` <20131024072811.GS30088-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-10-24 9:00 ` Thierry Reding
[not found] ` <20131024090054.GA11296-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 9:21 ` Sascha Hauer
2013-10-24 21:21 ` Rob Clark
[not found] ` <CAF6AEGuEho9Ms7ifTE-EmBoQ-=_AXgvGcJxi5qEC0vsZ+H9C+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-25 9:24 ` Thierry Reding
2013-11-18 12:45 ` Russell King - ARM Linux [this message]
[not found] ` <20131118124518.GA16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-18 15:37 ` Thierry Reding
[not found] ` <20131118153750.GM26046-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-18 16:11 ` Russell King - ARM Linux
[not found] ` <20131118161151.GG16735-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-11-18 16:18 ` Thierry Reding
2013-11-18 18:43 ` Mark Brown
2013-11-19 13:54 ` Grant Likely
2013-10-21 10:04 ` Thierry Reding
2013-10-21 10:57 ` [Ksummit-2013-discuss] " Laurent Pinchart
2013-10-21 10:00 ` Laurent Pinchart
2013-10-21 11:18 ` Sebastian Hesselbarth
[not found] ` <20131118122644.GA26046@ulmo. nvidia.com>
[not found] ` <20131118122644.GA26046-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-18 13:40 ` Grant Likely
[not found] ` <20131118134022.26EE7C409EC-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-11-18 13:57 ` Mark Brown
[not found] ` <20131118135727.GD14306-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-18 15:29 ` Thierry Reding
[not found] ` <20131118152920.GL26046-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-18 15:50 ` Mark Brown
[not found] ` <20131118155022.GB28334-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-18 16:06 ` Thierry Reding
[not found] ` <20131118160626.GN26046-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-18 17:16 ` Stephen Warren
[not found] ` <528A4B5D.8050809-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-19 9:35 ` Thierry Reding
[not found] ` <20131119093504.GF31504-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-19 17:27 ` Stephen Warren
[not found] ` <528B9F8C.5080202-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-20 13:29 ` Thierry Reding
2013-11-18 18:35 ` Mark Brown
[not found] ` <20131118183502.GP2674-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-11-19 9:11 ` Thierry Reding
[not found] ` <20131119091140.GE31504-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-19 10:16 ` Mark Brown
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=20131118124518.GA16735@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=devicetree@vger.kernel.org \
--cc=ksummit-2013-discuss@lists.linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=robdclark@gmail.com \
--cc=swarren@wwwdotorg.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 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).