d4a2eca781
When devices are instantiated from device-tree, pdev->id is set to -1. Rework the driver so it doesn't depend on the ID. Tegra I2S instantiated from board files are configured with pdev name "tegra-i2s" and ID 0 or 1. The driver core then names the device "tegra-i2s.0" or "tegra-i2s.1". This is not changing. When a device is instantiated from device-tree, it will have pdev->name="" and pdev->id=-1. For this reason, the pdev->id value is not something we can rely on. This patch doesn't actually change any names though: When a device is instantiated from device-tree, the overall device name will be "${unit_address}.${node_name}". This causes issues such as clk_get() failures due to lack of a device-name match. To solve that, AUXDATA was invented, to force a specific device name, thus allowing dev_name() to return the same as the non-device-tree case. Tegra currently uses AUXDATA for the I2S controllers. Eventually, AUXDATA will go away, most likely replaced by phandle-based references within the device tree. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> |
||
---|---|---|
.. | ||
atmel | ||
au1x | ||
blackfin | ||
codecs | ||
davinci | ||
ep93xx | ||
fsl | ||
imx | ||
jz4740 | ||
kirkwood | ||
mid-x86 | ||
mxs | ||
nuc900 | ||
omap | ||
pxa | ||
s6000 | ||
samsung | ||
sh | ||
tegra | ||
txx9 | ||
Kconfig | ||
Makefile | ||
soc-cache.c | ||
soc-core.c | ||
soc-dapm.c | ||
soc-io.c | ||
soc-jack.c | ||
soc-pcm.c | ||
soc-utils.c |