19 Aug, 2012

1 commit

  • Pull ARM fixes from Russell King:
    "The largest thing in this set of changes is bringing back some of the
    ARMv3 code to fix a compile problem noticed on RiscPC, which we still
    support, even though we only support ARMv4 there.

    (The reason is that the system bus doesn't support ARMv4 half-word
    accesses, so we need the ARMv3 library code for this platform.)

    The rest are all quite minor fixes."

    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: 7490/1: Drop duplicate select for GENERIC_IRQ_PROBE
    ARM: Bring back ARMv3 IO and user access code
    ARM: 7489/1: errata: fix workaround for erratum #720789 on UP systems
    ARM: 7488/1: mm: use 5 bits for swapfile type encoding
    ARM: 7487/1: mm: avoid setting nG bit for user mappings that aren't present
    ARM: 7486/1: sched_clock: update epoch_cyc on resume
    ARM: 7484/1: Don't enable GENERIC_LOCKBREAK with ticket spinlocks
    ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled
    ARM: 7482/1: topology: fix section mismatch warning for init_cpu_topology

    Linus Torvalds
     

15 Aug, 2012

1 commit


13 Aug, 2012

3 commits

  • This partially reverts 357c9c1f07d4546bc3fbc0fd1044d96b114d14ed
    (ARM: Remove support for ARMv3 ARM610 and ARM710 CPUs).

    Although we only support StrongARM on the RiscPC, we need to keep the
    ARMv3 user access code for this platform because the bus does not
    understand half-word load/stores.

    Reported-by: Arnd Bergmann
    Signed-off-by: Russell King

    Russell King
     
  • Pull gpio fixes from Linus Walleij:
    - Fix a resource leak in the SCH driver
    - Fix the register address calculation in the MSIC driver
    - Fix the PXA driver's devicetree functions
    - Delete redundant shadow variable leftovers in the MXC driver
    - Specify the GPIO base for the device tree probe in the MXC driver
    - Add a modalias for the i.MX driver
    - Fix off-by-one bug in the Samsung driver
    - Fix erroneous errorpath in the Langwell driver

    * tag 'gpio-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    drivers/gpio/gpio-langwell.c: fix error return code
    gpio: samsung: Fix off-by-one bug in gpio addresses
    ARM: dts: imx: add alias for gpio
    gpio/mxc: specify gpio base for device tree probe
    gpio/mxc: remove redundant shadow variables initialization
    GPIO: gpio-pxa: fix devicetree functions
    gpio: msic: Fix calculating register address in msic_gpio_to_oreg()
    gpio-sch: Fix leak of resource

    Linus Torvalds
     
  • Pull arm-soc bug fixes from Arnd Bergmann:
    "These are a bunch of bug fixes that came in after the merge window and
    one update for the MAINTAINERS file.

    The largest part of the fixes are patches that address bugs found by
    building all the ARM defconfig files. There are a lot more warnings
    that we have patches for, but the others are either still under
    discussion or are harmless and do not cause actual problems besides
    making the build slightly noisy."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
    ARM: davinci: remove broken ntosd2_init_i2c
    ARM: s3c24xx: enable CONFIG_BUG for tct_hammer
    omap-rng: fix use of SIMPLE_DEV_PM_OPS
    spi/s3c64xx: improve error handling
    mtd/omap2: fix dmaengine_slave_config error handling
    gpio: em: do not discard em_gio_irq_domain_cleanup
    ARM: exynos: exynos_pm_add_dev_to_genpd may be unused
    ARM: imx: gpmi-nand depends on mxs-dma
    ARM: integrator: include
    ARM: s3c24xx: use new PWM driver
    ARM: sa1100: include linux/io.h in hackkit leds code
    Input: eeti_ts: pass gpio value instead of IRQ
    ARM: pxa: remove irq_to_gpio from ezx-pcap driver
    ARM: tegra: more regulator fixes for Harmony
    usb/ohci-omap: remove unused variable
    mfd/asic3: fix asic3_mfd_probe return value
    ARM: kirkwood: fix typo in Makefile.boot
    i.MX27: Fix emma-prp and csi clocks.
    ARM: integrator: use clk_prepare_enable() for timer
    MAINTAINERS: update entry for Linus Walleij
    ...

    Linus Torvalds
     

11 Aug, 2012

7 commits

  • Commit 5a783cbc4836 ("ARM: 7478/1: errata: extend workaround for erratum
    #720789") added workarounds for erratum #720789 to the range TLB
    invalidation functions with the observation that the erratum only
    affects SMP platforms. However, when running an SMP_ON_UP kernel on a
    uniprocessor platform we must take care to preserve the ASID as the
    workaround is not required.

    This patch ensures that we don't set the ASID to 0 when flushing the TLB
    on such a system, preserving the original behaviour with the workaround
    disabled.

    Cc:
    Signed-off-by: Will Deacon
    Signed-off-by: Russell King

    Will Deacon
     
  • Page migration encodes the pfn in the offset field of a swp_entry_t.
    For LPAE, we support physical addresses of up to 36 bits (due to
    sparsemem limitations with the size of page flags), requiring 24 bits
    to represent a pfn. A further 3 bits are used to encode a swp_entry into
    a pte, leaving 5 bits for the type field. Furthermore, the core code
    defines MAX_SWAPFILES_SHIFT as 5, so the additional type bit does not
    get used.

    This patch reduces the width of the type field to 5 bits, allowing us
    to create up to 31 swapfiles of 64GB each.

    Cc:
    Reviewed-by: Catalin Marinas
    Signed-off-by: Will Deacon
    Signed-off-by: Russell King

    Will Deacon
     
  • Swap entries are encoding in ptes such that !pte_present(pte) and
    pte_file(pte). The remaining bits of the descriptor are used to identify
    the swapfile and offset within it to the swap entry.

    When writing such a pte for a user virtual address, set_pte_at
    unconditionally sets the nG bit, which (in the case of LPAE) will
    corrupt the swapfile offset and lead to a BUG:

    [ 140.494067] swap_free: Unused swap offset entry 000763b4
    [ 140.509989] BUG: Bad page map in process rs:main Q:Reg pte:0ec76800 pmd:8f92e003

    This patch fixes the problem by only setting the nG bit for user
    mappings that are actually present.

    Cc:
    Reviewed-by: Catalin Marinas
    Signed-off-by: Will Deacon
    Signed-off-by: Russell King

    Will Deacon
     
  • Many clocks that are used to provide sched_clock will reset during
    suspend. If read_sched_clock returns 0 after suspend, sched_clock will
    appear to jump forward. This patch resets cd.epoch_cyc to the current
    value of read_sched_clock during resume, which causes sched_clock() just
    after suspend to return the same value as sched_clock() just before
    suspend.

    In addition, during the window where epoch_ns has been updated before
    suspend, but epoch_cyc has not been updated after suspend, it is unknown
    whether the clock has reset or not, and sched_clock() could return a
    bogus value. Add a suspended flag, and return the pre-suspend epoch_ns
    value during this period.

    The new behavior is triggered by calling setup_sched_clock_needs_suspend
    instead of setup_sched_clock.

    Signed-off-by: Colin Cross
    Reviewed-by: Linus Walleij
    Signed-off-by: Russell King

    Colin Cross
     
  • Now that ARM has implemented its spinlocks with tickets we don't
    need to use the generic lockbreak algorithm. Remove the Kconfig
    from ARM so that we use the arch_spin_is_contended() definition
    from the asm header. This also saves a word in each lock because
    we don't need the break_lock member anymore.

    Signed-off-by: Stephen Boyd
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Stephen Boyd
     
  • VFPv4 support depends on the VFPv3 context save/restore code, so only
    advertise support in the hwcaps if the kernel can actually handle it.

    Cc: # 3.1+
    Signed-off-by: Will Deacon
    Signed-off-by: Russell King

    Will Deacon
     
  • Get rid of this warning..
    arch/arm/kernel/built-in.o(.text+0xac78): Section mismatch in reference
    from the function init_cpu_topology() to the function
    .init.text:parse_dt_topology()
    The function init_cpu_topology() references
    the function __init parse_dt_topology().
    This is often because init_cpu_topology lacks a __init
    annotation or the annotation of parse_dt_topology is wrong.

    Signed-off-by: Venkatraman S
    Signed-off-by: Russell King

    Venkatraman Sathiyamoorthy
     

10 Aug, 2012

4 commits

  • ntosd2_init_i2c walks the ntosd2_i2c_info array, which it expects to
    be populated with at least one member. gcc correctly warns about
    the out-of-bounds access here.

    Since this can not possibly work, it's better to disable i2c
    support entirely on this board.

    Without this patch, building davinci_all_defconfig results in:

    arch/arm/mach-davinci/board-neuros-osd2.c: In function 'davinci_ntosd2_init':
    arch/arm/mach-davinci/board-neuros-osd2.c:187:20: warning: array subscript is above array bounds [-Warray-bounds]

    Signed-off-by: Arnd Bergmann
    Acked-by: Sekhar Nori
    Cc: Kevin Hilman
    Cc: Andrey Porodko

    Arnd Bergmann
     
  • Disabling CONFIG_BUG creates an insane amount of build warnings, which
    makes it useless to check for building defconfigs to see if new
    warnings show up.

    Without this patch, building tct_hammer_defconfig results in:

    net/packet/af_packet.c: In function 'tpacket_rcv':
    net/packet/af_packet.c:1889:30: warning: 'hdrlen' may be used uninitialized in this function [-Wuninitialized]
    net/core/ethtool.c: In function 'ethtool_get_feature_mask':
    net/core/ethtool.c:213:1: warning: control reaches end of non-void function [-Wreturn-type]
    block/cfq-iosched.c: In function 'cfq_async_queue_prio':
    block/cfq-iosched.c:2914:1: warning: control reaches end of non-void function [-Wreturn-type]
    mm/bootmem.c: In function 'mark_bootmem':
    mm/bootmem.c:352:1: warning: control reaches end of non-void function [-Wreturn-type]
    net/core/dev.c: In function 'skb_warn_bad_offload':
    net/core/dev.c:1904:33: warning: unused variable 'null_features' [-Wunused-variable]
    drivers/mtd/chips/cfi_probe.c: In function 'cfi_chip_setup':
    include/linux/mtd/cfi.h:489:3: warning: 'r.x[0]' may be used uninitialized in this function [-Wuninitialized]
    include/linux/mtd/map.h:394:11: note: 'r.x[0]' was declared here
    include/linux/mtd/cfi.h:489:3: warning: 'r.x[0]' may be used uninitialized in this function [-Wuninitialized]
    (and many more)

    The size of vmlinux increases by 1.78% because of this:

    size obj-arm/vmlinux.nobug
    text data bss dec hex filename
    2108474 116916 55352 2280742 22cd26 obj-arm/vmlinux
    size obj-arm/vmlinux.bug
    text data bss dec hex filename
    2150804 116916 53696 2321416 236c08 obj-arm/vmlinux

    Signed-off-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Cc: Ben Dooks

    Arnd Bergmann
     
  • These patches all fix bugs that were newly introduced in v3.6-rc1
    and found because they cause a gcc warning with one of the ARM
    defconfigs. Most of them are harmless, but since we're trying
    to get rid of all warnings eventually, we can start with the ones
    that were not there before.

    * testing/new-warnings:
    omap-rng: fix use of SIMPLE_DEV_PM_OPS
    spi/s3c64xx: improve error handling
    mtd/omap2: fix dmaengine_slave_config error handling
    gpio: em: do not discard em_gio_irq_domain_cleanup
    ARM: exynos: exynos_pm_add_dev_to_genpd may be unused
    usb/ohci-omap: remove unused variable
    mfd/asic3: fix asic3_mfd_probe return value

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • exynos_pm_add_dev_to_genpd is used if one or more out of a large
    number of Kconfig symbols are enabled. However the new
    exynos_defconfig selects none of those, so the function becomes
    unused. Marking it so lets the compiler automatically discard
    it.

    Without this patch, building exynos_defconfig results in:

    arch/arm/mach-exynos/pm_domains.c:118:123: warning: 'exynos_pm_add_dev_to_genpd' defined but not used [-Wunused-function]

    Signed-off-by: Arnd Bergmann
    Acked-by: Thomas Abraham
    Acked-by: Kukjin Kim
    Cc: Rafael J. Wysocki

    Arnd Bergmann
     

09 Aug, 2012

9 commits

  • It is not currently possible to build the gpmi-nand driver without
    also building the mxs-dma driver. Clarify this Kconfig and enable
    both in the defconfig file so we can build it again with both enabled.

    drivers/built-in.o: In function `gpmi_dma_filter':
    clk-fixed-factor.c:(.text+0xafc18): undefined reference to `mxs_dma_is_apbh'
    make[1]: *** [vmlinux] Error 1
    make: *** [sub-make] Error 2

    Signed-off-by: Arnd Bergmann
    Acked-by: Dirk Behme
    Cc: Shawn Guo
    Cc: Sascha Hauer

    Arnd Bergmann
     
  • Without this patch, building integrator_defconfig results in:

    arch/arm/mach-integrator/core.c:150:1: warning: data definition has no type or storage class [enabled by default]
    arch/arm/mach-integrator/core.c:150:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
    arch/arm/mach-integrator/core.c:150:1: warning: parameter names (without types) in function declaration [enabled by default]

    Signed-off-by: Arnd Bergmann
    Acked-by: Linus Walleij
    Cc: Russell King

    Arnd Bergmann
     
  • The samsung PWM driver has moved to the new PWM subsystem, which
    changed the Kconfig symbol for that driver, but the rx1950 and
    gta02 boards still uses the old one.

    Without this patch, building s3c2410_defconfig results in:

    arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_lcd_power':
    arch/arm/mach-s3c24xx/mach-rx1950.c:430: undefined reference to `pwm_config'
    arch/arm/mach-s3c24xx/mach-rx1950.c:431: undefined reference to `pwm_disable'
    arch/arm/mach-s3c24xx/mach-rx1950.c:437: undefined reference to `pwm_config'
    arch/arm/mach-s3c24xx/mach-rx1950.c:438: undefined reference to `pwm_enable'
    arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_exit':
    arch/arm/mach-s3c24xx/mach-rx1950.c:504: undefined reference to `pwm_free'
    arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_init':
    arch/arm/mach-s3c24xx/mach-rx1950.c:487: undefined reference to `pwm_request'

    Signed-off-by: Arnd Bergmann
    Reported-by: Tushar Behera
    Cc: Kukjin Kim

    Arnd Bergmann
     
  • The sa1100 definition of the io_p2v macro has changed in v3.6, and this one
    file stopped working because of that.

    Without this patch, building hackkit_defconfig results in:

    arch/arm/mach-sa1100/leds-hackkit.c: In function 'hackkit_leds_event':
    arch/arm/mach-sa1100/leds-hackkit.c:39:4: error: implicit declaration of function 'IOMEM' [-Werror=implicit-function-declaration]

    Signed-off-by: Arnd Bergmann
    Cc: Russell King

    Arnd Bergmann
     
  • The EETI touchscreen asserts its IRQ line as soon as it has data in its
    internal buffers. The line is automatically deasserted once all data has
    been read via I2C. Hence, the driver has to monitor the GPIO line and
    cannot simply rely on the interrupt handler reception.

    In the current implementation of the driver, irq_to_gpio() is used to
    determine the GPIO number from the i2c_client's IRQ value.

    As irq_to_gpio() is not available on all platforms, this patch changes
    this and makes the driver ignore the passed in IRQ. Instead, a GPIO is
    added to the platform_data struct and gpio_to_irq is used to derive the
    IRQ from that GPIO. If this fails, bail out. The driver is only able to
    work in environments where the touchscreen GPIO can be mapped to an
    IRQ.

    Without this patch, building raumfeld_defconfig results in:

    drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_irq_active':
    drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]

    Signed-off-by: Daniel Mack
    Signed-off-by: Arnd Bergmann
    Cc: stable@vger.kernel.org (v3.2+)
    Cc: Dmitry Torokhov
    Cc: Sven Neumann
    Cc: linux-input@vger.kernel.org
    Cc: Haojian Zhuang

    Arnd Bergmann
     
  • Commit 3d55c29 "ARM: tegra: harmony: add regulator supply name and its
    input supply" was supposed to fix all the problems with regulators on
    Harmony. However, it appears that I only tested it when booting using
    board files, not when booting using device tree. This change fixes two
    problems with regulators when booting using device tree:

    1) That patch only created the vdd_sys regulator when booting using a
    board file. Since this is the root of the whole regulator tree, this
    caused no regulators to successfully initialize when booting using
    device tree. The registration of vdd_sys is moved to fix this.

    2) When booting use DT, the regulator core sets has_full_constraints,
    which in turn causes the core to turn off any regulators not marked
    as always on. Some of the affected regulators are required for basic
    system operation. To solve this, add always on constraints to all
    relevant regulators. This doesn't affect booting using a board file
    since nothing sets has_full_constraints in that case.

    Signed-off-by: Stephen Warren
    Signed-off-by: Arnd Bergmann

    Stephen Warren
     
  • Commit e9da6e9905e639b0f842a244bc770b48ad0523e9 (ARM: dma-mapping:
    remove custom consistent dma region) changed the way atomic allocations
    are handled. However, arm_dma_free() was not modified accordingly, and
    as a result freeing of atomic allocations does not work correctly when
    CMA is disabled. Memory is leaked and following WARNINGs are seen:

    [ 57.698911] ------------[ cut here ]------------
    [ 57.753518] WARNING: at arch/arm/mm/dma-mapping.c:263 arm_dma_free+0x88/0xe4()
    [ 57.811473] trying to free invalid coherent area: e0848000
    [ 57.867398] Modules linked in: sata_mv(-)
    [ 57.921373] [] (unwind_backtrace+0x0/0xf0) from [] (warn_slowpath_common+0x50/0x68)
    [ 58.033924] [] (warn_slowpath_common+0x50/0x68) from [] (warn_slowpath_fmt+0x30/0x40)
    [ 58.152024] [] (warn_slowpath_fmt+0x30/0x40) from [] (arm_dma_free+0x88/0xe4)
    [ 58.219592] [] (arm_dma_free+0x88/0xe4) from [] (dma_pool_destroy+0x100/0x148)
    [ 58.345526] [] (dma_pool_destroy+0x100/0x148) from [] (release_nodes+0x144/0x218)
    [ 58.475782] [] (release_nodes+0x144/0x218) from [] (__device_release_driver+0x60/0xb8)
    [ 58.614260] [] (__device_release_driver+0x60/0xb8) from [] (driver_detach+0xd8/0xec)
    [ 58.756527] [] (driver_detach+0xd8/0xec) from [] (bus_remove_driver+0x7c/0xc4)
    [ 58.901648] [] (bus_remove_driver+0x7c/0xc4) from [] (sys_delete_module+0x19c/0x220)
    [ 59.051447] [] (sys_delete_module+0x19c/0x220) from [] (ret_fast_syscall+0x0/0x2c)
    [ 59.207996] ---[ end trace 0745420412c0325a ]---
    [ 59.287110] ------------[ cut here ]------------
    [ 59.366324] WARNING: at arch/arm/mm/dma-mapping.c:263 arm_dma_free+0x88/0xe4()
    [ 59.450511] trying to free invalid coherent area: e0847000
    [ 59.534357] Modules linked in: sata_mv(-)
    [ 59.616785] [] (unwind_backtrace+0x0/0xf0) from [] (warn_slowpath_common+0x50/0x68)
    [ 59.790030] [] (warn_slowpath_common+0x50/0x68) from [] (warn_slowpath_fmt+0x30/0x40)
    [ 59.972322] [] (warn_slowpath_fmt+0x30/0x40) from [] (arm_dma_free+0x88/0xe4)
    [ 60.070701] [] (arm_dma_free+0x88/0xe4) from [] (dma_pool_destroy+0x100/0x148)
    [ 60.256817] [] (dma_pool_destroy+0x100/0x148) from [] (release_nodes+0x144/0x218)
    [ 60.445201] [] (release_nodes+0x144/0x218) from [] (__device_release_driver+0x60/0xb8)
    [ 60.634148] [] (__device_release_driver+0x60/0xb8) from [] (driver_detach+0xd8/0xec)
    [ 60.823623] [] (driver_detach+0xd8/0xec) from [] (bus_remove_driver+0x7c/0xc4)
    [ 61.013268] [] (bus_remove_driver+0x7c/0xc4) from [] (sys_delete_module+0x19c/0x220)
    [ 61.203472] [] (sys_delete_module+0x19c/0x220) from [] (ret_fast_syscall+0x0/0x2c)
    [ 61.393390] ---[ end trace 0745420412c0325b ]---

    The patch fixes this.

    Signed-off-by: Aaro Koskinen
    Signed-off-by: Marek Szyprowski

    Aaro Koskinen
     
  • The alignment mask is calculated incorrectly. Fixing the calculation
    makes strange hangs/lockups disappear during the boot with Amstrad E3
    and 3.6-rc1 kernel.

    Signed-off-by: Aaro Koskinen
    Signed-off-by: Marek Szyprowski

    Aaro Koskinen
     
  • Fix dma_contiguous_remap() so that it continues through all the
    regions, even after encountering one that is outside lowmem.
    Without this change, if you have two CMA regions, the first outside
    lowmem and the seocnd inside lowmem, only the second one will get
    set up in the MMU. Data written to that region then doesn't get
    automatically flushed from the cache into memory.

    Signed-off-by: Chris Brand
    [extended patch subject with 'fix' word]
    Signed-off-by: Marek Szyprowski

    Chris Brand
     

07 Aug, 2012

6 commits


04 Aug, 2012

2 commits

  • With this patch ocotp support will always be build into the kernel on mxs.
    Otherwise a DT-only kernel fails to link with:

    arch/arm/mach-mxs/mach-mxs.c:169: undefined reference to `mxs_get_ocotp'

    Signed-off-by: Marc Kleine-Budde
    Signed-off-by: Shawn Guo

    Marc Kleine-Budde
     
  • The CONFIG_DEFAULT_MMAP_MIN_ADDR was set to 65536 in mxs_defconfig,
    this caused severe breakage of userland applications since the upper
    limit for ARM is 32768. By default CONFIG_DEFAULT_MMAP_MIN_ADDR is
    set to 4096 and can also be changed via /proc/sys/vm/mmap_min_addr
    if needed.

    Quoting Russell King [1]:

    "4096 is also fine for ARM too. There's not much point in having
    defconfigs change it - that would just be pure noise in the config
    files."

    the CONFIG_DEFAULT_MMAP_MIN_ADDR can be removed from the defconfig
    altogether.

    This problem was introduced by commit cde7c41 (ARM: configs: add
    defconfig for mach-mxs).

    [1] http://marc.info/?l=linux-arm-kernel&m=134401593807820&w=2

    Signed-off-by: Marek Vasut
    Cc: stable@vger.kernel.org
    Cc: Russell King
    Cc: Wolfgang Denk
    Signed-off-by: Shawn Guo

    Marek Vasut
     

03 Aug, 2012

7 commits

  • Commit 88cde8b (ARM: dts: imx: update #interrupt-cells for gpio nodes)
    changes gpio #interrupt-cells from 1 to 2 without updating the users.
    It causes the gpio irq requesting call failing in client driver's probe
    function.

    Add the irq type cell for those gpio interrupt users to fix their
    driver probe failure.

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

    Shawn Guo
     
  • Since commit c7e963f (net/smsc911x: Add regulator support), the lan9220
    device tree probe fails on imx53-ard board, because the commit makes
    VDD33A and VDDVARIO supplies mandatory for the driver.

    Add a fixed dummy 3V3 supplying lan9220 to fix the regression.

    Cc: stable@vger.kernel.org
    Signed-off-by: Shawn Guo

    Shawn Guo
     
  • The imx5 common clock migration causes a regression with smsc911x
    driver on imx53-ard board, where a smsc lan9220 controller gets
    connected on imx53 with EIM interface. EIM needs clock emi_slow_gate
    to be functional. In the new imx5 clock driver, there is no use count
    incremented for the clock by enabling it, so the framework closes the
    clock at late init time and makes EIM stop working then.

    Enable emi_slow_gate in clock driver initialization to fix the
    regression.

    Cc: stable@vger.kernel.org
    Signed-off-by: Shawn Guo
    Acked-by: Sascha Hauer

    Shawn Guo
     
  • Fix the keypad clock name, in order to fix the following error:

    imx-keypad imx-keypad: failed to get keypad clock
    imx-keypad: probe of imx-keypad failed with error -2

    Signed-off-by: Fabio Estevam
    Signed-off-by: Sascha Hauer
    Cc: stable@vger.kernel.org

    Fabio Estevam
     
  • Fix registers range.

    Cc: stable@vger.kernel.org
    Signed-off-by: Fabio Estevam
    Acked-by: Marek Vasut
    Signed-off-by: Shawn Guo

    Fabio Estevam
     
  • Fix registers range.

    Cc: stable@vger.kernel.org
    Signed-off-by: Fabio Estevam
    Acked-by: Marek Vasut
    Signed-off-by: Shawn Guo

    Fabio Estevam
     
  • In order to have audio functional on mx6qsabrelite, it is necessary
    to setup the IOMUX for MX6Q_PAD_GPIO_0__CCM_CLKO pins as it provides
    the audio clock.

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

    Fabio Estevam