10 Jan, 2013

1 commit

  • Pull ARM fixes from Russell King.

    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writel
    ARM: 7615/1: cache-l2x0: aurora: Invalidate during clean operation with WT enable
    ARM: 7614/1: mm: fix wrong branch from Cortex-A9 to PJ4b
    ARM: 7612/1: imx: Do not select some errata that depends on !ARCH_MULTIPLATFORM
    ARM: 7611/1: VIC: fix bug in VIC irqdomain code
    ARM: 7610/1: versatile: bump IRQ numbers
    ARM: 7609/1: disable errata work-arounds which access secure registers
    ARM: 7608/1: l2x0: Only set .set_debug on PL310 r3p0 and earlier

    Linus Torvalds
     

09 Jan, 2013

5 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "People are back from the holiday breaks, and it shows. Here are a
    bunch of fixes for a number of platforms:
    - A couple of small fixes for Nomadik
    - A larger set of changes for kirkwood/mvebu
    - uart driver selection, dt clocks, gpio-poweroff fixups, a few
    __init annotation fixes and some error handling improvement in
    their xor dma driver.
    - i.MX had a couple of minor fixes (and a critical one for flexcan2
    clock setup)
    - MXS has a small board fix and a framebuffer bugfix
    - A set of fixes for Samsung Exynos, fixing default bootargs and some
    Exynos5440 clock issues
    - A set of OMAP changes including PM fixes and a few sparse warning
    fixups

    All in all a bit more positive code delta than we'd ideally want to
    see here, mostly from the OMAP PM changes, but nothing overly crazy."

    * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
    ARM: clps711x: Fix bad merge of clockevents setup
    ARM: highbank: save and restore L2 cache and GIC on suspend
    ARM: highbank: add a power request clear
    ARM: highbank: fix secondary boot and hotplug
    ARM: highbank: fix typos with hignbank in power request functions
    ARM: dts: fix highbank cpu mpidr values
    ARM: dts: add device_type prop to cpu nodes on Calxeda platforms
    ARM: mx5: Fix MX53 flexcan2 clock
    ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
    pinctrl: mvebu: make pdma clock on dove mandatory
    ARM: Dove: Add pinctrl clock to DT
    dma: mv_xor: fix error handling for clocks
    dma: mv_xor: fix error handling of mv_xor_channel_add()
    arm: mvebu: Add missing ; for cpu node.
    arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
    arm: mvebu: Armada XP MV78230 has two cores, not one
    clk: mvebu: Remove inappropriate __init tagging
    ARM: Kirkwood: Use fixed-regulator instead of board gpio call
    ARM: Kirkwood: Fix missing sdio clock
    ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
    ...

    Linus Torvalds
     
  • …nux/kernel/git/tmlind/linux-omap into fixes

    From Tony Lindgren:
    The biggest change is a fix to deal with different power state
    on omap2 registers that causes issues trying to use common PM code.
    Also fix few incorrect registers, and an issue for omap1 USB, and
    few sparse fixes for issues that sneaked in with all the clean-up.

    * tag 'omap-for-v3.8-rc2/fixes-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
    ARM: OMAP1: fix USB configuration use-after-release
    ARM: OMAP2/3: PRM: fix bogus OMAP2xxx powerstate return values
    ARM: OMAP3: clock data: Add missing enable/disable for EMU clock
    ARM: OMAP4: PRM: Correct wrong instance usage for reading reset sources
    ARM: OMAP4: PRM: fix RSTTIME and RSTST offsets
    ARM: OMAP4: PRM: Correct reset source map
    ARM: OMAP: SRAM: resolve sparse warnings
    ARM: OMAP AM33xx: hwmod data: resolve sparse warnings
    ARM: OMAP: 32k counter: resolve sparse warnings

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • …/git/kgene/linux-samsung into fixes

    From Kukjin Kim:
    Most of them are EXYNOS5440 fixes which are for changing uart console,
    cpu id (typo) and silent complaining gpio error in kernel boot.

    * 'v3.8-samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: skip the clock initialization for exynos5440
    ARM: EXYNOS: enable PINCTRL for EXYNOS5440
    ARM: dts: use uart port1 for console on exynos4210-smdkv310
    ARM: dts: use uart port0 for console on exynos5440-ssdk5440
    ARM: SAMSUNG: fix the cpu id for EXYNOS5440
    ARM: EXYNOS: Revise HDMI resource size

    Olof Johansson
     
  • From Shawn Guo:
    I have to send one critical mxsfb fix through arm-soc, as FB maintainer
    is unresponsive for quite a while. People start complaining the missing
    of such an important fix.

    * tag 'mxs-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
    video: mxsfb: fix crash when unblanking the display
    ARM: dts: imx23-olinuxino: Fix IOMUX settings

    Olof Johansson
     
  • From Shawn Guo:

    It includes one critical fix - wrong flexcan2 clock will hang system
    when the port gets brought up. The other two are non-critical fixes,
    which are sent together here, since it's still early -rc stage.

    * tag 'imx-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: mx5: Fix MX53 flexcan2 clock
    ARM: dts: imx31-bug: Fix manufacturer compatible string
    clk: imx: Remove 'clock-output-names' from the examples

    Olof Johansson
     

08 Jan, 2013

12 commits

  • From Jason Cooper:

    fixes for mvebu/kirkwood v3.8
    - use correct uart driver for mvebu boards
    - add a missing DT clocks
    - gpio-poweroff level vs. edge triggering, use gpio_is_valid()
    - remove an inappropriate __init, modules need to access function.
    - various DT fixes
    - error handling in mv_xor

    * tag 'mvebu_fixes_for_v3.8' of git://git.infradead.org/users/jcooper/linux:
    pinctrl: mvebu: make pdma clock on dove mandatory
    ARM: Dove: Add pinctrl clock to DT
    dma: mv_xor: fix error handling for clocks
    dma: mv_xor: fix error handling of mv_xor_channel_add()
    arm: mvebu: Add missing ; for cpu node.
    arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
    arm: mvebu: Armada XP MV78230 has two cores, not one
    clk: mvebu: Remove inappropriate __init tagging
    ARM: Kirkwood: Use fixed-regulator instead of board gpio call
    ARM: Kirkwood: Fix missing sdio clock
    ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
    Power: gpio-poweroff: Fix documentation and gpio_is_valid
    ARM: Kirkwood: Fix missing clk for USB device.
    arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driver

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • I mismerged a previous branch from Alexander, and accidentally left
    in ARCH_USES_GETTIMEOFFSET. Remove it.

    Signed-off-by: Olof Johansson
    Cc: Alexander Shiyan

    Olof Johansson
     
  • …el/git/linusw/linux-nomadik into fixes

    From Linus Walleij:
    Two fixes to the Nomadik:
    - Delete a dangling include
    - Bump IRQ numbers to offset at 32

    * tag 'nomadik-fixes-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
    ARM: nomadik: bump the IRQ numbers again
    ARM: nomadik: delete dangling include

    Olof Johansson
     
  • This fixes suspend to RAM adding necessary save and restore of L2 and GIC.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • When we fail to power down, we need to clear out the power request.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • With commit 384a290 (ARM: gic: use a private mapping for CPU target
    interfaces), wake-up IPIs now go to all cores as the gic cpu interface
    numbering may not follow core numbering. This broke secondary boot on
    highbank since the boot address was already set for all secondary cores,
    this caused all cores to boot before the kernel was ready.

    Fix this by moving the setting of the jump address to
    highbank_boot_secondary instead of highbank_smp_prepare_cpus and
    highbank_cpu_die. Also, clear the address when we boot. This prevents
    cores from booting before they are actually triggered and is also necessary
    to get suspend/resume to work.

    Signed-off-by: Rob Herring
    Cc: Nicolas Pitre
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • s/hignbank/highbank/

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • With the addition of commit a0ae0240 (ARM: kernel: add device tree init
    map function), the cpu reg values must match the cpu mpidr register or we'll
    get warnings. For some reason, the CLUSTERID on highbank is 9, so the reg
    value needs to be 0x90n to quiet the warnings.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • While device_type is considered deprecated, it is still needed for tools
    like lshw to identify cpu nodes.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • The second FlexCAN port uses different clock than the first one, configure
    correct clock to prevent hanging of the system during bringing up of the port.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Acked-by: Sascha Hauer
    Signed-off-by: Shawn Guo

    Marek Vasut
     
  • The IRQ array must be terminated by -1 and not by -1+OMAP_INTC_START
    This led to having a resource list of 100s of IRQs.

    Looks like this was caused by commit a2cfc509 (ARM: OMAP3+: hwmod: Add
    AM33XX HWMOD data) that probably had some search and replace updates
    done for the patch for sparse irq support.

    Signed-off-by: Pantelis Antoniou
    Acked-by: Paul Walmsley
    [tony@atomide.com: updated wit information about the breaking commit]
    Signed-off-by: Tony Lindgren

    Pantelis Antoniou
     
  • During merge of the mvebu patches a clock gate for pinctrl was
    lost. This patch just readds the clock gate.

    Signed-off-by: Sebastian Hesselbarth
    Signed-off-by: Jason Cooper

    Sebastian Hesselbarth
     

07 Jan, 2013

12 commits

  • The use of writel instead of writel_relaxed lead to deadlock in some
    situation (SMP on Armada 370 for instance). The use of writel_relaxed
    as it was done in the rest of this driver fixes this bug.

    Signed-off-by: Gregory CLEMENT
    Tested-by: Thomas Petazzoni
    Acked-by: Jason Cooper
    Signed-off-by: Russell King

    Gregory CLEMENT
     
  • This patch fixes a bug for Aurora L2 cache controller when the
    write-through mode is enable. For the clean operation even if we don't
    have to flush the lines we still need to invalidate them.

    Signed-off-by: Gregory CLEMENT
    Tested-by: Thomas Petazzoni
    Acked-by: Jason Cooper
    Signed-off-by: Russell King

    Gregory CLEMENT
     
  • If CONFIG_ARCH_MULTIPLATFORM & CONFIG_ARCH_MVEBU are both enabled,
    __v7_pj4b_setup is added between __v7_ca9mp_setup and __v7_setup.

    But there's no jump instruction added. If the chip is Cortex A5/A9,
    it goes through __v7_pj4b_setup also. It results in system hang.

    Signed-off-by: Haojian Zhuang
    Signed-off-by: Russell King

    Haojian Zhuang
     
  • Since commit 62e4d357a (ARM: 7609/1: disable errata work-arounds which access
    secure registers) ARM_ERRATA_743622/751472 depends on !ARCH_MULTIPLATFORM.

    Since imx has been converted to multiplatform, the following warning happens:

    $ make imx_v6_v7_defconfig
    warning: (SOC_IMX6Q && ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC) selects
    ARM_ERRATA_751472 which has unmet direct dependencies (CPU_V7 &&
    !ARCH_MULTIPLATFORM)
    warning: (SOC_IMX6Q && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_743622
    which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM)
    warning: (SOC_IMX6Q && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_743622
    which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM)
    warning: (SOC_IMX6Q && ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC) selects
    ARM_ERRATA_751472 which has unmet direct dependencies (CPU_V7 &&
    !ARCH_MULTIPLATFORM)

    Recommended approach is to remove ARM_ERRATA_743622/751472 from being selected
    by SOC_IMX6Q and apply such workarounds into the bootloader.

    Signed-off-by: Fabio Estevam
    Acked-by: Rob Herring
    Signed-off-by: Russell King

    Fabio Estevam
     
  • The Armada XP MV78230 DT include file is missing a ; at the
    end of the cpu node.

    Reported-by: Thomas Petazzoni
    Signed-off-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Andrew Lunn
     
  • We originally thought that the MV78230 variant of the Armada XP had
    four Ethernet interfaces, like the other variants MV78260 and
    MV78460. In fact, this is not true, and the MV78230 has only three
    Ethernet interfaces.

    So, the definitions of the Ethernet interfaces is now done as follows:

    * armada-370-xp.dtsi: definitions of the first two interfaces, that
    are common to Armada 370 and Armada XP

    * armada-xp.dtsi: definition of the third interface, common to all
    Armada XP variants.

    * armada-xp-mv78260.dtsi and armada-xp-mv78460.dtsi: definition of
    the fourth interface.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     
  • Contrary to our understanding at the time armada-xp-mv78230.dtsi was
    written, the MV78230 variant of the Armada XP SoC has two cores and
    not one. This patch updates the .dtsi file to take into account this
    reality.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     
  • With the change to a DT based pinctrl/gpio driver, using gpio API
    calls in board-*.c files no longer works, a dereferenced NULL pointer
    exception occurs instead. By converting the GPIO code into a
    fixed-regulator which gets probed later once pinctrl/gpio is
    available, we avoid the exception.

    Signed-off-by: Andrew Lunn
    Tested-by: Stefan Peter
    Signed-off-by: Jason Cooper

    Andrew Lunn
     
  • We moved to declaring clk gates in DT. However, device which do not
    yet have a DT binding need to have a clkdev alias. This was missing
    for SDIO.

    Signed-off-by: Andrew Lunn
    Tested-by: Stefan Peter
    Signed-off-by: Jason Cooper

    Andrew Lunn
     
  • Clock Management of kirkwood has moved to DT clock providers.
    However, TWSI1 has not yet been done.
    This switches TWSI1 of 88f6282 to DT clock providers.

    Signed-off-by: Nobuhiro Iwamatsu
    Signed-off-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Nobuhiro Iwamatsu
     
  • Without the clock being held by a driver, it gets turned off at a bad
    time causing the SoC to lockup. This is often during reboot.

    Signed-off-by: Andrew Lunn
    Tested-by: Stefan Peter
    Signed-off-by: Jason Cooper

    Andrew Lunn
     
  • The UART controller used in the Armada 370 and Armada XP SoCs is the
    Synopsys DesignWare 8250 (aka Synopsys DesignWare ABP UART). The
    improper use of the ns16550 can lead to a kernel oops during boot if
    a character is sent to the UART before the initialization of the
    driver. The DW APB has an extra interrupt that gets raised when
    writing to the LCR when busy. This explains why we need to use
    dw-apb-uart driver to handle this.

    Signed-off-by: Gregory CLEMENT
    Signed-off-by: Jason Cooper

    Gregory CLEMENT
     

06 Jan, 2013

1 commit


04 Jan, 2013

8 commits

  • In the compatible field we should point the manufacturer of the board, which
    in this case is Buglabs.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Shawn Guo

    Fabio Estevam
     
  • Pull driver core __dev* removal patches - take 3 - from Greg Kroah-Hartman:
    "Here are the remaining __dev* removal patches against the 3.8-rc2
    tree. All of these patches were previously sent to the subsystem
    maintainers, most of them were picked up and pushed to you, but there
    were a number that fell through the cracks, and new drivers were added
    during the merge window, so this series cleans up the rest of the
    instances of these markings.

    Third time's the charm...

    Signed-off-by: Greg Kroah-Hartman "

    Fixed up trivial conflict with the pinctrl pull in pinctrl-sirf.c.

    * tag 'driver-core-3.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (54 commits)
    misc: remove __dev* attributes.
    include: remove __dev* attributes.
    Documentation: remove __dev* attributes.
    Drivers: misc: remove __dev* attributes.
    Drivers: block: remove __dev* attributes.
    Drivers: bcma: remove __dev* attributes.
    Drivers: char: remove __dev* attributes.
    Drivers: clocksource: remove __dev* attributes.
    Drivers: ssb: remove __dev* attributes.
    Drivers: dma: remove __dev* attributes.
    Drivers: gpu: remove __dev* attributes.
    Drivers: infinband: remove __dev* attributes.
    Drivers: memory: remove __dev* attributes.
    Drivers: mmc: remove __dev* attributes.
    Drivers: iommu: remove __dev* attributes.
    Drivers: power: remove __dev* attributes.
    Drivers: message: remove __dev* attributes.
    Drivers: macintosh: remove __dev* attributes.
    Drivers: mfd: remove __dev* attributes.
    pstore: remove __dev* attributes.
    ...

    Linus Torvalds
     
  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    and __devexit from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Cc: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Bump the IRQ numbers from offset at 1 (right above NO_IRQ)
    to 32. This is the painful way to learn that if you're using
    SPARSE_IRQ and avoid to define .nr_irqs in your machine,
    the first 16 IRQs will be pre-allocated, and the IRQdomain
    code (as the VIC core code before it) will then assume
    that all IRQ descriptors are pre-allocated, and 16 of them
    are - by somebody else. So mapping the IRQs will fail in
    irq_create_mapping(). Moving the offset upward rids us of
    this problem.

    Cc: Rob Herring
    Cc: Grant Likely
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This reference to the old include header for the FSMC NAND
    MTD driver was somehow left in place, get rid of it.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Pull pinctrl fixes from Linus Walleij:
    "A first round of pinctrl fixes for v3.8:
    - i.MX5 register configuration
    - Swap a kfree to devm_kfree() to avoid memory corruption in the at91
    driver
    - Add the missing device tree binding doc for the SIRF pin controller
    - Enable the SIRF GPIO pull up/down configuration from the device
    tree, it was previously retired from the hard-coded approach.
    - NULL check for the prcm_base in the Nomadik pin controller.
    - Provide the prcm_base from the device tree in the DT boot path for
    the Nomadik pin controller."

    * tag 'pinctrl-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    ARM: ux500: add pinctrl address resources
    pinctrl: nomadik: return if prcm_base is NULL
    pinctrl: sirf: enable GPIO pullup/down configuration from dts
    pinctrl: sirf: add missing DT-binding document
    pinctrl: fix comment mistake
    drivers/pinctrl/pinctrl-at91.c: convert kfree to devm_kfree
    pinctrl: imx5: fix GPIO_8 pad CAN1_RXCAN configuration

    Linus Torvalds
     
  • All boards, except Amstrad E3, mark USB config with __initdata.

    As a result, when you compile USB into modules, they will try to refer
    already released platform data and the behaviour is undefined. For example
    on Nokia 770, I get the following kernel panic when modprobing ohci-hcd:

    [ 3.462158] Unable to handle kernel paging request at virtual address e7fddef0
    [ 3.477050] pgd = c3434000
    [ 3.487365] [e7fddef0] *pgd=00000000
    [ 3.498535] Internal error: Oops: 80000005 [#1] ARM
    [ 3.510955] Modules linked in: ohci_hcd(+)
    [ 3.522705] CPU: 0 Not tainted (3.7.0-770_tiny+ #5)
    [ 3.535552] PC is at 0xe7fddef0
    [ 3.546508] LR is at ohci_omap_init+0x5c/0x144 [ohci_hcd]
    [ 3.560272] pc : [] lr : [] psr: a0000013
    [ 3.560272] sp : c344bdb0 ip : c344bce0 fp : c344bdcc
    [ 3.589782] r10: 00000001 r9 : 00000000 r8 : 00000000
    [ 3.604553] r7 : 00000026 r6 : 000000de r5 : c0227300 r4 : c342d620
    [ 3.621032] r3 : e7fddef0 r2 : c048b880 r1 : 00000000 r0 : 0000000a
    [ 3.637786] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    [ 3.655822] Control: 0005317f Table: 13434000 DAC: 00000015
    [ 3.672790] Process modprobe (pid: 425, stack limit = 0xc344a1b8)
    [ 3.690643] Stack: (0xc344bdb0 to 0xc344c000)
    [ 3.707031] bda0: bf0030e4 c342d620 00000000 c049e62c
    [ 3.727905] bdc0: c344be04 c344bdd0 c0150ff0 bf0030f4 bf001b88 00000000 c048a4ac c345b020
    [ 3.748870] bde0: c342d620 00000000 c048a468 bf003968 00000001 bf006000 c344be34 c344be08
    [ 3.769836] be00: bf001bf0 c0150e48 00000000 c344be18 c00b9bfc c048a478 c048a4ac bf0037f8
    [ 3.790985] be20: c012ca04 c000e024 c344be44 c344be38 c012d968 bf001a84 c344be64 c344be48
    [ 3.812164] be40: c012c8ac c012d95c 00000000 c048a478 c048a4ac bf0037f8 c344be84 c344be68
    [ 3.833740] be60: c012ca74 c012c80c 20000013 00000000 c344be88 bf0037f8 c344beac c344be88
    [ 3.855468] be80: c012b038 c012ca14 c38093cc c383ee10 bf0037f8 c35be5a0 c049d5e8 00000000
    [ 3.877166] bea0: c344bebc c344beb0 c012c40c c012aff4 c344beec c344bec0 c012bfc0 c012c3fc
    [ 3.898834] bec0: bf00378c 00000000 c344beec bf0037f8 00067f39 00000000 00005c44 c000e024
    [ 3.920837] bee0: c344bf14 c344bef0 c012cd54 c012befc c04ce080 00067f39 00000000 00005c44
    [ 3.943023] bf00: c000e024 bf006000 c344bf24 c344bf18 c012db14 c012ccc0 c344bf3c c344bf28
    [ 3.965423] bf20: bf00604c c012dad8 c344a000 bf003834 c344bf7c c344bf40 c00087ac bf006010
    [ 3.987976] bf40: 0000000f bf003834 00067f39 00000000 00005c44 bf003834 00067f39 00000000
    [ 4.010711] bf60: 00005c44 c000e024 c344a000 00000000 c344bfa4 c344bf80 c004c35c c0008720
    [ 4.033569] bf80: c344bfac c344bf90 01422192 01427ea0 00000000 00000080 00000000 c344bfa8
    [ 4.056518] bfa0: c000dec0 c004c2f0 01422192 01427ea0 01427ea0 00005c44 00067f39 00000000
    [ 4.079406] bfc0: 01422192 01427ea0 00000000 00000080 b6e11008 014221aa be941fcc b6e1e008
    [ 4.102569] bfe0: b6ef6300 be941758 0000e93c b6ef6310 60000010 01427ea0 00000000 00000000
    [ 4.125946] Backtrace:
    [ 4.143463] [] (ohci_omap_init+0x0/0x144 [ohci_hcd]) from [] (usb_add_hcd+0x1b8/0x61c)
    [ 4.183898] r6:c049e62c r5:00000000 r4:c342d620 r3:bf0030e4
    [ 4.205596] [] (usb_add_hcd+0x0/0x61c) from [] (ohci_hcd_omap_drv_probe+0x17c/0x224 [ohci_hcd])
    [ 4.248138] [] (ohci_hcd_omap_drv_probe+0x0/0x224 [ohci_hcd]) from [] (platform_drv_probe+0x1c/0x20)
    [ 4.292144] r8:c000e024 r7:c012ca04 r6:bf0037f8 r5:c048a4ac r4:c048a478
    [ 4.316192] [] (platform_drv_probe+0x0/0x20) from [] (driver_probe_device+0xb0/0x208)
    [ 4.360168] [] (driver_probe_device+0x0/0x208) from [] (__driver_attach+0x70/0x94)
    [ 4.405548] r6:bf0037f8 r5:c048a4ac r4:c048a478 r3:00000000
    [ 4.429809] [] (__driver_attach+0x0/0x94) from [] (bus_for_each_dev+0x54/0x90)
    [ 4.475708] r6:bf0037f8 r5:c344be88 r4:00000000 r3:20000013
    [ 4.500366] [] (bus_for_each_dev+0x0/0x90) from [] (driver_attach+0x20/0x28)
    [ 4.528442] r7:00000000 r6:c049d5e8 r5:c35be5a0 r4:bf0037f8
    [ 4.553466] [] (driver_attach+0x0/0x28) from [] (bus_add_driver+0xd4/0x228)
    [ 4.581878] [] (bus_add_driver+0x0/0x228) from [] (driver_register+0xa4/0x134)
    [ 4.629730] r8:c000e024 r7:00005c44 r6:00000000 r5:00067f39 r4:bf0037f8
    [ 4.656738] [] (driver_register+0x0/0x134) from [] (platform_driver_register+0x4c/0x60)
    [ 4.706542] [] (platform_driver_register+0x0/0x60) from [] (ohci_hcd_mod_init+0x4c/0x8c [ohci_hcd])
    [ 4.757843] [] (ohci_hcd_mod_init+0x0/0x8c [ohci_hcd]) from [] (do_one_initcall+0x9c/0x174)
    [ 4.808990] r4:bf003834 r3:c344a000
    [ 4.832641] [] (do_one_initcall+0x0/0x174) from [] (sys_init_module+0x7c/0x194)
    [ 4.881530] [] (sys_init_module+0x0/0x194) from [] (ret_fast_syscall+0x0/0x2c)
    [ 4.930664] r7:00000080 r6:00000000 r5:01427ea0 r4:01422192
    [ 4.956481] Code: bad PC value
    [ 4.978729] ---[ end trace 58280240f08342c4 ]---
    [ 5.002258] Kernel panic - not syncing: Fatal exception

    Fix this by taking a copy of the data. Also mark Amstrad E3's data with
    __initdata to save some memory with multi-board kernels.

    Signed-off-by: Aaro Koskinen
    Signed-off-by: Tony Lindgren

    Aaro Koskinen
     
  • …el/git/pjw/omap-pending into omap-for-v3.8-rc2/fixes

    Some OMAP PRCM and sparse fixes against v3.8-rc1. A basic set of test
    logs are available here:

    http://www.pwsan.com/omap/testlogs/prcm_fixes_b_3.8-rc/20130102120724/

    The 3730 Beagle XM here has an intermittent failure mounting SD root,
    but the suspicion right now is that this is due to a failing SD card,
    rather than any change introduced by these patches.

    This second version includes a few changes requested by Tony Lindgren.

    Tony Lindgren
     

03 Jan, 2013

1 commit

  • On OMAP2xxx chips, the register bitfields for the
    PM_PWSTCTRL_*.POWERSTATE and PM_PWSTST_*.LASTSTATEENTERED are
    different than those used on OMAP3/4. The order is reversed. So, for
    example, on OMAP2xxx, 0x0 indicates 'ON'; but on OMAP3/4, 0x0
    indicates 'OFF'. Similarly, on OMAP2xxx, 0x3 indicates 'OFF', but on
    OMAP3/4, 0x3 indicates 'ON'.

    To fix this, we treat the OMAP3/4 values as the powerdomain API
    values, and create new low-level powerdomain functions for the
    OMAP2xxx chips which translate between the OMAP2xxx values and the
    OMAP3/4 values.

    Without this patch, the conversion of the OMAP2xxx PM code to the
    functional powerstate code results in a non-booting kernel.

    Signed-off-by: Paul Walmsley

    Paul Walmsley