linux_dsm_epyc7002/arch/arm
Tony Lindgren 5e863c5610 ARM: OMAP2+: Fix overwriting hwmod data with data from device tree
We have some device tree properties where the ti,hwmod have multiple
values:

am33xx.dtsi:	ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
am4372.dtsi:	ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
dra7.dtsi:	ti,hwmods = "l3_main_1", "l3_main_2";
omap3.dtsi:	ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
omap3.dtsi:	ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
omap4.dtsi:	ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
omap5.dtsi:	ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";

That's not correct way of doing things in this case because these are
separate devices with their own address space, interrupts, SYSCONFIG
registers and can set their PM states independently.

So they should all be fixed up to be separate devices in the .dts files.

We also have the related data removed for at least omap4 in commit
3b9b10151c (ARM: OMAP4: hwmod data: Clean up the data file), so
that data is wrongly initialized as null data.

So we need to fix two bugs:

1. We are only checking the first entry of the ti,hwmods property

   This means that we're only initializing the first hwmods entry
   instead of the ones listed in the ti,hwmods property.

2. We are only checking the child nodes, not the nodes themselves

   This means that anything listed at OCP level is currently just
   ignored and unitialized and at least the omap4 case, with the
   legacy data missing from the hwmod.

Fix both of the issues by using an index to the ti,hwmods property
and changing the hwmod lookup function to also check the current node
for ti,hwmods property instead of just the children.

While at it, let's also add some warnings for the bad data so it's
easier to fix.

Cc: "Benoît Cousson" <bcousson@baylibre.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-12-06 14:20:16 -08:00
..
boot arm: dts: socfpga: Change some clocks of gate-clk type to perip-clk 2013-12-03 14:19:53 -08:00
common Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2013-11-20 13:20:24 -08:00
configs ARM: multi_v7_defconfig: enable SDHCI_BCM_KONA and MMC_BLOCK_MINORS=16 2013-12-03 12:39:14 -08:00
crypto ARM: add .gitignore entry for aesbs-core.S 2013-10-07 15:43:53 +01:00
include ARM: fix booting low-vectors machines 2013-11-30 14:45:31 +00:00
kernel ARM: 7897/1: kexec: Use the right ISA for relocate_new_kernel 2013-11-30 22:21:02 +00:00
kvm Fix percpu vmalloc allocations 2013-11-19 10:43:05 +02:00
lib ARM: 7907/1: lib: delay-loop: Add align directive to fix BogoMIPS calculation 2013-11-30 22:21:03 +00:00
mach-at91 ARM: SoC fixes for 3.13-rc 2013-12-04 08:56:18 -08:00
mach-bcm BCM changes for 3.13/soc. A number of cleanup related changes. 2013-10-30 14:03:39 -07:00
mach-bcm2835 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 10:02:59 +09:00
mach-clps711x ARM: clps711x: Use linux/sched_clock.h 2013-10-11 14:50:10 -07:00
mach-cns3xxx
mach-davinci Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-dove ARM: driver updates for 3.13 2013-11-11 17:05:37 +09:00
mach-ebsa110
mach-ep93xx usb: ohci: remove ep93xx bus glue platform driver 2013-10-29 16:43:37 -07:00
mach-exynos ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mach-footbridge ARM: footbridge: fix EBSA285 LEDs 2013-11-30 22:20:59 +00:00
mach-gemini GPIO bulk changes for the v3.13 development cycle 2013-11-12 15:50:46 +09:00
mach-highbank ARM: SoC fixes for 3.13 merge window 2013-11-16 12:45:55 -08:00
mach-imx Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-integrator Few clock fixes, a runtime PM fix, and pinctrl-single fix along 2013-11-15 15:17:59 -08:00
mach-iop13xx dmaengine: remove DMA unmap from drivers 2013-11-14 11:04:38 -08:00
mach-iop32x
mach-iop33x
mach-ixp4xx Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 08:51:29 +09:00
mach-keystone DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
mach-kirkwood Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-ks8695
mach-lpc32xx
mach-mmp fbdev changes for 3.13 2013-11-14 14:44:20 +09:00
mach-msm Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 10:36:00 +09:00
mach-mv78xx0
mach-mvebu ARM: mvebu: support running big-endian 2013-10-19 20:46:34 +01:00
mach-mxs ARM: SoC DT updates for 3.13 2013-11-11 17:34:56 +09:00
mach-netx
mach-nomadik Merge branch 'clk-of-init-v2_for-3.13' of https://github.com/shesselba/linux-dove into next/cleanup 2013-10-07 09:47:31 -07:00
mach-nspire ARM: nspire: remove custom .init_time hook 2013-09-29 21:09:37 +02:00
mach-omap1 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-omap2 ARM: OMAP2+: Fix overwriting hwmod data with data from device tree 2013-12-06 14:20:16 -08:00
mach-orion5x
mach-picoxcell
mach-prima2 ARM: prima2: remove custom .init_time hook 2013-09-29 21:09:38 +02:00
mach-pxa Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-realview
mach-rockchip ARM: SoC board updates for 3.13 2013-11-11 16:57:16 +09:00
mach-rpc
mach-s3c24xx Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-s3c64xx pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
mach-s5p64x0 ARM: SAMSUNG: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
mach-s5pc100 ARM: SAMSUNG: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
mach-s5pv210 pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
mach-sa1100 ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mach-shmobile pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
mach-socfpga arm: socfpga: Enable ARM_TWD for socfpga 2013-12-03 14:19:48 -08:00
mach-spear ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP 2013-10-07 10:41:32 -07:00
mach-sti ARM: SoC fixes for 3.13 merge window 2013-11-16 12:45:55 -08:00
mach-sunxi ARM: sunxi: remove .init_time hooks 2013-10-28 10:19:45 -07:00
mach-tegra Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2013-11-23 16:18:25 -08:00
mach-u300 DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
mach-ux500 Revert "ARM: ux500: Stop passing MMC's platform data for Device Tree boots" 2013-11-26 21:02:20 +01:00
mach-versatile
mach-vexpress ARM: vexpress/TC2: Implement MCPM power_down_finish() 2013-11-25 14:12:14 -08:00
mach-virt
mach-vt8500 ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP 2013-10-07 10:41:32 -07:00
mach-w90x900 ARM: w90x900: delete <mach/gpio.h> 2013-10-01 10:33:02 +02:00
mach-zynq ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mm ARM: fix booting low-vectors machines 2013-11-30 14:45:31 +00:00
net Merge branch 'devel-stable' into for-next 2013-11-12 10:58:59 +00:00
nwfpe
oprofile
plat-iop
plat-omap ARM: OMAP2+: Disable POSTED mode for errata i103 and i767 2013-11-26 15:03:36 -08:00
plat-orion
plat-pxa
plat-samsung pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
plat-versatile ARM: vexpress: add big endian support 2013-10-19 20:46:34 +01:00
tools
vfp ARM: 7873/1: vfp: clear vfp_current_hw_state for dying cpu 2013-10-30 22:10:10 +00:00
xen xen/arm: p2m_init and p2m_lock should be static 2013-11-18 15:33:10 +00:00
Kconfig Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-11-22 09:56:51 -08:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 08:51:29 +09:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 08:51:29 +09:00