Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1182762 > unrolled thread
| Started by | Tomeu Vizoso <tomeu.vizoso@collabora.com> |
|---|---|
| First post | 2015-07-13 14:20 +0200 |
| Last post | 2015-07-17 01:10 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [alsa-devel] [PATCH v2 11/12] ASoC: tegra: register dependency parser for firmware nodes Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-07-13 14:20 +0200
Re: [alsa-devel] [PATCH v2 11/12] ASoC: tegra: register dependency parser for firmware nodes Mark Brown <broonie@kernel.org> - 2015-07-17 01:10 +0200
| From | Tomeu Vizoso <tomeu.vizoso@collabora.com> |
|---|---|
| Date | 2015-07-13 14:20 +0200 |
| Subject | Re: [alsa-devel] [PATCH v2 11/12] ASoC: tegra: register dependency parser for firmware nodes |
| Message-ID | <pLKSe-4Ui-39@gated-at.bofh.it> |
On 1 July 2015 at 19:38, Mark Brown <broonie@kernel.org> wrote:
> On Wed, Jul 01, 2015 at 11:41:06AM +0200, Tomeu Vizoso wrote:
>
>> +static void tegra_max98090_get_dependencies(struct fwnode_handle *fwnode,
>> + struct list_head *deps)
>> +{
>> + add_dependency(fwnode, "nvidia,i2s-controller", deps);
>> + add_dependency(fwnode, "nvidia,audio-codec", deps);
>> +}
>
> Why is this all being open coded in an individual driver (we already
> know about and manage all these dependencies in the core...)? If we're
> going to do this I'd expect the interface for specifying DT nodes to the
> core to be changed to support this.
Are you thinking of changing drivers to acquire their resources
through Arnd's devm_probe (only that the resource table would have to
be in struct device_driver)?
https://lkml.kernel.org/g/4742258.TBitC3hVuO@wuerfel
Sounds like lots of fun, but that means that any given machine will
get ordered probe only after all the drivers it uses have been moved
to the new declarative API.
TBH, that seems really far away.
Regards,
Tomeu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Mark Brown <broonie@kernel.org> |
|---|---|
| Date | 2015-07-17 01:10 +0200 |
| Message-ID | <pN0rT-4gn-13@gated-at.bofh.it> |
| In reply to | #1182762 |
[Multipart message — attachments visible in raw view] — view raw
On Tue, Jul 14, 2015 at 02:47:04PM +0200, Tomeu Vizoso wrote: > On 14 July 2015 at 13:07, Mark Brown <broonie@kernel.org> wrote: > > I'm not sure how I can be clearer here... you're replacing something > > that is currently pure data with open coding in each device. That seems > > like a step back in terms of ease of use. > I could understand that if snd_soc_dai_link had a field with the > property name, and the core called of_parse_phandle on it, but > currently what I'm duplicating is: > tegra_max98090_dai.cpu_of_node = of_parse_phandle(np, > "nvidia,i2s-controller", 0); > with: > add_dependency(fwnode, "nvidia,i2s-controller", deps); > Admittedly, we could add a cpu_fw_property field to snd_soc_dai_link > and have the core call of_parse_phandle itself. Yes, we could - that's really what should be happening here. The other bit of this is that we're doing it twice which isn't success. > But even then, the core doesn't know about a device's snd_soc_dai_link > until probe() is called and then it's too late for the purposes of > this series. That's not a good reason to encourage bad patterns in drivers. At the very least the drivers should be able to pass the same struct into both places, having to open code the same thing in two places is going to be error prone. > That's why I mentioned devm_probe, as it would add a common way to > specify the data needed to acquire resources in each driver, which > could be made available before probe() is called. That does avoid the duplication. However there are issues with the interface for enumerable buses, it doesn't solve the problem where embedded systems need you to power up the device manually prior to the device actually enumerating. If we're doing early resource acquisition we probably want to solve that too.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web