13 Sep, 2021
1 commit
-
The warnings were introduced when converting the MVME147 and MVME16x
RTC handling from gettod to hwclk. Replace the #warning by a comment,
and return an error to inform the upper layer that writing to the RTC is
not yet supported.Signed-off-by: Geert Uytterhoeven
Reviewed-by: Guenter Roeck
Link: https://lore.kernel.org/r/20210907124511.2723414-1-geert@linux-m68k.org
06 Apr, 2021
1 commit
-
Don't clear the timer 1 configuration bits when clearing the interrupt flag
and counter overflow. As Michael reported, "This results in no timer
interrupts being delivered after the first. Initialization then hangs
in calibrate_delay as the jiffies counter is not updated."On mvme16x, enable the timer after requesting the irq, consistent with
mvme147.Cc: Michael Pavone
Fixes: 7529b90d051e ("m68k: mvme147: Handle timer counter overflow")
Fixes: 19999a8b8782 ("m68k: mvme16x: Handle timer counter overflow")
Reported-and-tested-by: Michael Pavone
Signed-off-by: Finn Thain
Link: https://lore.kernel.org/r/4fdaa113db089b8fb607f7dd818479f8cdcc4547.1617089871.git.fthain@telegraphics.com.au
Signed-off-by: Geert Uytterhoeven
16 Dec, 2020
1 commit
-
…/git/arnd/asm-generic
Pull asm-generic cross-architecture timer cleanup from Arnd Bergmann:
"This cleans up two ancient timer features that were never completed in
the past, CONFIG_GENERIC_CLOCKEVENTS and CONFIG_ARCH_USES_GETTIMEOFFSET.There was only one user left for the ARCH_USES_GETTIMEOFFSET variant
of clocksource implementations, the ARM EBSA110 platform. Rather than
changing to use modern timekeeping, we remove the platform entirely as
Russell no longer uses his machine and nobody else seems to have one
any more.The conditional code for using arch_gettimeoffset() is removed as a
result.For CONFIG_GENERIC_CLOCKEVENTS, there are still a couple of platforms
not using clockevent drivers: parisc, ia64, most of m68k, and one Arm
platform. These all do timer ticks slighly differently, and this gets
cleaned up to the point they at least all call the same helper
function.Instead of most platforms using 'select GENERIC_CLOCKEVENTS' in
Kconfig, the polarity is now reversed, with the few remaining ones
selecting LEGACY_TIMER_TICK instead"* tag 'asm-generic-timers-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
timekeeping: default GENERIC_CLOCKEVENTS to enabled
timekeeping: remove xtime_update
m68k: remove timer_interrupt() function
m68k: change remaining timers to legacy_timer_tick
m68k: m68328: use legacy_timer_tick()
m68k: sun3/sun3c: use legacy_timer_tick
m68k: split heartbeat out of timer function
m68k: coldfire: use legacy_timer_tick()
parisc: use legacy_timer_tick
ARM: rpc: use legacy_timer_tick
ia64: convert to legacy_timer_tick
timekeeping: add CONFIG_LEGACY_TIMER_TICK
timekeeping: remove arch_gettimeoffset
net: remove am79c961a driver
ARM: remove ebsa110 platform
02 Nov, 2020
1 commit
-
This information is unused since the discontinuous memory support
has been introduced in 2007.Fixes: 12d810c1b8c2 ("m68k: discontinuous memory support")
Signed-off-by: Laurent Vivier
Link: https://lore.kernel.org/r/20201009095621.833192-1-laurent@vivier.eu
Signed-off-by: Geert Uytterhoeven
31 Oct, 2020
2 commits
-
This gets passed to a number of init functions, but is
ignored everywhere, so remove the function and change the
mach_sched_init callback to take no arguments.Reviewed-by: Geert Uytterhoeven
Acked-by: Geert Uytterhoeven
Tested-by: Geert Uytterhoeven
Reviewed-by: Linus Walleij
Signed-off-by: Arnd Bergmann -
There are nine more machines that each have their own timer interrupt
calling the m68k timer_interrupt() function through an indirect pointer.This function is now the same as legacy_timer_tick, so just call that
directly and select the corresponding Kconfig symbol.Reviewed-by: Geert Uytterhoeven
Acked-by: Geert Uytterhoeven
Tested-by: Geert Uytterhoeven
Reviewed-by: Linus Walleij
Signed-off-by: Arnd Bergmann
10 Jun, 2020
1 commit
-
Patch series "mm: consolidate definitions of page table accessors", v2.
The low level page table accessors (pXY_index(), pXY_offset()) are
duplicated across all architectures and sometimes more than once. For
instance, we have 31 definition of pgd_offset() for 25 supported
architectures.Most of these definitions are actually identical and typically it boils
down to, e.g.static inline unsigned long pmd_index(unsigned long address)
{
return (address >> PMD_SHIFT) & (PTRS_PER_PMD - 1);
}static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address)
{
return (pmd_t *)pud_page_vaddr(*pud) + pmd_index(address);
}These definitions can be shared among 90% of the arches provided
XYZ_SHIFT, PTRS_PER_XYZ and xyz_page_vaddr() are defined.For architectures that really need a custom version there is always
possibility to override the generic version with the usual ifdefs magic.These patches introduce include/linux/pgtable.h that replaces
include/asm-generic/pgtable.h and add the definitions of the page table
accessors to the new header.This patch (of 12):
The linux/mm.h header includes to allow inlining of the
functions involving page table manipulations, e.g. pte_alloc() and
pmd_alloc(). So, there is no point to explicitly include
in the files that include .The include statements in such cases are remove with a simple loop:
for f in $(git grep -l "include ") ; do
sed -i -e '/include / d' $f
doneSigned-off-by: Mike Rapoport
Signed-off-by: Andrew Morton
Cc: Arnd Bergmann
Cc: Borislav Petkov
Cc: Brian Cain
Cc: Catalin Marinas
Cc: Chris Zankel
Cc: "David S. Miller"
Cc: Geert Uytterhoeven
Cc: Greentime Hu
Cc: Greg Ungerer
Cc: Guan Xuetao
Cc: Guo Ren
Cc: Heiko Carstens
Cc: Helge Deller
Cc: Ingo Molnar
Cc: Ley Foon Tan
Cc: Mark Salter
Cc: Matthew Wilcox
Cc: Matt Turner
Cc: Max Filippov
Cc: Michael Ellerman
Cc: Michal Simek
Cc: Mike Rapoport
Cc: Nick Hu
Cc: Paul Walmsley
Cc: Richard Weinberger
Cc: Rich Felker
Cc: Russell King
Cc: Stafford Horne
Cc: Thomas Bogendoerfer
Cc: Thomas Gleixner
Cc: Tony Luck
Cc: Vincent Chen
Cc: Vineet Gupta
Cc: Will Deacon
Cc: Yoshinori Sato
Link: http://lkml.kernel.org/r/20200514170327.31389-1-rppt@kernel.org
Link: http://lkml.kernel.org/r/20200514170327.31389-2-rppt@kernel.org
Signed-off-by: Linus Torvalds
21 May, 2019
1 commit
-
Add SPDX license identifiers to all Make/Kconfig files which:
- Have no license information of any form
These files fall under the project license, GPL v2 only. The resulting SPDX
license identifier is:GPL-2.0-only
Signed-off-by: Thomas Gleixner
Signed-off-by: Greg Kroah-Hartman
25 Mar, 2019
4 commits
-
Reading the timer counter races with timer overflow (and the
corresponding interrupt). This is resolved by reading the overflow
register and taking this value into account. The interrupt handler
must clear the overflow register when it eventually executes.Suggested-by: Thomas Gleixner
Signed-off-by: Finn Thain
Signed-off-by: Geert Uytterhoeven -
Add a platform clocksource by adapting the existing arch_gettimeoffset
implementation.Signed-off-by: Finn Thain
Acked-by: Linus Walleij
Signed-off-by: Geert Uytterhoeven -
The functions that implement arch_gettimeoffset are re-used by
new clocksource drivers in subsequent patches.Signed-off-by: Finn Thain
Acked-by: Linus Walleij
Signed-off-by: Geert Uytterhoeven -
Some platforms execute their timer handler with the interrupt priority
level set below 6. That means the handler could be interrupted by another
driver and this could lead to re-entry of the timer core.Avoid this by use of local_irq_save/restore for timer interrupt dispatch.
This provides mutual exclusion around the timer interrupt flag access
which is needed later in this series for the clocksource conversion.Reported-by: Thomas Gleixner
Link: http://lkml.kernel.org/r/alpine.DEB.2.21.1811131407120.2697@nanos.tec.linutronix.de
Signed-off-by: Finn Thain
Signed-off-by: Geert Uytterhoeven
29 Jul, 2018
1 commit
-
Commit 397ac99c6cef ("m68k: remove dead timer code") removed set_rtc_mmss()
because it was unused in 2012. However, this was itself the only user of the
mach_set_clock_mmss() callback and the many implementations of that callback,
which are equally unused.This removes all of those as well.
Signed-off-by: Arnd Bergmann
Acked-by: Greg Ungerer
Signed-off-by: Geert Uytterhoeven
22 May, 2018
1 commit
-
This fixes a bug in read_persistent_clock() which causes the system
clock to lag the Real Time Clock by one month. The problem was noticed
on a Mac, but theoretically it must also affect Atari, BVME6000 and Q40.The tm_mon value in the struct rtc_time passed to mach_hwclk() is
zero-based, and atari_mste_hwclk(), atari_tt_hwclk(), bvme6000_hwclk(),
mac_hwclk() and q40_hwclk() all make this adjustment. Unfortunately,
dn_dummy_hwclk(), mvme147_hwclk(), mvme16x_hwclk(), sun3_hwclk() and
sun3x_hwclk() fail to decrement tm_mon. Also m68328_hwclk() assumes
a one-based tm_mon.Bring these platforms into line and fix read_persistent_clock() so it
works correctly on all m68k platforms.The datasheets for the RTC devices found on the affected platforms
all confirm that the year is stored as a value in the range 0-99 and
the month is stored as a value in the range 1-12. Please refer to the
datasheets for MC146818 (Apollo), DS1643 (MVME), ICM7170 (Sun 3)
and M48T02 (Sun 3x).Reported-by: Stan Johnson
Signed-off-by: Finn Thain
Reviewed-by: Arnd Bergmann
Signed-off-by: Geert Uytterhoeven
12 Feb, 2017
1 commit
-
Convert from printk() to pr_*().
Signed-off-by: Geert Uytterhoeven
04 Jun, 2016
1 commit
-
The asm/rtc.h header is only used for the old gen_rtc driver
that has been replaced by rtc-generic. According to Geert
Uytterhoeven, nobody has used the old driver on m68k for
a long time, so we can now just remove the header file
and disallow the driver in Kconfig.All files that used to include asm/rtc.h are now changed so
they include the headers that were used implicitly through
asm/rtc.h.Signed-off-by: Arnd Bergmann
Acked-by: Geert Uytterhoeven
Tested-by: Geert Uytterhoeven
Signed-off-by: Alexandre Belloni
11 Jan, 2015
1 commit
-
Remove the function mvme147_init_console_port() that is not used
anywhere.This was partially found by using a static code analysis program called
cppcheck.Signed-off-by: Rickard Strandqvist
[geert: Also remove now unused m147_scc_write(), scc_write(), scc_delay()]
Signed-off-by: Geert Uytterhoeven
26 Nov, 2013
3 commits
-
Signed-off-by: Geert Uytterhoeven
-
Export the bootinfo definitions that are used by bootstrap loaders, and
split them up in generic and platform-specific parts.Signed-off-by: Geert Uytterhoeven
-
Some functions that are only called (indirectly) from setup_arch() lack
__init annotations.Signed-off-by: Geert Uytterhoeven
25 Dec, 2012
1 commit
-
remove m68k's mach_gettimeoffset function pointer, and instead directly
set the arch_gettimeoffset function pointer. This requires multiplying
all function results by 1000, since the removed m68k_gettimeoffset() did
this. Also, s/unsigned long/u32/ just to make the function prototypes
exactly match that of arch_gettimeoffset.Cc: Joshua Thompson
Cc: Sam Creasey
Acked-by: Geert Uytterhoeven
Acked-by: Phil Blundell
Signed-off-by: Stephen Warren
29 Mar, 2012
1 commit
-
Disintegrate asm/system.h for M68K.
Signed-off-by: David Howells
Acked-by: Greg Ungerer
cc: linux-m68k@lists.linux-m68k.org
09 Nov, 2011
2 commits
-
It was used on Apollo only, before its conversion to genirq.
Signed-off-by: Geert Uytterhoeven
-
The m68k core irq code stopped honoring these flags during the irq
restructuring in 2006.Signed-off-by: Geert Uytterhoeven
31 Jan, 2011
1 commit
-
xtime_update() properly takes the xtime_lock
Signed-off-by: Torben Hohn
Cc: Sam Creasey
Cc: Peter Zijlstra
Cc: johnstul@us.ibm.com
Cc: Roman Zippel
Cc: hch@infradead.org
Cc: yong.zhang0@gmail.com
Cc: Geert Uytterhoeven
Cc: Greg Ungerer
LKML-Reference:
Signed-off-by: Thomas Gleixner
13 Jan, 2009
2 commits
-
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_resultSigned-off-by: Geert Uytterhoeven
-
- Replace external declarations by proper includes where availiable.
The accesses to some symbols had to be modified, as before they were
declared using e.g. "extern int _end", while asm-generic/sections.h uses
e.g. "extern char _end[]"
- Remove unused or superfluous external declarationsSigned-off-by: Geert Uytterhoeven
23 Oct, 2008
1 commit
-
Signed-off-by: Alexey Dobriyan
20 Jul, 2007
1 commit
-
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
09 Oct, 2006
1 commit
-
Use the new typedef for interrupt handler function pointers rather than
actually spelling out the full thing each time. This was scripted with the
following small shell script:#!/bin/sh
egrep -nHrl -e 'irqreturn_t[ ]*[(][*]' $* |
while read i
do
echo $i
perl -pi -e 's/irqreturn_t\s*[(]\s*[*]\s*([_a-zA-Z0-9]*)\s*[)]\s*[(]\s*int\s*,\s*void\s*[*]\s*[)]/irq_handler_t \1/g' $i || exit $?
doneSigned-Off-By: David Howells
08 Oct, 2006
1 commit
-
m68k_handle_int() split in two functions: __m68k_handle_int() takes
pt_regs * and does set_irq_regs(); m68k_handle_int() doesn't get pt_regs
*.Places where we used to call m68k_handle_int() recursively with the same
pt_regs have simply lost the second argument, the rest is switched to
__m68k_handle_int().The rest of patch is just dropping pt_regs * where needed.
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
26 Jun, 2006
2 commits
-
Signed-off-by: Roman Zippel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Introduce irq controller and use it to manage auto vector interrupts.
Introduce setup_irq() which can be used for irq setup.Signed-off-by: Roman Zippel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!