- 10 6月, 2015 1 次提交
-
-
由 Guo Zeng 提交于
all devices behind rtciobrg needs a special way to access. currently they are using a platform-specific API. this patch moves to REGMAP, then clients can use regmap APIs to read/write. for the moment, old APIs are still kept, once all clients move to regmap, old APIs will be dropped. this patch also does minor clean for comments, authors statement. Signed-off-by: NGuo Zeng <Guo.Zeng@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com>
-
- 01 6月, 2015 1 次提交
-
-
由 Russell King 提交于
All ARMv5 and older CPUs invalidate their caches in the early assembly setup function, prior to enabling the MMU. This is because the L1 cache should not contain any data relevant to the execution of the kernel at this point; all data should have been flushed out to memory. This requirement should also be true for ARMv6 and ARMv7 CPUs - indeed, these typically do not search their caches when caching is disabled (as it needs to be when the MMU is disabled) so this change should be safe. ARMv7 allows there to be CPUs which search their caches while caching is disabled, and it's permitted that the cache is uninitialised at boot; for these, the architecture reference manual requires that an implementation specific code sequence is used immediately after reset to ensure that the cache is placed into a sane state. Such functionality is definitely outside the remit of the Linux kernel, and must be done by the SoC's firmware before _any_ CPU gets to the Linux kernel. Changing the data cache clean+invalidate to a mere invalidate allows us to get rid of a lot of platform specific hacks around this issue for their secondary CPU bringup paths - some of which were buggy. Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com> Tested-by: NFlorian Fainelli <f.fainelli@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NDinh Nguyen <dinguyen@opensource.altera.com> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Tested-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: NShawn Guo <shawn.guo@linaro.org> Tested-by: NThierry Reding <treding@nvidia.com> Acked-by: NThierry Reding <treding@nvidia.com> Tested-by: NGeert Uytterhoeven <geert+renesas@glider.be> Tested-by: NMichal Simek <michal.simek@xilinx.com> Tested-by: NWei Xu <xuwei5@hisilicon.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 19 2月, 2015 2 次提交
-
-
由 Uwe Kleine-König 提交于
of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the non-const structs in arch/arm as const, too. While at it also add some __initconst annotations. Acked-by: NJason Cooper <jason@lakedameon.net> Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
由 Uwe Kleine-König 提交于
The definition static const char *axxia_dt_match[] __initconst = { ... defines a changable array of constant strings. That is you must not do: *axxia_dt_match[0] = 'k'; but axxia_dt_match[0] = "different string"; is fine. So the annotation __initconst is wrong and yields a compiler error when other really const variables are added with __initconst. As the struct machine_desc member dt_compat is declared as const char *const *dt_compat; making the arrays const is the better alternative over changing all annotations to __initdata. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 18 2月, 2015 1 次提交
-
-
由 Arnd Bergmann 提交于
The new Atlas7 platform implicitly selects 'CONFIG_SMP_ON_UP', which leads to problems if we enable building the platform without MMU, as that combination is not allowed and causes a link error: arch/arm/kernel/built-in.o: In function `c_show': :(.text+0x1872): undefined reference to `smp_on_up' :(.text+0x1876): undefined reference to `smp_on_up' arch/arm/kernel/built-in.o: In function `arch_irq_work_raise': :(.text+0x3d48): undefined reference to `smp_on_up' :(.text+0x3d4c): undefined reference to `smp_on_up' arch/arm/kernel/built-in.o: In function `smp_setup_processor_id': :(.init.text+0x180): undefined reference to `smp_on_up' This removes the 'select' statement. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: 4cba0585 ("ARM: sirf: add Atlas7 machine support") Acked-by: NBarry Song <Baohua.Song@csr.com> Cc: Zhiwu Song <Zhiwu.Song@csr.com>
-
- 06 2月, 2015 1 次提交
-
-
由 Barry Song 提交于
with the patchset to add CSR atlas7 support, the below stuff has no user now: SIRFSOC_VA sirfsoc_map_lluart sirfsoc_map_scu the related patches missed to drop them. Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 20 1月, 2015 5 次提交
-
-
由 Zhiwu Song 提交于
CSRatlas7 is next-gen auto SoC from CSR. It could bring to customers most integrated SoC solution: - World leading Bluetooth 4.0 and GNSS baseband - Audio processing, analog CODEC and ADC by DSP - Analog video input - SDR accelerators - CAN bus support by Cortex-M3 Signed-off-by: NZhiwu Song <Zhiwu.Song@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
由 Barry Song 提交于
This patch moves to debug_ll_io_init(), then finally drops CSR map_io() machine callbacks. Signed-off-by: NBarry Song <Baohua.Song@csr.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
由 Zhiwu Song 提交于
This patch breaks Marco SMP support, but Marco project has been dropped. So it corrects cpu1 jump/flag address for Atlas7 and removes scu related logic as scu doesn't expose in cortex-a7. Signed-off-by: NZhiwu Song <Zhiwu.Song@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
由 Barry Song 提交于
Marco will not be supported any more. it has been replaced by CSR Atlas7. Signed-off-by: NBarry Song <Baohua.Song@csr.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
由 Barry Song 提交于
Marco will not be supported any more. It has been replaced by CSR Atlas7. Signed-off-by: NBarry Song <Baohua.Song@csr.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
- 14 1月, 2015 1 次提交
-
-
由 Barry Song 提交于
Marco will not be supported any more. it has been replaced by CSR Atlas7. Signed-off-by: NBarry Song <Baohua.Song@csr.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
- 20 10月, 2014 1 次提交
-
-
由 Wolfram Sang 提交于
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 17 6月, 2014 1 次提交
-
-
由 Rob Herring 提交于
The System Type menu is getting quite long with platforms and is inconsistent in handling of sub-arch specific options. Tidy up the menu by making platform options a menuconfig entry containing any platform specific config items. [arnd: change OMAP part according to suggestion from Tony Lindgren <tony@atomide.com>] Signed-off-by: NRob Herring <robh@kernel.org> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 30 5月, 2014 3 次提交
-
-
由 Russell King 提交于
Remove the explicit call to l2x0_of_init(), converting to the generic infrastructure instead. Along with this change, we can delete l2x0.c from prima2. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
The cache size should already be present in the L2 cache auxiliary control register: it is part of the integration process to configure the hardware IP. Most platforms get this right, yet still many cargo-cult program, and assume that they always need specifying to the L2 cache code. Remove them so we can find out which really need this. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
We have a mixture of different devices with different register layouts, but we group all the bits together in an opaque mess. Split them out into those which are L2C-310 specific and ones which refer to earlier devices. Provide full auxiliary control register definitions. Acked-by: NTony Lindgren <tony@atomide.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NShawn Guo <shawn.guo@linaro.org> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 22 5月, 2014 1 次提交
-
-
由 Russell King 提交于
outer_disable() is defined to safely turn the L2 cache off without data loss: this means that outer_flush_all() should never be called unless you need to implement some special L2 cache disabling, and even then only from your replacement L2 cache disable function. Acked-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 12 5月, 2014 1 次提交
-
-
由 Xianglong Du 提交于
this patch fixes the below minor issues: WARNING: line over 80 characters 39: FILE: arch/arm/mach-prima2/rstc.c:39: + * Writing 1 to this bit resets corresponding block. Writing 0 to this WARNING: line over 80 characters 41: FILE: arch/arm/mach-prima2/rstc.c:41: + * datasheet doesn't require explicit delay between the set and clear WARNING: line over 80 characters 44: FILE: arch/arm/mach-prima2/rstc.c:44: + writel(readl(sirfsoc_rstc_base + (reset_bit / 32) * 4) | (1 << reset_bit), WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt 46: FILE: arch/arm/mach-prima2/rstc.c:46: + msleep(10); WARNING: line over 80 characters 47: FILE: arch/arm/mach-prima2/rstc.c:47: + writel(readl(sirfsoc_rstc_base + (reset_bit / 32) * 4) & ~(1 << reset_bit), WARNING: line over 80 characters 52: FILE: arch/arm/mach-prima2/rstc.c:52: + * Writing 1 to SET register resets corresponding block. Writing 1 to CLEAR WARNING: line over 80 characters 54: FILE: arch/arm/mach-prima2/rstc.c:54: + * datasheet doesn't require explicit delay between the set and clear WARNING: line over 80 characters 57: FILE: arch/arm/mach-prima2/rstc.c:57: + writel(1 << reset_bit, sirfsoc_rstc_base + (reset_bit / 32) * 8); WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt 58: FILE: arch/arm/mach-prima2/rstc.c:58: + msleep(10); WARNING: line over 80 characters 59: FILE: arch/arm/mach-prima2/rstc.c:59: + writel(1 << reset_bit, sirfsoc_rstc_base + (reset_bit / 32) * 8 + 4); total: 0 errors, 10 warnings, 120 lines checked Signed-off-by: NXianglong Du <Xianglong.Du@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com>
-
- 08 4月, 2014 1 次提交
-
-
由 Uwe Kleine-König 提交于
If the renamed symbol is defined lib/iomap.c implements ioport_map and ioport_unmap and currently (nearly) all platforms define the port accessor functions outb/inb and friend unconditionally. So HAS_IOPORT_MAP is the better name for this. Consequently NO_IOPORT is renamed to NO_IOPORT_MAP. The motivation for this change is to reintroduce a symbol HAS_IOPORT that signals if outb/int et al are available. I will address that at least one merge window later though to keep surprises to a minimum and catch new introductions of (HAS|NO)_IOPORT. The changes in this commit were done using: $ git grep -l -E '(NO|HAS)_IOPORT' | xargs perl -p -i -e 's/\b((?:CONFIG_)?(?:NO|HAS)_IOPORT)\b/$1_MAP/' Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 18 3月, 2014 1 次提交
-
-
由 Arnd Bergmann 提交于
The prima2 platform code currently depends on the rstc implementation and that in turn depends on the reset controller framework. This removes the platform dependency by letting the driver access arm_pm_restart directly to turn the driver into a standalone entity, and also removes the dependency on the reset controller framework by using "if (IS_ENABLED(CONFIG_RESET_CONTROLLER))". This will cause all code that is used for the reset controller to be dropped by the compiler if the framework is disabled. Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 05 3月, 2014 6 次提交
-
-
由 Barry Song 提交于
this moves to generic IP module reset framework, and make other drivers use common device_reset() API. Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NBin Shi <Bin.Shi@csr.com> Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de>
-
由 Barry Song 提交于
sirfsoc_init_late() is a local function not an extern interface to anyone. Signed-off-by: NBarry Song <Baohua.Song@csr.com>
-
由 Barry Song 提交于
we are marking GPL v2 in head comments, but MODULE_LICENSE is declaring GPL. Signed-off-by: NBarry Song <Baohua.Song@csr.com>
-
由 Barry Song 提交于
fix the below checkpatch issues: ERROR: Use of const init definition must use __initconst 30: FILE: common.c:30: +static const char *atlas6_dt_match[] __initdata = { ERROR: Use of const init definition must use __initconst 45: FILE: common.c:45: +static const char *prima2_dt_match[] __initdata = { ERROR: Use of const init definition must use __initconst 61: FILE: common.c:61: +static const char *marco_dt_match[] __initdata = { Signed-off-by: NBarry Song <Baohua.Song@csr.com>
-
由 Barry Song 提交于
fix the below checkpatch issues: ERROR: code indent should use tabs where possible 141: FILE: platsmp.c:141: + .smp_prepare_cpus = sirfsoc_smp_prepare_cpus,$ WARNING: please, no spaces at the start of a line 141: FILE: platsmp.c:141: + .smp_prepare_cpus = sirfsoc_smp_prepare_cpus,$ ERROR: code indent should use tabs where possible 142: FILE: platsmp.c:142: + .smp_secondary_init = sirfsoc_secondary_init,$ WARNING: please, no spaces at the start of a line 142: FILE: platsmp.c:142: + .smp_secondary_init = sirfsoc_secondary_init,$ ERROR: code indent should use tabs where possible 143: FILE: platsmp.c:143: + .smp_boot_secondary = sirfsoc_boot_secondary,$ WARNING: please, no spaces at the start of a line 143: FILE: platsmp.c:143: + .smp_boot_secondary = sirfsoc_boot_secondary,$ Signed-off-by: NBarry Song <Baohua.Song@csr.com>
-
由 Barry Song 提交于
Fix the below checkpatch issues: ERROR: open brace '{' following struct go on the same line 15: FILE: l2x0.c:15: +struct l2x0_aux +{ ERROR: Use of __initconst requires a separate use of const 20: FILE: l2x0.c:20: +static struct l2x0_aux prima2_l2x0_aux __initconst = { ERROR: Use of __initconst requires a separate use of const 25: FILE: l2x0.c:25: +static struct l2x0_aux marco_l2x0_aux __initconst = { ERROR: Use of __initconst requires a separate use of const 31: FILE: l2x0.c:31: +static struct of_device_id sirf_l2x0_ids[] __initconst = { Signed-off-by: NBarry Song <Baohua.Song@csr.com>
-
- 20 2月, 2014 3 次提交
-
-
由 Rob Herring 提交于
Many V6 and V7 platforms have an L2x0 cache, so make CONFIG_MIGHT_HAVE_CACHE_L2X0 visible for V6 and V7 multi-platform builds. Signed-off-by: NRob Herring <robh@kernel.org> Acked-by: NStephen Warren <swarren@nvidia.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
由 Rob Herring 提交于
All V7 platforms can run SMP kernels, so make CONFIG_SMP visible for V7 multi-platform builds. Signed-off-by: NRob Herring <robh@kernel.org> Acked-by: NStephen Warren <swarren@nvidia.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
由 Rob Herring 提交于
Multi-platform requires various kconfig options to be selected, so platforms don't need to select them individually. Signed-off-by: NRob Herring <robh@kernel.org> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Cc: Russell King <linux@arm.linux.org.uk> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@wwwdotorg.org> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
- 12 12月, 2013 1 次提交
-
-
由 Nicolas Pitre 提交于
We have a handy macro to replace open coded __cpuc_flush_dcache_area(() and outer_clean_range() sequences. Let's use it. No functional change. Signed-off-by: NNicolas Pitre <nico@linaro.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 30 9月, 2013 2 次提交
-
-
由 Sebastian Hesselbarth 提交于
With arch/arm calling of_clk_init(NULL) from time_init(), we can now remove custom .init_time hooks. Signed-off-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: NBarry Song <baohua.song@csr.com>
-
由 Sebastian Hesselbarth 提交于
Common clock framework allows to register clock providers to get called on of_clk_init() by using CLK_OF_DECLARE. This converts prima2 clock provider to make use of it and get rid of the mach specific clk init call. Signed-off-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: NBarry Song <baohua.song@csr.com> Acked-by: NMike Turquette <mturquette@linaro.org>
-
- 30 8月, 2013 1 次提交
-
-
由 Barry Song 提交于
we don't need nr_irqs in machine any more after we move to linear irqdomain for sirfsoc irqchip, so drop them. Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 15 8月, 2013 2 次提交
-
-
由 Barry Song 提交于
This will delete some redundant calling of sirfsoc_of_pwrc_init() and sirfsoc_memc_init() for non-CSR platforms if we use multi-platform. Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Xianglong Du 提交于
This patch also enables RTC alarm as wakeup source after system suspends. Signed-off-by: NXianglong Du <Xianglong.Du@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 15 7月, 2013 1 次提交
-
-
由 Paul Gortmaker 提交于
The __cpuinit type of throwaway sections might have made sense some time ago when RAM was more constrained, but now the savings do not offset the cost and complications. For example, the fix in commit 5e427ec2 ("x86: Fix bit corruption at CPU resume time") is a good example of the nasty type of bugs that can be created with improper use of the various __init prefixes. After a discussion on LKML[1] it was decided that cpuinit should go the way of devinit and be phased out. Once all the users are gone, we can then finally remove the macros themselves from linux/init.h. Note that some harmless section mismatch warnings may result, since notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c) and are flagged as __cpuinit -- so if we remove the __cpuinit from the arch specific callers, we will also get section mismatch warnings. As an intermediate step, we intend to turn the linux/init.h cpuinit related content into no-ops as early as possible, since that will get rid of these warnings. In any case, they are temporary and harmless. This removes all the ARM uses of the __cpuinit macros from C code, and all __CPUINIT from assembly code. It also had two ".previous" section statements that were paired off against __CPUINIT (aka .section ".cpuinit.text") that also get removed here. [1] https://lkml.org/lkml/2013/5/20/589 Cc: Russell King <linux@arm.linux.org.uk> Cc: Will Deacon <will.deacon@arm.com> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
-
- 10 7月, 2013 1 次提交
-
-
由 Robin Holt 提交于
Preparing to move the parsing of reboot= to generic kernel code forces the change in reboot_mode handling to use the enum. [akpm@linux-foundation.org: fix arch/arm/mach-socfpga/socfpga.c] Signed-off-by: NRobin Holt <holt@sgi.com> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Russ Anderson <rja@sgi.com> Cc: Robin Holt <holt@sgi.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 11 6月, 2013 1 次提交
-
-
由 Haojian Zhuang 提交于
In prima2, some functions of checking DT is registered in initcall level. If it doesn't match the compatible name of sirf, kernel will panic. It blocks the usage of multiplatform on other verndor. The error message is in below. Knic - not syncing: unable to find compatible pwrc node in dtb CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-rc3-00006-gd7f26ea-dirty #86 [<c0013adc>] (unwind_backtrace+0x0/0xf8) from [<c0011430>] (show_stack+0x10/0x1) [<c0011430>] (show_stack+0x10/0x14) from [<c026f724>] (panic+0x90/0x1e8) [<c026f724>] (panic+0x90/0x1e8) from [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x) [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x58) from [<c0320864>] (do_one_initcal) [<c0320864>] (do_one_initcall+0x90/0x150) from [<c0320a20>] (kernel_init_freeab) [<c0320a20>] (kernel_init_freeable+0xfc/0x1c4) from [<c026b9e8>] (kernel_init+0) [<c026b9e8>] (kernel_init+0x8/0xe4) from [<c000e158>] (ret_from_fork+0x14/0x3c) Signen-off-by: NHaojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 03 6月, 2013 1 次提交
-
-
由 Barry Song 提交于
use of_platform_populate to populate platform devices, it is suitable for creating devices which are children of the root node, then makes things like pcm work. this patch removes sirfsoc_mach_init() function and lets arm core do of_platform_populate: static int __init customize_machine(void) { /* * customizes platform devices, or adds new ones * On DT based machines, we fall back to populating the * machine from the device tree, if no callback is provided, * otherwise we would always need an init_machine callback. */ if (machine_desc->init_machine) machine_desc->init_machine(); else of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); return 0; } Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NRongjun Ying <Rongjun.Ying@csr.com>
-