linux/arch/arm/mach-omap2
David R. Piegdon c021f241f4 ARM: OMAP2+: Fix parser-bug in platform muxing code
Fix a parser-bug in the omap2 muxing code where muxtable-entries will be
wrongly selected if the requested muxname is a *prefix* of their
m0-entry and they have a matching mN-entry. Fix by additionally checking
that the length of the m0_entry is equal.

For example muxing of "dss_data2.dss_data2" on omap32xx will fail
because the prefix "dss_data2" will match the mux-entries "dss_data2" as
well as "dss_data20", with the suffix "dss_data2" matching m0 (for
dss_data2) and m4 (for dss_data20). Thus both are recognized as signal
path candidates:

Relevant muxentries from mux34xx.c:
        _OMAP3_MUXENTRY(DSS_DATA20, 90,
                "dss_data20", NULL, "mcspi3_somi", "dss_data2",
                "gpio_90", NULL, NULL, "safe_mode"),
        _OMAP3_MUXENTRY(DSS_DATA2, 72,
                "dss_data2", NULL, NULL, NULL,
                "gpio_72", NULL, NULL, "safe_mode"),

This will result in a failure to mux the pin at all:

 _omap_mux_get_by_name: Multiple signal paths (2) for dss_data2.dss_data2

Patch should apply to linus' latest master down to rather old linux-2.6
trees.

Signed-off-by: David R. Piegdon <lkml@p23q.org>
Cc: stable@vger.kernel.org
[tony@atomide.com: updated description to include full description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2014-06-17 01:05:43 -07:00
..
include/mach
am33xx-restart.c
am33xx.h
am35xx-emac.c ARM: 7989/1: Delete asm/system.h 2014-02-25 11:33:37 +00:00
am35xx-emac.h
am35xx.h
board-3430sdp.c
board-am3517crane.c
board-am3517evm.c ARM: OMAP: AM3517EVM: remove check for CONFIG_PANEL_SHARP_LQ043T1DG01 2014-05-16 14:13:07 -07:00
board-cm-t35.c [media] ARM: omap2: cm-t35: Add regulators and clock for camera sensor 2014-02-24 13:10:14 -03:00
board-cm-t3517.c
board-devkit8000.c
board-flash.c ARM: SoC cleanups for 3.16 2014-06-02 16:14:07 -07:00
board-flash.h
board-generic.c ARM: OMAP2+: Add machine entry for dra72x devices 2014-05-06 10:20:14 -07:00
board-ldp.c
board-n8x0.c
board-omap3beagle.c pwm: Changes for v3.16-rc1 2014-06-11 14:06:55 -07:00
board-omap3logic.c
board-omap3pandora.c wl1251: move power GPIO handling into the driver 2014-02-28 14:08:26 -05:00
board-omap3stalker.c ARM: OMAP: omap3stalker: remove two Kconfig macros 2014-05-16 14:10:04 -07:00
board-omap3touchbook.c
board-overo.c
board-rx51-peripherals.c wl1251: move power GPIO handling into the driver 2014-02-28 14:08:26 -05:00
board-rx51-video.c ARM: OMAP2+: N900: remove omapdss init for DT boot 2014-04-18 16:37:43 -07:00
board-rx51.c
board-rx51.h
board-ti8168evm.c
cclock3xxx_data.c ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5 on all OMAP3 platforms 2014-04-28 15:58:22 -06:00
cclock2420_data.c
cclock2430_data.c
clkt2xxx_apll.c
clkt2xxx_dpll.c
clkt2xxx_dpllcore.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
clkt2xxx_osc.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
clkt2xxx_sys.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
clkt2xxx_virt_prcm_set.c ARM: OMAP2: clock: add DT boot support for cpufreq_ck 2014-05-28 13:05:57 +03:00
clkt34xx_dpll3m2.c
clkt_clksel.c ARM: OMAP2+: clock: use driver API instead of direct memory read/write 2014-01-17 12:37:00 -08:00
clkt_dpll.c ARM: AM43xx: fix dpll init in bypass mode 2014-04-11 12:29:09 -06:00
clkt_iclk.c ARM: OMAP2+: clock: use driver API instead of direct memory read/write 2014-01-17 12:37:00 -08:00
clock.c ARM: OMAP2+: clock: use driver API instead of direct memory read/write 2014-01-17 12:37:00 -08:00
clock.h CLK: TI: interface: add support for omap2430 specific interface clock 2014-05-28 12:30:12 +03:00
clock2xxx.c
clock2xxx.h CLK: TI: DPLL: add support for omap2 core dpll 2014-05-28 12:28:20 +03:00
clock3xxx.c
clock3xxx.h CLK: TI: add omap3 clock init file 2014-01-17 12:35:48 -08:00
clock34xx.c
clock34xx.h
clock36xx.c ARM: OMAP2+: clock: use driver API instead of direct memory read/write 2014-01-17 12:37:00 -08:00
clock36xx.h
clock44xx.h
clock2430.c
clock3517.c
clock3517.h
clock_common_data.c
clockdomain.c
clockdomain.h ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
clockdomains2xxx_3xxx_data.c
clockdomains3xxx_data.c ARM: OMAP3: fix iva mmu programming issues 2014-03-12 09:48:26 -07:00
clockdomains7xx_data.c
clockdomains33xx_data.c
clockdomains43xx_data.c
clockdomains44xx_data.c
clockdomains54xx_data.c
clockdomains2420_data.c
clockdomains2430_data.c
cm-regbits-7xx.h
cm-regbits-24xx.h
cm-regbits-33xx.h
cm-regbits-34xx.h
cm-regbits-44xx.h
cm-regbits-54xx.h
cm.h
cm1_7xx.h
cm1_44xx.h
cm1_54xx.h
cm2_7xx.h
cm2_44xx.h
cm2_54xx.h
cm2xxx.c ARM: OMAP2/3: CM: remove some external dependencies 2014-05-15 22:34:25 -06:00
cm2xxx.h
cm2xxx_3xxx.h ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
cm3xxx.c ARM: OMAP2/3: CM: remove some external dependencies 2014-05-15 22:34:25 -06:00
cm3xxx.h ARM: OMAP3: CM: remove a few OMAP34XX_CM_REGADDR defines 2014-05-11 19:35:13 -06:00
cm33xx.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
cm33xx.h ARM: OMAP2+: hwmod: Change hardreset soc_ops for AM43XX 2014-06-15 16:02:17 -06:00
cm44xx.c Some OMAP PRCM cleanup patches. These help prepare to convert the PRCM 2014-05-16 15:26:22 -07:00
cm44xx.h
cm_44xx_54xx.h
cm_common.c ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
cminst44xx.c Some OMAP PRCM cleanup patches. These help prepare to convert the PRCM 2014-05-16 15:26:22 -07:00
cminst44xx.h
common-board-devices.c
common-board-devices.h
common.c
common.h ARM: OMAP2+: drop unused function 2014-06-16 05:06:41 -07:00
control.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
control.h
cpuidle34xx.c
cpuidle44xx.c ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled 2014-05-19 11:20:38 -07:00
ctrl_module_core_44xx.h
ctrl_module_pad_core_44xx.h
ctrl_module_pad_wkup_44xx.h
ctrl_module_wkup_44xx.h
devices.c ARM: OMAP2+: remove unused omap4-keypad file and code 2014-05-29 00:33:31 -07:00
devices.h
display.c OMAPDSS: move 'compatible' converter to omapdss driver 2014-05-28 09:25:15 +03:00
display.h ARM: OMAP2+: add omapdss_init_of() 2014-03-19 10:52:23 +02:00
dma.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
dpll3xxx.c ARM: OMAP5+: dpll: support Duty Cycle Correction(DCC) 2014-06-06 20:33:38 +03:00
dpll44xx.c ARM: OMAP2+: clock: use driver API instead of direct memory read/write 2014-01-17 12:37:00 -08:00
drm.c
dsp.c
dss-common.c ARM: OMAP2+: remove pdata quirks for displays 2014-04-04 09:55:18 +03:00
dss-common.h
emu.c
fb.c
gpio.c
gpmc-nand.c ARM: OMAP2+: gpmc: enable BCH_HW ecc-scheme for AM43xx platforms 2014-05-27 14:22:30 -07:00
gpmc-nand.h
gpmc-onenand.c
gpmc-onenand.h
gpmc-smc91x.c
gpmc-smc91x.h
gpmc-smsc911x.c
gpmc-smsc911x.h
gpmc.c MTD updates for 3.16: 2014-06-11 08:35:34 -07:00
gpmc.h
hdq1w.c ARM: omap2+: skip device build from platform code for dt 2014-05-14 14:41:25 -07:00
hdq1w.h
hsmmc.c
hsmmc.h
hwspinlock.c
i2c.c
i2c.h
id.c ARM: DRA722: add detection of SoC information 2014-06-16 04:52:11 -07:00
id.h
io.c Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
iomap.h
irq.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
Kconfig ARM: l2c: AM43x: add L2 cache support 2014-05-30 00:49:51 +01:00
l3_2xxx.h
l3_3xxx.h
l4_2xxx.h
l4_3xxx.h
Makefile ARM: OMAP2+: hwmod: Change hardreset soc_ops for AM43XX 2014-06-15 16:02:17 -06:00
Makefile.boot
mcbsp.c
mmc.h
msdi.c
mux.c ARM: OMAP2+: Fix parser-bug in platform muxing code 2014-06-17 01:05:43 -07:00
mux.h ARM: OMAP2+: remove OMAP_PACKAGE_ZAC and OMAP_PACKAGE_ZAF 2014-02-28 15:36:34 -08:00
mux34xx.c
mux34xx.h
omap-headsmp.S ARM: OMAP5: Redo THUMB mode switch on secondary CPU 2014-05-05 17:32:25 -07:00
omap-hotplug.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
omap-iommu.c iommu/omap: Add devicetree support 2014-03-04 17:01:57 +01:00
omap-mpuss-lowpower.c Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next 2014-06-05 15:57:04 -07:00
omap-pm-noop.c
omap-pm.h
omap-secure.c
omap-secure.h
omap-smc.S
omap-smp.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
omap-wakeupgen.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
omap-wakeupgen.h
omap2-restart.c
omap3-restart.c
omap4-common.c ARM: OMAP2+: drop unused function 2014-06-16 05:06:41 -07:00
omap4-restart.c
omap4-sar-layout.h
omap24xx.h
omap34xx.h
omap44xx.h
omap54xx.h
omap_device.c
omap_device.h
omap_hwmod.c ARM: OMAP2+: hwmod: Change hardreset soc_ops for AM43XX 2014-06-15 16:02:17 -06:00
omap_hwmod.h
omap_hwmod_2xxx_3xxx_interconnect_data.c
omap_hwmod_2xxx_3xxx_ipblock_data.c
omap_hwmod_2xxx_interconnect_data.c
omap_hwmod_2xxx_ipblock_data.c
omap_hwmod_3xxx_data.c ARM: OMAP2+: Fix ssi hwmod entry to allow idling 2014-05-27 11:50:17 -07:00
omap_hwmod_7xx_data.c ARM: dts: dra7: Add USB related nodes 2014-05-14 14:39:36 -07:00
omap_hwmod_33xx_43xx_common_data.h
omap_hwmod_33xx_43xx_interconnect_data.c
omap_hwmod_33xx_43xx_ipblock_data.c ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
omap_hwmod_33xx_data.c
omap_hwmod_43xx_data.c ARM: AM43x: hwmod data: register spinlock OCP interface 2014-02-28 12:43:46 -07:00
omap_hwmod_44xx_data.c ARM: omap4: hwmod_data: Clean up audio related structures (remove/merge them) 2014-05-14 12:26:10 -06:00
omap_hwmod_54xx_data.c ARM: OMAP5: hwmod: Add ocp2scp3 and sata hwmods 2014-06-15 20:12:52 -06:00
omap_hwmod_2420_data.c
omap_hwmod_2430_data.c
omap_hwmod_common_data.c
omap_hwmod_common_data.h
omap_hwmod_reset.c
omap_opp_data.h
omap_phy_internal.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
omap_twl.c mfd: twl-core: Fix idle mode signaling for omaps when booted with device tree 2014-04-23 15:31:05 +01:00
opp.c
opp2xxx.h
opp3xxx_data.c
opp4xxx_data.c
opp2420_data.c
opp2430_data.c
pdata-quirks.c ARM: SoC devicetree updates for 3.16 2014-06-02 16:34:00 -07:00
pm-debug.c
pm.c PM related fixes for omap3 that were discovered during omap3 2014-05-26 13:24:56 -07:00
pm.h ARM: OMAP2+: Remove suspend_set_ops from common pm late init 2014-05-19 15:31:54 -07:00
pm24xx.c ARM: OMAP2+: Remove suspend_set_ops from common pm late init 2014-05-19 15:31:54 -07:00
pm34xx.c PM related fixes for omap3 that were discovered during omap3 2014-05-26 13:24:56 -07:00
pm44xx.c ARM: OMAP2+: Remove suspend_set_ops from common pm late init 2014-05-19 15:31:54 -07:00
pmu.c
powerdomain-common.c ARM: OMAP4: PRCM: remove references to cm-regbits-44xx.h from PRCM core files 2014-05-15 22:35:10 -06:00
powerdomain.c ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
powerdomain.h ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
powerdomains2xxx_3xxx_data.c
powerdomains2xxx_3xxx_data.h
powerdomains2xxx_data.c
powerdomains3xxx_data.c
powerdomains7xx_data.c
powerdomains33xx_data.c
powerdomains43xx_data.c
powerdomains44xx_data.c
powerdomains54xx_data.c
prcm-common.h ARM: OMAP3/4: PRM: provide io chain reconfig function through irq setup 2014-05-15 22:34:54 -06:00
prcm43xx.h
prcm44xx.h
prcm_mpu7xx.h
prcm_mpu44xx.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
prcm_mpu44xx.h ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
prcm_mpu54xx.h
prcm_mpu_44xx_54xx.h
prm-regbits-24xx.h
prm-regbits-33xx.h
prm-regbits-34xx.h ARM: OMAP3: Fix idle mode signaling for sys_clkreq and sys_off_mode 2014-05-06 13:48:35 -07:00
prm-regbits-44xx.h
prm.h ARM: OMAP3/4: PRM: add support of late_init call to prm_ll_ops 2014-05-15 22:35:04 -06:00
prm2xxx.c ARM: OMAP2+: PRM: remove unnecessary cpu_is_XXX calls from prm_init / exit 2014-05-15 22:34:51 -06:00
prm2xxx.h ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
prm2xxx_3xxx.c ARM: OMAP2+: PRCM: cleanup some header includes 2014-05-15 22:34:48 -06:00
prm2xxx_3xxx.h ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
prm3xxx.c Some OMAP PRCM cleanup patches. These help prepare to convert the PRCM 2014-05-16 15:26:22 -07:00
prm3xxx.h ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
prm7xx.h
prm33xx.c Some OMAP PRCM cleanup patches. These help prepare to convert the PRCM 2014-05-16 15:26:22 -07:00
prm33xx.h
prm44xx.c Some OMAP PRCM cleanup patches. These help prepare to convert the PRCM 2014-05-16 15:26:22 -07:00
prm44xx.h
prm44xx_54xx.h
prm54xx.h
prm_common.c ARM: OMAP3/4: PRM: add support of late_init call to prm_ll_ops 2014-05-15 22:35:04 -06:00
prminst44xx.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
prminst44xx.h
scrm44xx.h
scrm54xx.h
sdram-hynix-h8mbx00u0mer-0em.h
sdram-micron-mt46h32m32lf-6.h
sdram-nokia.c
sdram-nokia.h
sdram-numonyx-m65kxxxxam.h
sdram-qimonda-hyb18m512160af-6.h
sdrc.c
sdrc.h ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
sdrc2xxx.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
serial.c
serial.h
sleep24xx.S
sleep34xx.S
sleep44xx.S
smartreflex-class3.c
soc.h ARM: DRA722: add detection of SoC information 2014-06-16 04:52:11 -07:00
sr_device.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
sram.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
sram.h
sram34xx.S
sram242x.S
sram243x.S
ti81xx.h
timer.c ARM: SoC cleanups for 3.16 2014-06-02 16:14:07 -07:00
twl-common.c
twl-common.h
usb-host.c usb: phy: rename <linux/usb/usb_phy_gen_xceiv.h> to <linux/usb/usb_phy_generic.h> 2014-04-21 14:07:24 -05:00
usb-musb.c
usb-tusb6010.c
usb.h
vc.c ARM: SoC updates for 3.16 (part 1) 2014-06-02 16:15:12 -07:00
vc.h ARM: OMAP3: Fix idle mode signaling for sys_clkreq and sys_off_mode 2014-05-06 13:48:35 -07:00
vc3xxx_data.c
vc44xx_data.c
voltage.c
voltage.h
voltagedomains2xxx_data.c
voltagedomains3xxx_data.c
voltagedomains44xx_data.c
voltagedomains54xx_data.c
vp.c
vp.h
vp3xxx_data.c
vp44xx_data.c
wd_timer.c ARM: OMAP2+: raw read and write endian fix 2014-05-08 07:09:53 -07:00
wd_timer.h