diff options
author | Olof Johansson <olof@lixom.net> | 2013-02-05 15:13:10 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-02-05 15:13:10 -0500 |
commit | bda6f8e6cdcdb55db9b2961b6a7c9d0d97da4765 (patch) | |
tree | cec7c71c5120538352157fa1d2826efe881a7b0c /sound | |
parent | c35a0bfacb61f5c56e0e64f309d36c59c7fe8da3 (diff) | |
parent | ef3ffe5a0458606c488def757bb7f6dd013c2db5 (diff) |
Merge tag 'tegra-for-3.9-soc-ccf' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc
From Stephen Warren:
ARM: tegra: Common Clock Framework rework
Tegra already supports the common clock framework, but had issues:
1) The clock driver was located in arch/arm/mach-tegra/ rather than
drivers/clk/.
2) A single "Tegra clock" type was implemented, rather than separate
clock types for PLL, mux, divider, ... type in HW.
3) Clock lookups by device drivers were still driven by device name
and connection ID, rather than through device tree.
This pull request solves all three issues. This required some DT changes
to add clocks properties, and driver changes to request clocks more
"correctly". Finally, this rework allows all AUXDATA to be removed from
Tegra board files, and various duplicate clock lookup entries to be
removed from the driver.
This pull request is based on the previous pull request, with tag
tegra-for-3.9-cleanup.
* tag 'tegra-for-3.9-soc-ccf' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (31 commits)
clk: tegra30: remove unused TEGRA_CLK_DUPLICATE()s
clk: tegra20: remove unused TEGRA_CLK_DUPLICATE()s
ARM: tegra30: remove auxdata
ARM: tegra20: remove auxdata
ASoC: tegra: remove auxdata
staging: nvec: remove use of clk_get_sys
ARM: tegra: paz00: add clock information to DT
ARM: tegra: add clock properties to Tegra30 DT
ARM: tegra: add clock properties to Tegra20 DT
spi: tegra: do not use clock name to get clock
ARM: tegra: remove legacy clock code
ARM: tegra: migrate to new clock code
clk: tegra: add clock support for Tegra30
clk: tegra: add clock support for Tegra20
clk: tegra: add Tegra specific clocks
ARM: tegra: define Tegra30 CAR binding
ARM: tegra: define Tegra20 CAR binding
ARM: tegra: move tegra_cpu_car.h to linux/clk/tegra.h
ARM: tegra: add function to read chipid
ARM: tegra: fix compile error when disable CPU_IDLE
...
Signed-off-by: Olof Johansson <olof@lixom.net>
Conflicts:
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/platsmp.c
drivers/clocksource/Makefile
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/tegra/tegra30_ahub.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/sound/soc/tegra/tegra30_ahub.c b/sound/soc/tegra/tegra30_ahub.c index f354dc390a0b..2355630367f7 100644 --- a/sound/soc/tegra/tegra30_ahub.c +++ b/sound/soc/tegra/tegra30_ahub.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/pm_runtime.h> | 25 | #include <linux/pm_runtime.h> |
26 | #include <linux/regmap.h> | 26 | #include <linux/regmap.h> |
27 | #include <linux/slab.h> | 27 | #include <linux/slab.h> |
28 | #include <mach/clk.h> | 28 | #include <linux/clk/tegra.h> |
29 | #include <sound/soc.h> | 29 | #include <sound/soc.h> |
30 | #include "tegra30_ahub.h" | 30 | #include "tegra30_ahub.h" |
31 | 31 | ||
@@ -299,15 +299,6 @@ static const char * const configlink_clocks[] = { | |||
299 | "spdif_in", | 299 | "spdif_in", |
300 | }; | 300 | }; |
301 | 301 | ||
302 | struct of_dev_auxdata ahub_auxdata[] = { | ||
303 | OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080300, "tegra30-i2s.0", NULL), | ||
304 | OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080400, "tegra30-i2s.1", NULL), | ||
305 | OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080500, "tegra30-i2s.2", NULL), | ||
306 | OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080600, "tegra30-i2s.3", NULL), | ||
307 | OF_DEV_AUXDATA("nvidia,tegra30-i2s", 0x70080700, "tegra30-i2s.4", NULL), | ||
308 | {} | ||
309 | }; | ||
310 | |||
311 | #define LAST_REG(name) \ | 302 | #define LAST_REG(name) \ |
312 | (TEGRA30_AHUB_##name + \ | 303 | (TEGRA30_AHUB_##name + \ |
313 | (TEGRA30_AHUB_##name##_STRIDE * TEGRA30_AHUB_##name##_COUNT) - 4) | 304 | (TEGRA30_AHUB_##name##_STRIDE * TEGRA30_AHUB_##name##_COUNT) - 4) |
@@ -451,7 +442,7 @@ static int tegra30_ahub_probe(struct platform_device *pdev) | |||
451 | * Ensure that here. | 442 | * Ensure that here. |
452 | */ | 443 | */ |
453 | for (i = 0; i < ARRAY_SIZE(configlink_clocks); i++) { | 444 | for (i = 0; i < ARRAY_SIZE(configlink_clocks); i++) { |
454 | clk = clk_get_sys(NULL, configlink_clocks[i]); | 445 | clk = clk_get(&pdev->dev, configlink_clocks[i]); |
455 | if (IS_ERR(clk)) { | 446 | if (IS_ERR(clk)) { |
456 | dev_err(&pdev->dev, "Can't get clock %s\n", | 447 | dev_err(&pdev->dev, "Can't get clock %s\n", |
457 | configlink_clocks[i]); | 448 | configlink_clocks[i]); |
@@ -569,8 +560,7 @@ static int tegra30_ahub_probe(struct platform_device *pdev) | |||
569 | goto err_pm_disable; | 560 | goto err_pm_disable; |
570 | } | 561 | } |
571 | 562 | ||
572 | of_platform_populate(pdev->dev.of_node, NULL, ahub_auxdata, | 563 | of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); |
573 | &pdev->dev); | ||
574 | 564 | ||
575 | return 0; | 565 | return 0; |
576 | 566 | ||