- 27 9月, 2018 1 次提交
-
-
由 Alexandre Belloni 提交于
The smatch utility reports a possible leak: smatch warnings: drivers/clocksource/timer-atmel-pit.c:183 at91sam926x_pit_dt_init() warn: possible memory leak of 'data' Ensure data is freed before exiting with an error. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@bootlin.com> Cc: stable@vger.kernel.org Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 14 6月, 2017 1 次提交
-
-
由 Daniel Lezcano 提交于
The CLOCKSOURCE_OF_DECLARE macro is used widely for the timers to declare the clocksource at early stage. However, this macro is also used to initialize the clockevent if any, or the clockevent only. It was originally suggested to declare another macro to initialize a clockevent, so in order to separate the two entities even they belong to the same IP. This was not accepted because of the impact on the DT where splitting a clocksource/clockevent definition does not make sense as it is a Linux concept not a hardware description. On the other side, the clocksource has not interrupt declared while the clockevent has, so it is easy from the driver to know if the description is for a clockevent or a clocksource, IOW it could be implemented at the driver level. So instead of dealing with a named clocksource macro, let's use a more generic one: TIMER_OF_DECLARE. The patch has not functional changes. Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Acked-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NNeil Armstrong <narmstrong@baylibre.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NMatthias Brugger <matthias.bgg@gmail.com> Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 07 4月, 2017 1 次提交
-
-
由 Rafał Miłecki 提交于
Printing with pr_* functions requires adding line break manually. Signed-off-by: NRafał Miłecki <rafal@milecki.pl> Acked-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 25 12月, 2016 1 次提交
-
-
由 Thomas Gleixner 提交于
There is no point in having an extra type for extra confusion. u64 is unambiguous. Conversion was done with the following coccinelle script: @rem@ @@ -typedef u64 cycle_t; @fix@ typedef cycle_t; @@ -cycle_t +u64 Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: John Stultz <john.stultz@linaro.org>
-
- 12 9月, 2016 3 次提交
-
-
由 Alexandre Belloni 提交于
Because the PIT is also a proper clocksource, the timekeeping code is already able to handle lost ticks. Reported-by: NThomas Gleixner <tglx@linutronix.de> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
由 Alexandre Belloni 提交于
IRQ handlers are running with IRQ disabled for a while, remove wrong comment and useless test. Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
由 Alexandre Belloni 提交于
Merge at91sam926x_pit_common_init in at91sam926x_pit_dt_init as this is the only initialization method now. Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 29 8月, 2016 1 次提交
-
-
由 Daniel Lezcano 提交于
The previous fix introduced a check against the ret variable which is not defined, hence producing a compilation error: linux/drivers/clocksource/timer-atmel-pit.c: In function ‘at91sam926x_pit_dt_init’: linux/drivers/clocksource/timer-atmel-pit.c:264:2: error: ‘ret’ undeclared (first use in this function) ret = clk_prepare_enable(data->mck); ^ linux/drivers/clocksource/timer-atmel-pit.c:264:2: note: each undeclared identifier is reported only once for each function it appears in Add the missing the variable 'ret'. Fixes: 504f34c9 "clocksource/drivers/atmel-pit: Convert init function to return error" Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Cc: alexandre.belloni@free-electrons.com Cc: motobud@gmail.com Cc: realbright@lgcns.com Link: http://lkml.kernel.org/r/1472453043-24287-1-git-send-email-daniel.lezcano@linaro.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
-
- 26 8月, 2016 1 次提交
-
-
由 Alexandre Belloni 提交于
mck is needed to get the PIT working. Explicitly prepare_enable it instead of assuming it is enabled. This solves an issue where the system is freezing when the ETM/ETB drivers are enabled. Reported-by: NOlivier Schonken <olivier.schonken@gmail.com> Reviewed-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 28 6月, 2016 2 次提交
-
-
由 Daniel Lezcano 提交于
All the clocksource drivers's init function are now converted to return an error code. CLOCKSOURCE_OF_DECLARE is no longer used as well as the clksrc-of table. Let's convert back the names: - CLOCKSOURCE_OF_DECLARE_RET => CLOCKSOURCE_OF_DECLARE - clksrc-of-ret => clksrc-of Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> For exynos_mct and samsung_pwm_timer: Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> For arch/arc: Acked-by: NVineet Gupta <vgupta@synopsys.com> For mediatek driver: Acked-by: NMatthias Brugger <matthias.bgg@gmail.com> For the Rockchip-part Acked-by: NHeiko Stuebner <heiko@sntech.de> For STi : Acked-by: NPatrice Chotard <patrice.chotard@st.com> For the mps2-timer.c and versatile.c changes: Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com> For the OXNAS part : Acked-by: NNeil Armstrong <narmstrong@baylibre.com> For LPC32xx driver: Acked-by: NSylvain Lemieux <slemieux.tyco@gmail.com> For Broadcom Kona timer change: Acked-by: NRay Jui <ray.jui@broadcom.com> For Sun4i and Sun5i: Acked-by: NChen-Yu Tsai <wens@csie.org> For Meson6: Acked-by: NCarlo Caione <carlo@caione.org> For Keystone: Acked-by: NSantosh Shilimkar <ssantosh@kernel.org> For NPS: Acked-by: NNoam Camus <noamca@mellanox.com> For bcm2835: Acked-by: NEric Anholt <eric@anholt.net>
-
由 Daniel Lezcano 提交于
The init functions do not return any error. They behave as the following: - panic, thus leading to a kernel crash while another timer may work and make the system boot up correctly or - print an error and let the caller unaware if the state of the system Change that by converting the init functions to return an error conforming to the CLOCKSOURCE_OF_RET prototype. Proper error handling (rollback, errno value) will be changed later case by case, thus this change just return back an error or success in the init function. Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
- 10 8月, 2015 2 次提交
-
-
由 Daniel Lezcano 提交于
Reported-by: NPeter Mamonov <pmamonov@gmail.com> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
-
由 Viresh Kumar 提交于
Migrate atmel driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
- 31 3月, 2015 1 次提交
-
-
由 Ben Dooks 提交于
Fix the use of __raw IO accessor with the readl/writel_relaxed() versions to allow the code to be used on a system running in big endian mode. Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk> Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Cc: Andrew Victor <linux@maxim.org.za> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Linux ARM Kernel <linux-arm-kernel@lists.infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: digetx@gmail.com Cc: hdegoede@redhat.com Cc: laurent.pinchart+renesas@ideasonboard.com Cc: maxime.ripard@free-electrons.com Cc: viresh.kumar@linaro.org Link: http://lkml.kernel.org/r/1427746633-9137-7-git-send-email-daniel.lezcano@linaro.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
-
- 03 12月, 2014 1 次提交
-
-
由 Arnd Bergmann 提交于
As AT91 !DT code is now removed, cleanup the PIT clocksource driver. Signed-off-by: NArnd Bergmann <arnd@arndb.de> [nicolas.ferre@atmel.com: split patch] Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Cc: Boris BREZILLON <boris.brezillon@free-electrons.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
-
- 15 9月, 2014 2 次提交
-
-
由 Maxime Ripard 提交于
Now that we don't depend on anyting in the mach-at91 directory, we can just move the driver to where it belongs. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Conflicts: arch/arm/mach-at91/Kconfig arch/arm/mach-at91/Makefile
-
由 Maxime Ripard 提交于
This allows to remove the dependency of the timer driver on mach/hardware.h and having an hardcoded interrupt number in the driver itself. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 03 9月, 2014 8 次提交
-
-
由 Maxime Ripard 提交于
The timer driver is using some global variables to define some variables it has to use in most of its functions, like the base address. Use some container_of calls to have a single dynamic (and local) variable to hold this content. The only exception is in the !DT case, where the call chain to at91sam926x_ioremap_pit and then at91sam926x_pit_init as init_time makes it hard for the moment to pass the physical address of the timer. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Maxime Ripard 提交于
We can use the generic request_irq now to register a timer interrupt handler, instead of the more complex setup_irq. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Maxime Ripard 提交于
All the panic messages hardcode the same prefix. Define the pr_fmt macro to unify its definition. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Maxime Ripard 提交于
The current probe code is, whenever it fails to retrieve a resource, either panicing, silently returning, or returning and displaying an error. Make the code consistent by always panicing whenever it fails to grab any resource. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Maxime Ripard 提交于
The PIT timer driver until now had a single probe function, disregarding wether it was probed through DT or in the old-style way. This code later on was calling some DT function to retrieve the proper values for its base address, interrupts and clocks. While this was working, it was preventing the usage of CLOCKSOURCE_OF_DECLARE, and the two different probe path were not as clearly separated as they could be. Rework the probe path to take this into account, and switch to CLOCKSOURCE_OF_DECLARE. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Maxime Ripard 提交于
Until now, the machines, even when CONFIG_OF was enabled, were calling at91sam926x_ioremap_pit to try to map the PIT address using the defined physical address. Obviously, with DT, it's not appropriate anymore, and some code was added to the function to deal with this case. Unfortunately, this code was conditionned on CONFIG_OF, which can be enabled, even though no DT was actually used, which would result in such a case, to this code being executed, without any reason. Moreover, the logic that was here before to bail out of the function just check in the DT to see if the PIT node is there, which is the case in all our DTSI. All this can be made much more straightforward just by using of_have_populated_dt to bail out. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Maxime Ripard 提交于
Until now, the pit_cycle computation was dividing the rate by HZ, rounding to the closest integer, but without using the appropriate macro. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Maxime Ripard 提交于
Replace all masks and bits definitions by matching calls to BIT and GENMASK. While we're at it, also fix a few style issues. Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NBoris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 20 12月, 2013 1 次提交
-
-
由 Uwe Kleine-König 提交于
The platform specific <mach/timex.h> will be removed in a later patch. So move its only still used symbol to a different header specific for the only machine still using it. Also add a few explicit includes of <mach/hardware.h> that are implicitly available through <mach/timex.h>. Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
-
- 02 12月, 2013 1 次提交
-
-
由 Boris BREZILLON 提交于
Use device tree to get the source clock of the PIT (Periodic Interval Timer). If the clock is not found in device tree (or dt is not enabled) we'll try to get it using clk_lookup definitions. Signed-off-by: NBoris BREZILLON <b.brezillon@overkiz.com> Acked-by: NMike Turquette <mturquette@linaro.org> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 19 9月, 2013 1 次提交
-
-
由 Michael Opdenacker 提交于
This flag is a NOOP since 2.6.36 and can be removed. This is an update for 3.11 of a patch already sent for 3.10 Signed-off-by: NMichael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 25 12月, 2012 2 次提交
-
-
由 Stephen Warren 提交于
Now that the only field in struct sys_timer is .init, delete the struct, and replace the machine descriptor .timer field with the initialization function itself. This will enable moving timer drivers into drivers/clocksource without having to place a public prototype of each struct sys_timer object into include/linux; the intent is to create a single of_clocksource_init() function that determines which timer driver to initialize by scanning the device dtree, much like the proposed irqchip_init() at: http://www.spinics.net/lists/arm-kernel/msg203686.html Includes mach-omap2 fixes from Igor Grinberg. Tested-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Stephen Warren 提交于
Move at91's timer suspend/resume functions from struct sys_timer at91sam926x_timer into struct clock_event_device pit_clkevt. This will allow the sys_timer suspend/resume fields to be removed, and eventually lead to a complete removal of struct sys_timer. Cc: Andrew Victor <linux@maxim.org.za> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 06 11月, 2012 1 次提交
-
-
Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
-
- 02 7月, 2012 1 次提交
-
-
由 Ludovic Desroches 提交于
Enable sparse irq support for multisoc image. It involves to add the NR_IRQS_LEGACY offset to static SoC irq number definitions since NR_IRQS_LEGACY irq descs are allocated before AIC requests irq descs allocation. Move NR_AIC_IRQS macro to a more appropiate place with the purpose to remove mach/irqs.h later. Signed-off-by: NLudovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 01 3月, 2012 2 次提交
-
-
由 Nicolas Ferre 提交于
Traces related to IRQ management are useful for timers in case of non-working IRQ subsystem (switch to irq_domain for instance). Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
Retreive registers address and IRQ from device tree entry. Called from at91_dt_init_irq() so that timers are up-n-running when timers initialization will occur. Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> [nicolas.ferre@atmel.com: change error path and interrupts property handling] Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 28 11月, 2011 1 次提交
-
-
Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 19 12月, 2010 1 次提交
-
-
由 Russell King 提交于
In d7e81c26 (clocksource: Add clocksource_register_hz/khz interface) new interfaces were added which simplify (and optimize) the selection of the divisor shift/mult constants. Switch over to using this new interface. Acked-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 23 1月, 2010 1 次提交
-
-
由 Uwe Kleine-König 提交于
on AT91 the timer irq is shared, so the handler might be entered without irqs being disabled. Though this should not happen as the timer irq is registered early, there have been some reports on the mailing list. To make debugging that problem easier next time it pops up a WARN_ON_ONCE is added to the handler if irqs are not off. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
-
- 22 4月, 2009 1 次提交
-
-
由 Magnus Damm 提交于
Pass clocksource pointer to the read() callback for clocksources. This allows us to share the callback between multiple instances. [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods] [akpm@linux-foundation.org: cleanup] Signed-off-by: NMagnus Damm <damm@igel.co.jp> Acked-by: NJohn Stultz <johnstul@us.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: NHugh Dickins <hugh@veritas.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 13 12月, 2008 1 次提交
-
-
由 Rusty Russell 提交于
Impact: change calling convention of existing clock_event APIs struct clock_event_timer's cpumask field gets changed to take pointer, as does the ->broadcast function. Another single-patch change. For safety, we BUG_ON() in clockevents_register_device() if it's not set. Signed-off-by: NRusty Russell <rusty@rustcorp.com.au> Cc: Ingo Molnar <mingo@elte.hu>
-
- 07 8月, 2008 1 次提交
-
-
由 Russell King 提交于
This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-