1. 29 May, 2014 1 commit
    • Olof Johansson's avatar
      Merge tag 'samsung-cleanup' of... · a52d35c9
      Olof Johansson authored
      Merge tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
      
      Merge "Samsung cleanup for v3.16" from Kukjin Kim:
      
      - use a common macro v7_exit_coherency_flush macro instead of local function
      - cleanup mach-exynos/Makefile and remove inclusion plat/cpu.h in mach-exynos
      - migrate exynos macros from plat-samsung to mach-exynos
      - cleanup s3c24xx debug macro/earlyprintk to remove arch dependency
      - fixed compilation error for cpufreq due to moving header in this branch
        : use of_machine_is_compatible() instead of soc_is_exynos...()
      
      Note that based on tags/samsung-clk and tags/samsung-fixes.
      
      * tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        cpufreq: exynos: Fix the compile error
        ARM: S3C24XX: move debug-macro.S into the common space
        ARM: S3C24XX: use generic DEBUG_UART_PHY/_VIRT in debug macro
        ARM: S3C24XX: trim down debug uart handling
        ARM: compressed/head.S: remove s3c24xx special case
        ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
        ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
        ARM: EXYNOS: Remove exynos_subsys registration
        ARM: EXYNOS: Remove duplicate lines in Makefile
        ARM: EXYNOS: use v7_exit_coherency_flush macro for cache disabling
        ARM: dts: Remove g2d_pd node for exynos5420
        ARM: dts: Remove mau_pd node for exynos5420
        ARM: exynos_defconfig: enable HS-I2C to fix for mmc partition mount
        ARM: dts: disable MDMA1 node for exynos5420
        ARM: EXYNOS: fix the secondary CPU boot of exynos4212
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      a52d35c9
  2. 26 May, 2014 4 commits
    • Olof Johansson's avatar
      clk: samsung: fix build error · 708cec66
      Olof Johansson authored
      "clk: samsung: clk-s3c2410-dlck: do not use PNAME macro as it declares
      __initdata" had a typo in it which caused build failure. Trivial fix.
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      708cec66
    • Olof Johansson's avatar
      Merge tag 'omap-for-v3.16/prcm-signed' of... · ae0cda2f
      Olof Johansson authored
      Merge tag 'omap-for-v3.16/prcm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
      
      Merge "ARM: omap prcm changes for v3.16 merge window" from Tony Lindgren:
      
      PRCM changes for omaps. I ended up merging these with the
      big endian changes because of the merge conflicts for read
      and write operations. Via Paul Walmsley <paul@pwsan.com>:
      
      Some OMAP PRCM cleanup patches.  These help prepare to convert the PRCM
      code into drivers.
      
      Basic build, boot, and PM test results are available here:
      
      http://www.pwsan.com/omap/testlogs/prcm-cleanup-v3.16/20140515213244/
      
      * tag 'omap-for-v3.16/prcm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP4: PRCM: remove references to cm-regbits-44xx.h from PRCM core files
        ARM: OMAP3/4: PRM: add support of late_init call to prm_ll_ops
        ARM: OMAP3/OMAP4: PRM: add prm_features flags and add IO wakeup under it
        ARM: OMAP3/4: PRM: provide io chain reconfig function through irq setup
        ARM: OMAP2+: PRM: remove unnecessary cpu_is_XXX calls from prm_init / exit
        ARM: OMAP2+: PRCM: cleanup some header includes
        ARM: OMAP4: CM: use cm_base* in register address calculations
        ARM: OMAP2/3: CM: remove some external dependencies
        ARM: OMAP2+: prcm: add omap_test_timeout to prcm-common.h
        ARM: OMAP3: CM: remove a few OMAP34XX_CM_REGADDR defines
        ARM: OMAP: debug-leds: raw read and write endian fix
        ARM: OMAP: counter-32k: raw read and write endian fix
        ARM: OMAP: dmtimer: raw read and write endian fix
        ARM: OMAP2+: raw read and write endian fix
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      ae0cda2f
    • Arnd Bergmann's avatar
      ARM: vexpress: refine dependencies for new code · b33cdd28
      Arnd Bergmann authored
      The versatile express changes for 3.16 introduced a number of
      build regressions for randconfig kernels by not tracking dependencies
      between the components right.
      
      This patch tries to rectify that:
      
      * the mach-vexpress code cannot link without the syscfg driver,
        which in turn needs MFD_VEXPRESS_SYSREG
      * various drivers call devm_regmap_init_vexpress_config(), which
        has to be exported so it can be used by loadable modules
      * the configuration bus uses OF DT helper functions that are not
        available to platforms disable CONFIG_OF
      * The sysreg driver exports GPIOs through gpiolib, which can
        be disabled on some platforms.
      * The clocksource code cannot be built on platforms that don't
        use modern timekeeping but rely on gettimeoffset.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      b33cdd28
    • Heiko Stübner's avatar
      clk: samsung: clk-s3c2410-dlck: do not use PNAME macro as it declares __initdata · 5a3babfc
      Heiko Stübner authored
      The originally used PNAME macro from the core samsung clock infrastructure
      declares the created array as initdata, creating section mismatch warnings
      in the dclk driver.
      
      Thus declare them directly, removing these warning.
      Reported-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      5a3babfc
  3. 25 May, 2014 11 commits
  4. 23 May, 2014 1 commit
    • Arnd Bergmann's avatar
      Merge tag 'for-3.16/bcm-cleanup' of git://github.com/broadcom/mach-bcm into next/cleanup · c40f0128
      Arnd Bergmann authored
      * Clean up mach-bcm config and build targets
      * Clean up bcm281xx/21664 SMC code
      * Clean up bcm281xx/21664 L2C code
      
      * tag 'for-3.16/bcm-cleanup' of git://github.com/broadcom/mach-bcm:
        ARM: bcm: rename "kona.h" and "kona.c"
        ARM: bcm: rewrite commentary for bcm_kona_do_smc()
        ARM: bcm: use inline assembly for "smc" request
        ARM: bcm: tidy up a few includes
        ARM: bcm: config option for l2 cache support
        ARM: bcm: don't special-case CPU 0 in bcm_kona_smc()
        ARM: bcm: have bcm_kona_smc() return request result
        ARM: bcm: clean up SMC code
        ARM: bcm: err, don't BUG() on SMC init failures
        ARM: bcm: use memory accessors for ioremapped area
        ARM: bcm: clean up config and build targets
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      
      Conflicts:
      	arch/arm/mach-bcm/Kconfig
      c40f0128
  5. 22 May, 2014 1 commit
    • Olof Johansson's avatar
      Merge tag 's3c24xx-clk' of... · 28d1079c
      Olof Johansson authored
      Merge tag 's3c24xx-clk' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
      
      Merge "Samsung S3C24XX updates for 3.16" from Kukjin Kim:
      
      Samsung S3C24XX to use the common clock framework
      - S3C2412, S3C2413, S3C2416 and S3C2443 to use CCF
      - S3C2410, S3C2440, S3C2442 to use CCF
      - Remove legacy samsung clock from mach-s3c24xx/
      
      - Some of them are missed from previous pull-request
      - Clock related sutff got ack from Mike and Tomasz
      - Created the last commit due to missing changes
        during re-sorting because this branch is provided
        as a base to samsung clk tree.
      
      * tag 's3c24xx-clk' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (23 commits)
        ARM: S3C24XX: fix merge conflict
        ARM: S3C24XX: remove SAMSUNG_CLOCK remnants after ccf conversion
        ARM: S3C24XX: remove legacy clock code
        ARM: S3C24XX: convert s3c2410 to common clock framework
        ARM: S3C24XX: convert s3c2440 and s3c2442 to common clock framework
        ARM: S3C24XX: add platform code for conversion to the common clock framework
        clk: samsung: add clock controller driver for s3c2410, s3c2440 and s3c2442
        dt-bindings: add documentation for s3c2410 clock controller
        ARM: S3C24XX: enable usage of common dclk if common clock framework is enabled
        clk: samsung: add clock driver for external clock outputs
        ARM: S3C24XX: cpufreq-utils: don't write raw values to MPLLCON when using ccf
        ARM: S3C24XX: convert s3c2412 to common clock framework
        clk: samsung: add clock controller driver for s3c2412
        dt-bindings: add documentation for s3c2412 clock controller
        clk: samsung: add plls used by the early s3c24xx cpus
        ARM: S3C24XX: only store clock registers when old clock code is active
        ARM: S3C24XX: Convert s3c2416 and s3c2443 to common clock framework
        ARM: dts: add clock data for s3c2416
        ARM: S3C24XX: prevent conflicts between ccf and non-ccf s3c24xx-socs
        clk: samsung: add clock-driver for s3c2416, s3c2443 and s3c2450
        ...
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      28d1079c
  6. 21 May, 2014 1 commit
    • Olof Johansson's avatar
      Merge tag 'vexpress/updates-for-3.16' of... · 486ad2ed
      Olof Johansson authored
      Merge tag 'vexpress/updates-for-3.16' of git://git.linaro.org/people/pawel.moll/linux into next/cleanup
      
      Merge "ARM Versatile Express updates for 3.16" from Pawel Moll:
      
      This series reworks VE's platform configuration infrastructure by:
      
      - making it possible to instantiate selected devices from the
        Device Tree, prior to massive population,
      - converting custom "func" API into standard "regmap",
      - splitting the existing MFD driver into smaller ones and placing
        them into relevant directories.
      
      The common clock framework driver can now be selected individually
      (mostly for arm64 sake, where some of them are not used at all).
      
      It also simplifies the machine code, by:
      
      - moving the shed clock info clocksource driver,
      - simplifying SMP operations to base them entirely of the DT data,
      - moving platform ID checks into relevant driver.
      
      * tag 'vexpress/updates-for-3.16' of git://git.linaro.org/people/pawel.moll/linux:
        ARM: vexpress: move HBI check to sysreg driver
        ARM: vexpress: Simplify SMP operations for DT-powered system
        ARM: vexpress: remove redundant vexpress_dt_cpus_num to get cpu count
        clocksource: Sched clock source for Versatile Express
        clk: versatile: Split config options for sp810 and vexpress_osc
        mfd: vexpress: Define the device as MFD cells
        mfd: syscon: Add platform data with a regmap config name
        mfd: vexpress: Convert custom func API to regmap
        of: Keep track of populated platform devices
        + Linux 3.15-rc5
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      486ad2ed
  7. 20 May, 2014 1 commit
  8. 16 May, 2014 10 commits
  9. 15 May, 2014 9 commits
    • Pawel Moll's avatar
      ARM: vexpress: move HBI check to sysreg driver · 6b2c31c7
      Pawel Moll authored
      The last reason for static memory mapping is the HBI (board
      identification number) check early in the machine code.
      
      Moving the check to the sysreg driver makes it possible to
      completely remove the early mapping and init functions.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Acked-by: default avatarLee Jones <lee.jones@linaro.org>
      6b2c31c7
    • Pawel Moll's avatar
      ARM: vexpress: Simplify SMP operations for DT-powered system · d2606f81
      Pawel Moll authored
      As all cores must be properly described in the Device Tree,
      there is no point in getting their numbers from SCU on
      A5/A9 platforms. This significantly simplifies the code,
      removing the need for flat-tree scanning and early static
      mapping.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      d2606f81
    • Sudeep KarkadaNagesha's avatar
      ARM: vexpress: remove redundant vexpress_dt_cpus_num to get cpu count · dcdea629
      Sudeep KarkadaNagesha authored
      arm_dt_init_cpu_maps parses the device tree, validates and sets the
      cpu_possible_mask appropriately. It is unnecessary to do another DT
      parse to get the number of cpus, use num_possible_cpus instead.
      
      This patch also removes setting cpu_present_mask as platforms should
      only re-initialize it in smp_prepare_cpus() if present != possible.
      Signed-off-by: default avatarSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      dcdea629
    • Pawel Moll's avatar
      clocksource: Sched clock source for Versatile Express · 220e2a8d
      Pawel Moll authored
      This patch adds a trival sched clock source using free
      running, 24MHz clocked counter present in the ARM Ltd.
      reference platforms (Versatile, RealView, Versatile
      Express) System Registers block.
      
      This code replaces the call in the VE machine code.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      220e2a8d
    • Pawel Moll's avatar
      clk: versatile: Split config options for sp810 and vexpress_osc · 5ee2b877
      Pawel Moll authored
      Move the Kconfig entry for Versatile (& Express) clock drivers
      into a separate file and add individual options for sp810
      and vexpress_osc drivers, as they are optional in some
      configurations and may have separate dependencies.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Acked-by: default avatarMike Turquette <mturquette@linaro.org>
      5ee2b877
    • Pawel Moll's avatar
      mfd: vexpress: Define the device as MFD cells · 974cc7b9
      Pawel Moll authored
      This patch - finally, after over 6 months! :-( - addresses
      Samuel's request to split the vexpress-sysreg driver into
      smaller portions and define the device in a form of MFD
      cells:
      
      * LEDs code has been completely removed and replaced with
        "gpio-leds" nodes in the tree (referencing dedicated
        GPIO subnodes in sysreg - bindings documentation updated);
        this also better fits the reality as some variants of the
        motherboard don't have all the LEDs populated
      
      * syscfg bridge code has been extracted into a separate
        driver (placed in drivers/misc for no better place)
      
      * all the ID & MISC registers are defined as sysconf
        making them available for other drivers should they need
        to use them (and also to the user via /sys/kernel/debug/regmap
        which can be helpful in platform debugging)
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Acked-by: default avatarLee Jones <lee.jones@linaro.org>
      974cc7b9
    • Pawel Moll's avatar
      mfd: syscon: Add platform data with a regmap config name · 29f9b6cf
      Pawel Moll authored
      Define syscon platform data structure that can be used
      to define a regmap config name. This is particularly useful
      in the regmap debugfs when there is more than one syscon
      device registered, to distinguish the register blocks.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Acked-by: default avatarLee Jones <lee.jones@linaro.org>
      29f9b6cf
    • Pawel Moll's avatar
      mfd: vexpress: Convert custom func API to regmap · 3b9334ac
      Pawel Moll authored
      Components of the Versatile Express platform (configuration
      microcontrollers on motherboard and daughterboards in particular)
      talk to each other over a custom configuration bus. They
      provide miscellaneous functions (from clock generator control
      to energy sensors) which are represented as platform devices
      (and Device Tree nodes). The transactions on the bus can
      be generated by different "bridges" in the system, some
      of which are universal for the whole platform (for the price
      of high transfer latencies), others restricted to a subsystem
      (but much faster).
      
      Until now drivers for such functions were using custom "func"
      API, which is being replaced in this patch by regmap calls.
      This required:
      
      * a rework (and move to drivers/bus directory, as suggested
        by Samuel and Arnd) of the config bus core, which is much
        simpler now and uses device model infrastructure (class)
        to keep track of the bridges; non-DT case (soon to be
        retired anyway) is simply covered by a special device
        registration function
      
      * the new config-bus driver also takes over device population,
        so there is no need for special matching table for
        of_platform_populate nor "simple-bus" hack in the arm64
        model dtsi file (relevant bindings documentation has
        been updated); this allows all the vexpress devices
        fit into normal device model, making it possible
        to remove plenty of early inits and other hacks in
        the near future
      
      * adaptation of the syscfg bridge implementation in the
        sysreg driver, again making it much simpler; there is
        a special case of the "energy" function spanning two
        registers, where they should be both defined in the tree
        now, but backward compatibility is maintained in the code
      
      * modification of the relevant drivers:
      
        * hwmon - just a straight-forward API change
        * power/reset driver - API change
        * regulator - API change plus error handling
          simplification
        * osc clock driver - this one required larger rework
          in order to turn in into a standard platform driver
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Acked-by: default avatarMark Brown <broonie@linaro.org>
      Acked-by: default avatarLee Jones <lee.jones@linaro.org>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Acked-by: default avatarMike Turquette <mturquette@linaro.org>
      3b9334ac
    • Pawel Moll's avatar
      of: Keep track of populated platform devices · c6e126de
      Pawel Moll authored
      In "Device Tree powered" systems, platform devices are usually massively
      populated with of_platform_populate() call, executed at some level of
      initcalls, either by generic architecture or by platform-specific code.
      
      There are situations though where certain devices must be created (and
      bound with drivers) before all the others. This presents a challenge,
      as devices created explicitly would be created again by
      of_platform_populate().
      
      This patch tries to solve that issue in a generic way, adding a
      "populated" flag for a DT node description. Subsequent
      of_platform_populate() will skip such nodes (and its children) in
      a similar way to the non-available ones.
      
      This patch also adds of_platform_depopulate() as an operation
      complementary to the _populate() one. It removes a platform or an amba
      device populated from the Device Tree, together with its all children
      (leaving, however, devices without associated of_node untouched)
      clearing the "populated" flag on the way.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarGrant Likely <grant.likely@linaro.org>
      c6e126de
  10. 14 May, 2014 1 commit