15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

13 Dec, 2014

1 commit

  • Pull trivial tree update from Jiri Kosina:
    "Usual stuff: documentation updates, printk() fixes, etc"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)
    intel_ips: fix a type in error message
    cpufreq: cpufreq-dt: Move newline to end of error message
    ps3rom: fix error return code
    treewide: fix typo in printk and Kconfig
    ARM: dts: bcm63138: change "interupts" to "interrupts"
    Replace mentions of "list_struct" to "list_head"
    kernel: trace: fix printk message
    scsi: mpt2sas: fix ioctl in comment
    zbud, zswap: change module author email
    clocksource: Fix 'clcoksource' typo in comment
    arm: fix wording of "Crotex" in CONFIG_ARCH_EXYNOS3 help
    gpio: msm-v1: make boolean argument more obvious
    usb: Fix typo in usb-serial-simple.c
    PCI: Fix comment typo 'COMFIG_PM_OPS'
    powerpc: Fix comment typo 'CONIFG_8xx'
    powerpc: Fix comment typos 'CONFiG_ALTIVEC'
    clk: st: Spelling s/stucture/structure/
    isci: Spelling s/stucture/structure/
    usb: gadget: zero: Spelling s/infrastucture/infrastructure/
    treewide: Fix company name in module descriptions
    ...

    Linus Torvalds
     

12 Dec, 2014

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is an unusually large pull request for MIPS - in parts because
    lots of patches missed the 3.18 deadline but primarily because some
    folks opened the flood gates.

    - Retire the MIPS-specific phys_t with the generic phys_addr_t.
    - Improvments for the backtrace code used by oprofile.
    - Better backtraces on SMP systems.
    - Cleanups for the Octeon platform code.
    - Cleanups and fixes for the Loongson platform code.
    - Cleanups and fixes to the firmware library.
    - Switch ATH79 platform to use the firmware library.
    - Grand overhault to the SEAD3 and Malta interrupt code.
    - Move the GIC interrupt code to drivers/irqchip
    - Lots of GIC cleanups and updates to the GIC code to use modern IRQ
    infrastructures and features of the kernel.
    - OF documentation updates for the GIC bindings
    - Move GIC clocksource driver to drivers/clocksource
    - Merge GIC clocksource driver with clockevent driver.
    - Further updates to bring the GIC clocksource driver up to date.
    - R3000 TLB code cleanups
    - Improvments to the Loongson 3 platform code.
    - Convert pr_warning to pr_warn.
    - Merge a bunch of small lantiq and ralink fixes that have been
    staged/lingering inside the openwrt tree for a while.
    - Update archhelp for IP22/IP32
    - Fix a number of issues for Loongson 1B.
    - New clocksource and clockevent driver for Loongson 1B.
    - Further work on clk handling for Loongson 1B.
    - Platform work for Broadcom BMIPS.
    - Error handling cleanups for TurboChannel.
    - Fixes and optimization to the microMIPS support.
    - Option to disable the FTLB.
    - Dump more relevant information on machine check exception
    - Change binfmt to allow arch to examine PT_*PROC headers
    - Support for new style FPU register model in O32
    - VDSO randomization.
    - BCM47xx cleanups
    - BCM47xx reimplement the way the kernel accesses NVRAM information.
    - Random cleanups
    - Add support for ATH25 platforms
    - Remove pointless locking code in some PCI platforms.
    - Some improvments to EVA support
    - Minor Alchemy cleanup"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (185 commits)
    MIPS: Add MFHC0 and MTHC0 instructions to uasm.
    MIPS: Cosmetic cleanups of page table headers.
    MIPS: Add CP0 macros for extended EntryLo registers
    MIPS: Remove now unused definition of phys_t.
    MIPS: Replace use of phys_t with phys_addr_t.
    MIPS: Replace MIPS-specific 64BIT_PHYS_ADDR with generic PHYS_ADDR_T_64BIT
    PCMCIA: Alchemy Don't select 64BIT_PHYS_ADDR in Kconfig.
    MIPS: lib: memset: Clean up some MIPS{EL,EB} ifdefery
    MIPS: iomap: Use __mem_{read,write}{b,w,l} for MMIO
    MIPS: fix indentation.
    MAINTAINERS: Add entry for BMIPS multiplatform kernel
    MIPS: Enable VDSO randomization
    MIPS: Remove a temporary hack for debugging cache flushes in SMTC configuration
    MIPS: Remove declaration of obsolete arch_init_clk_ops()
    MIPS: atomic.h: Reformat to fit in 79 columns
    MIPS: Apply `.insn' to fixup labels throughout
    MIPS: Fix microMIPS LL/SC immediate offsets
    MIPS: Kconfig: Only allow 32-bit microMIPS builds
    MIPS: signal.c: Fix an invalid cast in ISA mode bit handling
    MIPS: mm: Only build one microassembler that is suitable
    ...

    Linus Torvalds
     

10 Dec, 2014

3 commits

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "These are changes for drivers that are intimately tied to some SoC and
    for some reason could not get merged through the respective subsystem
    maintainer tree.

    The largest single change here this time around is the Tegra
    iommu/memory controller driver, which gets updated to the new iommu DT
    binding. More drivers like this are likely to follow for the
    following merge window, but we should be able to do those through the
    iommu maintainer.

    Other notable changes are:
    - reset controller drivers from the reset maintainer (socfpga, sti,
    berlin)
    - fixes for the keystone navigator driver merged last time
    - at91 rtc driver changes related to the at91 cleanups
    - ARM perf driver changes from Will Deacon
    - updates for the brcmstb_gisb driver"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
    clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers
    clocksource: arch_timer: Fix code to use physical timers when requested
    memory: Add NVIDIA Tegra memory controller support
    bus: brcmstb_gisb: Add register offset tables for older chips
    bus: brcmstb_gisb: Look up register offsets in a table
    bus: brcmstb_gisb: Introduce wrapper functions for MMIO accesses
    bus: brcmstb_gisb: Make the driver buildable on MIPS
    of: Add NVIDIA Tegra memory controller binding
    ARM: tegra: Move AHB Kconfig to drivers/amba
    amba: Add Kconfig file
    clk: tegra: Implement memory-controller clock
    serial: samsung: Fix serial config dependencies for exynos7
    bus: brcmstb_gisb: resolve section mismatch
    ARM: common: edma: edma_pm_resume may be unused
    ARM: common: edma: add suspend resume hook
    powerpc/iommu: Rename iommu_[un]map_sg functions
    rtc: at91sam9: add DT bindings documentation
    rtc: at91sam9: use clk API instead of relying on AT91_SLOW_CLOCK
    ARM: at91: add clk_lookup entry for RTT devices
    rtc: at91sam9: rework the Kconfig description
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform changes from Arnd Bergmann:
    "New and updated SoC support, notable changes include:

    - bcm:
    brcmstb SMP support
    initial iproc/cygnus support
    - exynos:
    Exynos4415 SoC support
    PMU and suspend support for Exynos5420
    PMU support for Exynos3250
    pm related maintenance
    - imx:
    new LS1021A SoC support
    vybrid 610 global timer support
    - integrator:
    convert to using multiplatform configuration
    - mediatek:
    earlyprintk support for mt8127/mt8135
    - meson:
    meson8 soc and l2 cache controller support
    - mvebu:
    Armada 38x CPU hotplug support
    drop support for prerelease Armada 375 Z1 stepping
    extended suspend support, now works on Armada 370/XP
    - omap:
    hwmod related maintenance
    prcm cleanup
    - pxa:
    initial pxa27x DT handling
    - rockchip:
    SMP support for rk3288
    add cpu frequency scaling support
    - shmobile:
    r8a7740 power domain support
    various small restart, timer, pci apmu changes
    - sunxi:
    Allwinner A80 (sun9i) earlyprintk support
    - ux500:
    power domain support

    Overall, a significant chunk of changes, coming mostly from the usual
    suspects: omap, shmobile, samsung and mvebu, all of which already
    contain a lot of platform specific code in arch/arm"

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (187 commits)
    ARM: mvebu: use the cpufreq-dt platform_data for independent clocks
    soc: integrator: Add terminating entry for integrator_cm_match
    ARM: mvebu: add SDRAM controller description for Armada XP
    ARM: mvebu: adjust mbus controller description on Armada 370/XP
    ARM: mvebu: add suspend/resume DT information for Armada XP GP
    ARM: mvebu: synchronize secondary CPU clocks on resume
    ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume
    ARM: mvebu: Armada XP GP specific suspend/resume code
    ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume
    ARM: mvebu: implement suspend/resume support for Armada XP
    clk: mvebu: add suspend/resume for gatable clocks
    bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration
    bus: mvebu-mbus: suspend/resume support
    clocksource: time-armada-370-xp: add suspend/resume support
    irqchip: armada-370-xp: Add suspend/resume support
    ARM: add lolevel debug support for asm9260
    ARM: add mach-asm9260
    ARM: EXYNOS: use u8 for val[] in struct exynos_pmu_conf
    power: reset: imx-snvs-poweroff: add power off driver for i.mx6
    ARM: imx: temporarily remove CONFIG_SOC_FSL from LS1021A
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Arnd Bergmann:
    "The remaining cleanups for 3.19 are to a large part result of
    devicetree conversion nearing completion on two other platforms
    besides AT91:

    - Like AT91, Renesas shmobile is in the process to migrate to DT and
    multiplatform, but using a different approach of doing it one SoC
    at a time. For 3.19, the r8a7791 platform and associated "Koelsch"
    board are considered complete and we remove the non-DT
    non-multiplatform support for this.

    - The ARM Versatile Express has supported DT and multiplatform for a
    long time, but we have still kept the legacy board files around,
    because not all drivers were fully working before. We have finally
    taken the last step to remove the board files.

    Other changes in this branch are preparation for the later branches or
    just unrelated to the more interesting changes:

    - The dts files for arm64 get moved into per-vendor directories for a
    clearer structure.

    - Some dead code removal (zynq, exynos, davinci, imx)

    - Using pr_*() macros more consistently instead of printk(KERN_*) in
    some platform code"

    * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (71 commits)
    ARM: zynq: Remove secondary_startup() declaration from header
    ARM: vexpress: Enable regulator framework when MMCI is in use
    ARM: vexpress: Remove non-DT code
    ARM: imx: Remove unneeded .map_io initialization
    ARM: dts: imx6qdl-sabresd: Fix the microphone route
    ARM: imx: refactor mxc_iomux_mode()
    ARM: imx: simplify clk_pllv3_prepare()
    ARM: imx6q: drop unnecessary semicolon
    ARM: imx: clean up machine mxc_arch_reset_init_dt reset init
    ARM: dts: imx6qdl-rex: Remove unneeded 'fsl,mode' property
    ARM: dts: imx6qdl-gw5x: Remove unneeded 'fsl,mode' property
    ARM: dts: imx6qdl-sabresd: Use IMX6QDL_CLK_CKO define
    ARM: at91: remove useless init_time for DT-only SoCs
    ARM: davinci: Remove redundant casts
    ARM: davinci: Use standard logging styles
    ARM: shmobile: r8a7779: Spelling/grammar s/entity/identity/, s/map/mapping/
    ARM: shmobile: sh7372: Spelling/grammar s/entity map/identity mapping/
    ARM: shmobile: sh73a0: Spelling/grammar s/entity map/identity mapping/
    ARM: EXYNOS: Remove unused static iomapping
    ARM: at91: fix build breakage due to legacy board removals
    ...

    Linus Torvalds
     

09 Dec, 2014

1 commit

  • Pull MFD updates from Lee Jones:
    "Changes to the core:
    - Honour PLATFORM_DEVID_NONE and PLATFORM_DEVID_AUTO dev IDs

    Changes to existing drivers:
    - IRQ additions/fixes; axp20x, da9063-core
    - Code simplification; i2c-dln2
    - Regmap additions/fixes; max77693
    - Error checking/handling improvements; dln2, db8500-prcmu
    - Bug fixes; dln2, wm8350-core
    - DT support/documentation; max77693, max77686, tps65217, twl4030-power,
    gpio-tc3589x
    - Decouple syscon interface from platform devices
    - Use MFD hotplug registration; rtsx_usb, viperboard, hid-sensor-hub
    - Regulator fixups; sec-core
    - Power Management additions/fixes; rts5227, tc6393xb
    - Remove relic/redundant code; ab8500-sysctrl, lpc_sch, max77693-private
    - Clean-up/coding style changes; tps65090
    - Clk additions/fixes; tc6393xb, tc6387xb, t7l66xb
    - Add USB-SPI support; dln2
    - Trivial changes; max14577, arizona-spi, lpc_sch, wm8997-tables, wm5102-tables
    wm5110-tables, axp20x, atmel-hlcdc, rtsx_pci

    New drivers/supported devices:
    - axp288 PMIC support added to axp20x
    - s2mps13 support added to sec-core
    - New support for Diolan DLN-2
    - New support for atmel-hlcdc"

    * tag 'mfd-for-linus-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (55 commits)
    mfd: rtsx: Add func to split u32 into register
    mfd: atmel-hlcdc: Add Kconfig option description and name
    mfd: da9063: Get irq base dynamically before registering device
    mfd: max14577: Fix obvious typo in company name in copyright
    mfd: axp20x: Constify axp20x_acpi_match and rid unused warning
    mfd: t7l66xb: prepare/unprepare clocks
    mfd: tc6387xb: prepare/unprepare clocks
    mfd: dln2: add support for USB-SPI module
    mfd: wm5110: Add missing registers for AIF2 channels 3-6
    mfd: tc3589x: get rid of static base
    mfd: arizona: Document HP_CTRL_1L and HP_CTRL_1R registers
    mfd: wm8997: Mark INTERRUPT_STATUS_2_MASK as readable
    mfd: tc6393xb: Prepare/unprepare clocks
    mfd: tps65090: Fix bonkers indenting strategy
    mfd: tc6393xb: Fail ohci suspend if full state restore is required
    mfd: lpc_sch: Don't call mfd_remove_devices()
    mfd: wm8350-core: Fix probable mask then right shift defect
    mfd: ab8500-sysctrl: Drop ab8500_restart
    mfd: db8500-prcmu: Provide sane error path values
    mfd: db8500-prcmu: Check return of devm_ioremap for error
    ...

    Linus Torvalds
     

04 Dec, 2014

1 commit

  • Pull "mvebu SoC suspend changes for v3.19" from Jason Cooper:

    - Armada 370/XP suspend/resume support

    - mvebu SoC driver suspend/resume support
    - irqchip
    - clocksource
    - mbus
    - clk

    * tag 'mvebu-soc-suspend-3.19' of git://git.infradead.org/linux-mvebu:
    ARM: mvebu: add SDRAM controller description for Armada XP
    ARM: mvebu: adjust mbus controller description on Armada 370/XP
    ARM: mvebu: add suspend/resume DT information for Armada XP GP
    ARM: mvebu: synchronize secondary CPU clocks on resume
    ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume
    ARM: mvebu: Armada XP GP specific suspend/resume code
    ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume
    ARM: mvebu: implement suspend/resume support for Armada XP
    clk: mvebu: add suspend/resume for gatable clocks
    bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration
    bus: mvebu-mbus: suspend/resume support
    clocksource: time-armada-370-xp: add suspend/resume support
    irqchip: armada-370-xp: Add suspend/resume support
    Documentation: dt-bindings: minimal documentation for MVEBU SDRAM controller

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

01 Dec, 2014

1 commit

  • This commit adds suspend/resume support for the gatable clock driver
    used on Marvell EBU platforms. When getting out of suspend, the
    Marvell EBU platforms go through the bootloader, which re-enables all
    gatable clocks. However, upon resume, the clock framework will not
    disable again all gatable clocks that are not used.

    Therefore, if the clock driver does not save/restore the state of the
    gatable clocks, all gatable clocks that are not claimed by any device
    driver will remain enabled after a resume. This is why this driver
    saves and restores the state of those clocks.

    Since clocks aren't real devices, we don't have the normal ->suspend()
    and ->resume() of the device model, and have to use the ->suspend()
    and ->resume() hooks of the syscore_ops mechanism. This mechanism has
    the unfortunate idea of not providing a way of passing private data,
    which requires us to change the driver to make the assumption that
    there is only once instance of the gatable clock control structure.

    Signed-off-by: Thomas Petazzoni
    Cc: Mike Turquette
    Cc: linux-kernel@vger.kernel.org
    Acked-by: Gregory CLEMENT
    Link: https://lkml.kernel.org/r/1416585613-2113-9-git-send-email-thomas.petazzoni@free-electrons.com
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     

28 Nov, 2014

2 commits

  • Now, with the CLCD DT support available, there is no
    more reason to keep the non-DT support for V2P-CA9.

    Removed, together with "some" supporting code. It was
    necessary to make PLAT_VERSATILE_SCHED_CLOCK optional
    and selected by the machines still interested in it.

    Acked-by: Mike Turquette
    Signed-off-by: Pawel Moll
    Signed-off-by: Arnd Bergmann

    Pawel Moll
     
  • …linux-samsung into next/soc

    Pull "Samsung PM 3rd updates for v3.19" from Kukjin Kim:

    - exynos3250
    : add PMU support

    - PMU refactoring
    : move restart code into PMU driver
    : move restart code for exynos440 into clk driver

    - use u8 for val[] in struct exynos_pmu_conf

    Note that this branch is based on tags/samsung-exynos-v3.19

    * tag 'samsung-pm-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: use u8 for val[] in struct exynos_pmu_conf
    ARM: EXYNOS: move restart code into pmu driver
    clk: exynos5440: move restart code into clock driver
    ARM: EXYNOS: add exynos3250 PMU support

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

26 Nov, 2014

1 commit


25 Nov, 2014

1 commit


24 Nov, 2014

1 commit

  • - Add clock lookups for APB devices.
    - Update clock relationship to make it more exact and clear.
    _____
    _______________________| |
    OSC ___/ | MUX |___ XXX CLK
    \___ PLL ___ XXX DIV ___| |
    |_____|

    Signed-off-by: Kelvin Cheung
    Cc: linux-kernel@vger.kernel.org
    Cc: mturquette@linaro.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8026/
    Signed-off-by: Ralf Baechle

    Kelvin Cheung
     

22 Nov, 2014

1 commit

  • Let's register restart handler for Exynos5440 from it's clock driver
    for restart functionality. So that we can cleanup restart hooks from
    machine specific file.

    CC: Sylwester Nawrocki
    CC: Tomasz Figa
    Signed-off-by: Pankaj Dubey
    Acked-by: Guenter Roeck
    Acked-by: Sylwester Nawrocki
    Signed-off-by: Kukjin Kim

    Pankaj Dubey
     

20 Nov, 2014

1 commit


18 Nov, 2014

5 commits

  • Trivial fix to check the A bit of CCCR for memory frequency
    calculations, where the shift of the bit index was missing, triggering a
    wrong calculation of memory frequency.

    Signed-off-by: Robert Jarzmik
    Signed-off-by: Michael Turquette

    Robert Jarzmik
     
  • Commit 79c6ab509558 (clk: divider: add CLK_DIVIDER_READ_ONLY flag) in
    v3.16 introduced the CLK_DIVIDER_READ_ONLY flag which caused the
    recalc_rate() and round_rate() clock callbacks to be omitted.

    However using this flag has the unfortunate side effect of causing the
    clock recalculation code when a clock rate change is attempted to always
    treat it as a pass-through clock, i.e. with a fixed divide of 1, which
    may not be the case. Child clock rates are then recalculated using the
    wrong parent rate.

    Therefore instead of dropping the recalc_rate() and round_rate()
    callbacks, alter clk_divider_bestdiv() to always report the current
    divider as the best divider so that it is never altered.

    For me the read only clock was the system clock, which divided the PLL
    rate by 2, from which both the UART and the SPI clocks were divided.
    Initial setting of the UART rate set it correctly, but when the SPI
    clock was set, the other child clocks were miscalculated. The UART clock
    was recalculated using the PLL rate as the parent rate, resulting in a
    UART new_rate of double what it should be, and a UART which spewed forth
    garbage when the rate changes were propagated.

    Signed-off-by: James Hogan
    Cc: Thomas Abraham
    Cc: Tomasz Figa
    Cc: Max Schwarz
    Cc: # v3.16+
    Acked-by: Haojian Zhuang
    Signed-off-by: Michael Turquette

    James Hogan
     
  • There is a duplication in a clock name for apq8084 platform that causes
    the following warning: "RBCPR_CLK_SRC" redefined

    Resolve this by adding a MMSS_ prefix to this clock and making its name
    coherent with msm8974 platform.

    Fixes: 2b46cd23a5a2 ("clk: qcom: Add APQ8084 Multimedia Clock Controller (MMCC) support")
    Signed-off-by: Georgi Djakov
    Reviewed-by: Stephen Boyd
    Signed-off-by: Michael Turquette

    Georgi Djakov
     
  • First check for rate == 0 in set_rate and round_rate to avoid div by zero.
    Then, in order to get the closest rate, round all divisions to the closest
    result instead of rounding them down.

    Signed-off-by: Boris Brezillon
    Acked-by: Nicolas Ferre
    Signed-off-by: Michael Turquette

    Boris Brezillon
     
  • at91rm9200_clk_usb_set_rate might fail depending on the requested rate,
    because the parent_rate / rate remainder is not necessarily zero.
    Moreover, when rounding down the calculated rate we might alter the
    divisor calculation and end up with an invalid divisor.

    To solve those problems, accept a non zero remainder, and always round
    division to the closest result.

    Signed-off-by: Boris Brezillon
    Reported-by: Andreas Henriksson
    Tested-by: Andreas Henriksson
    Acked-by: Nicolas Ferre
    Signed-off-by: Michael Turquette

    Boris Brezillon
     

14 Nov, 2014

1 commit

  • Currently, DPLLs are hiding the gory details of switching parent
    within set_rate, which confuses the common clock code and is wrong.
    Fixed by applying the new determine_rate() and set_rate_and_parent()
    functionality to any clock-ops previously using the broken approach.
    This patch also removes the broken legacy code.

    Signed-off-by: Tero Kristo
    Signed-off-by: Paul Walmsley

    Tero Kristo
     

29 Oct, 2014

1 commit


20 Oct, 2014

5 commits


15 Oct, 2014

1 commit

  • Pull clock tree updates from Mike Turquette:
    "The clk tree changes for 3.18 are dominated by clock drivers. Mostly
    fixes and enhancements to existing drivers as well as new drivers.
    This tag contains a bit more arch code than I usually take due to some
    OMAP2+ changes. Additionally it contains the restart notifier
    handlers which are merged as a dependency into several trees.

    The PXA changes are the only messy part. Due to having a stable tree
    I had to revert one patch and follow up with one more fix near the tip
    of this tag. Some dead code is introduced but it will soon become
    live code after 3.18-rc1 is released as the rest of the PXA family is
    converted over to the common clock framework.

    Another trend in this tag is that multiple vendors have started to
    push the complexity of changing their CPU frequency into the clock
    driver, whereas this used to be done in CPUfreq drivers.

    Changes to the clk core include a generic gpio-clock type and a
    clk_set_phase() function added to the top-level clk.h api. Due to
    some confusion on the fbdev mailing list the kernel boot parameters
    documentation was updated to further explain the clk_ignore_unused
    parameter, which is often required by users of the simplefb driver.

    Finally some fixes to the locking around the clock debugfs stuff was
    done to prevent deadlocks when interacting with other subsystems."

    * tag 'clk-for-linus-3.18' of git://git.linaro.org/people/mike.turquette/linux: (99 commits)
    clk: pxa clocks build system fix
    Revert "arm: pxa: Transition pxa27x to clk framework"
    clk: samsung: register restart handlers for s3c2412 and s3c2443
    clk: rockchip: add restart handler
    clk: rockchip: rk3288: i2s_frac adds flag to set parent's rate
    doc/kernel-parameters.txt: clarify clk_ignore_unused
    arm: pxa: Transition pxa27x to clk framework
    dts: add devicetree bindings for pxa27x clocks
    clk: add pxa27x clock drivers
    arm: pxa: add clock pll selection bits
    clk: dts: document pxa clock binding
    clk: add pxa clocks infrastructure
    clk: gpio-gate: Ensure gpiod_ APIs are prototyped
    clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe
    clk: ti: LLVMLinux: Move __init outside of type definition
    clk: ti: consider the fact that of_clk_get() might return an error
    clk: ti: dra7-atl-clock: fix a memory leak
    clk: ti: change clock init to use generic of_clk_init
    clk: hix5hd2: add I2C clocks
    clk: hix5hd2: add watchdog0 clocks
    ...

    Linus Torvalds
     

14 Oct, 2014

2 commits

  • Pull kbuild changes from Michal Marek:
    - fix for handling dependencies of *-objs targets by Masahiro Yamada
    - lots of cleanups in the kbuild machinery, also by Masahiro
    - fixes for the kconfig build to use an UTF-8 capable ncurses library
    if possible and to build on not-so-standard installs
    - some more minor fixes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Do not reference *-n variables in the Makefile
    kbuild: simplify build, clean, modbuiltin shorthands
    kbuild: arm: Do not define "comma" twice
    kbuild: remove obj-n and lib-n handling
    kbuild: remove unnecessary variable initializaions
    kbuild: remove unnecessary "obj- := dummy.o" trick
    kbuild: handle C=... and M=... after entering into build directory
    kbuild: use $(Q) for sub-make target
    kbuild: fake the "Entering directory ..." message more simply
    kconfig/lxdialog: get ncurses CFLAGS with pkg-config
    kconfig: nconfig: fix multi-byte UTF handling
    kconfig: lxdialog: fix spelling
    kbuild: Make scripts executable
    kbuild: remove redundant clean-files from scripts/kconfig/Makefile
    kbuild: refactor script/kconfig/Makefile
    kbuild: handle the dependency of multi-objs hostprogs appropriately
    kbuild: handle multi-objs dependency appropriately

    Linus Torvalds
     
  • This is the initial version of the RK808 PMIC. This is a power management
    IC for multimedia products. It provides regulators that are able to
    supply power to processor cores and other components. The chip provides
    other modules including RTC, Clockout.

    Signed-off-by: Chris Zhong
    Reviewed-by: Doug Anderson
    Tested-by: Doug Anderson
    Tested-by: Heiko Stuebner
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Samuel Ortiz says:
    Cc: Alessandro Zummo
    Cc: Olof Johansson
    Cc: Dmitry Torokhov
    Cc: Javier Martinez Canillas
    Cc: Kever Yang
    Cc: Li Zhong
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Zhong
     

09 Oct, 2014

2 commits

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "These are changes for drivers that are intimately tied to some SoC and
    for some reason could not get merged through the respective subsystem
    maintainer tree.

    Most of the new code is for the Keystone Navigator driver, which is
    new base support that is going to be needed for their hardware
    accelerated network driver and other units.

    Most of the commits are for moving old code around from at91 and omap
    for things that are done in device drivers nowadays.

    - at91: move reset, poweroff, memory and clocksource code into
    drivers directories
    - socfpga: add edac driver (through arm-soc, as requested by Boris)
    - omap: move omap-intc code to drivers/irqchip
    - sunxi: added an RTC driver for sun6i
    - omap: mailbox driver related changes
    - keystone: support for the "Navigator" component
    - versatile: new reboot, led and soc drivers"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
    bus: arm-ccn: Fix spurious warning message
    leds: add device tree bindings for register bit LEDs
    soc: add driver for the ARM RealView
    power: reset: driver for the Versatile syscon reboot
    leds: add a driver for syscon-based LEDs
    drivers/soc: ti: fix build break with modules
    MAINTAINERS: Add Keystone Multicore Navigator drivers entry
    soc: ti: add Keystone Navigator DMA support
    Documentation: dt: soc: add Keystone Navigator DMA bindings
    soc: ti: add Keystone Navigator QMSS driver
    Documentation: dt: soc: add Keystone Navigator QMSS bindings
    rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc
    rtc: sun6i: Add sun6i RTC driver
    irqchip: omap-intc: remove unnecessary comments
    irqchip: omap-intc: correct maximum number or MIR registers
    irqchip: omap-intc: enable TURBO idle mode
    irqchip: omap-intc: enable IP protection
    irqchip: omap-intc: remove unnecesary of_address_to_resource() call
    irqchip: omap-intc: comment style cleanup
    irqchip: omap-intc: minor improvement to omap_irq_pending()
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform changes from Arnd Bergmann:
    "New and updated SoC support. Among the things new for this release
    are:

    - at91: Added support for the new SAMA5D4 SoC, following the earlier
    SAMA5D3
    - bcm: Added support for BCM63XX family of DSL SoCs
    - hisi: Added support for HiP04 server-class SoC
    - meson: Initial support for the Amlogic Meson6 (aka 8726MX) platform
    - shmobile: added support for new r8a7794 (R-Car E2) automotive SoC

    Noteworthy changes to existing SoC support are:

    - imx: convert i.MX1 to device tree
    - omap: lots of power management work
    - omap: base support to enable moving to standard UART driver
    - shmobile: lots of progress for multiplatform support, still
    ongoing"

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (171 commits)
    ARM: hisi: depend on ARCH_MULTI_V7
    CNS3xxx: Fix debug UART.
    ARM: at91: fix nommu build regression
    ARM: meson: add basic support for MesonX SoCs
    ARM: meson: debug: add debug UART for earlyprintk support
    irq: Export handle_fasteoi_irq
    ARM: mediatek: Add earlyprintk support for mt6589
    ARM: hisi: Fix platmcpm compilation when ARMv6 is selected
    ARM: debug: fix alphanumerical order on debug uarts
    ARM: at91: document Atmel SMART compatibles
    ARM: at91: add sama5d4 support to sama5_defconfig
    ARM: at91: dt: add device tree file for SAMA5D4ek board
    ARM: at91: dt: add device tree file for SAMA5D4 SoC
    ARM: at91: SAMA5D4 SoC detection code and low level routines
    ARM: at91: introduce basic SAMA5D4 support
    clk: at91: add a driver for the h32mx clock
    ARM: pxa3xx: provide specific platform_devices for all ssp ports
    ARM: pxa: ssp: provide platform_device_id for PXA3xx
    ARM: OMAP4+: Remove static iotable mappings for SRAM
    ARM: OMAP4+: Move SRAM data to DT
    ...

    Linus Torvalds
     

06 Oct, 2014

1 commit

  • Fix the building of pxa clock drivers so that the files are actually
    compiled if and only if COMMON_CLK was selected by the architecture.

    This prevents conflicts with mach-pxa clock legacy implementation.

    Signed-off-by: Robert Jarzmik
    Signed-off-by: Mike Turquette

    Robert Jarzmik
     

04 Oct, 2014

1 commit


02 Oct, 2014

2 commits


01 Oct, 2014

3 commits

  • S3C2412, S3C2443 and their derivatives contain a special software-reset
    register in their system-controller.

    Therefore register a restart handler for those.

    Tested on a s3c2416-based board, s3c2412 compile-tested.

    Signed-off-by: Heiko Stuebner
    Signed-off-by: Guenter Roeck

    Heiko Stübner
     
  • Add infrastructure to write the correct value to the restart register and
    register the restart notifier for both rk3188 (including rk3066) and rk3288.

    Signed-off-by: Heiko Stuebner
    Signed-off-by: Guenter Roeck

    Heiko Stübner
     
  • The relation of i2s nodes as follows:
    i2s_src 0 0 594000000 0
    i2s_frac 0 0 11289600 0
    i2s_pre 0 0 11289600 0
    sclk_i2s0 0 0 11289600 0
    i2s0_clkout 0 0 11289600 0
    hclk_i2s0 1 1 99000000 0

    sclk_i2s0 is the master clock, when to set rate of sclk_i2s0, should
    allow to set its parent's rate, by add flag CLK_SET_RATE_PARENT for
    "i2s_frac", "i2s_pre", "i2s0_clkout" and "sclk_i2s0".

    Tested on rk3288 board using max98090, with command "aplay "

    Change-Id: I12faad082566532b65a7de8c0a6845e1c17870e6
    Signed-off-by: Jianqun
    Signed-off-by: Heiko Stuebner

    Jianqun