Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2648527 authored by Thiemo Seufer's avatar Thiemo Seufer Committed by Ralf Baechle
Browse files

Remove unused arguments from preempt_{start,stop}/local_irq_{en,dis}able.


Don't clobber the preloaded TI_FLAGS in a2 needlessly.
Unexport local functions.

Signed-off-by: default avatarThiemo Seufer <ths@networkno.de>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 69903d65
Loading
Loading
Loading
Loading
+17 −18
Original line number Diff line number Diff line
@@ -19,11 +19,11 @@
#include <asm/war.h>

#ifdef CONFIG_PREEMPT
	.macro	preempt_stop reg=t0
	.macro	preempt_stop
	.endm
#else
	.macro	preempt_stop reg=t0
	local_irq_disable \reg
	.macro	preempt_stop
	local_irq_disable
	.endm
#define resume_kernel	restore_all
#endif
@@ -37,17 +37,17 @@ FEXPORT(ret_from_irq)
	andi	t0, t0, KU_USER
	beqz	t0, resume_kernel

FEXPORT(resume_userspace)
	local_irq_disable	t0	# make sure we dont miss an
resume_userspace:
	local_irq_disable		# make sure we dont miss an
					# interrupt setting need_resched
					# between sampling and return
	LONG_L	a2, TI_FLAGS($28)	# current->work
	andi	a2, _TIF_WORK_MASK	# (ignoring syscall_trace)
	bnez	a2, work_pending
	andi	t0, a2, _TIF_WORK_MASK	# (ignoring syscall_trace)
	bnez	t0, work_pending
	j	restore_all

#ifdef CONFIG_PREEMPT
ENTRY(resume_kernel)
resume_kernel:
	lw	t0, TI_PRE_COUNT($28)
	bnez	t0, restore_all
need_resched:
@@ -59,10 +59,10 @@ need_resched:
	beqz	t0, restore_all
	li	t0, PREEMPT_ACTIVE
	sw	t0, TI_PRE_COUNT($28)
	local_irq_enable t0
	local_irq_enable
	jal	schedule
	sw	zero, TI_PRE_COUNT($28)
	local_irq_disable t0
	local_irq_disable
	b	need_resched
#endif

@@ -88,13 +88,13 @@ FEXPORT(restore_partial) # restore partial frame
	RESTORE_SP_AND_RET
	.set	at

FEXPORT(work_pending)
	andi	t0, a2, _TIF_NEED_RESCHED
work_pending:
	andi	t0, a2, _TIF_NEED_RESCHED # a2 is preloaded with TI_FLAGS
	beqz	t0, work_notifysig
work_resched:
	jal	schedule

	local_irq_disable t0		# make sure need_resched and
	local_irq_disable		# make sure need_resched and
					# signals dont change between
					# sampling and return
	LONG_L	a2, TI_FLAGS($28)
@@ -113,11 +113,10 @@ work_notifysig: # deal with pending signals and

FEXPORT(syscall_exit_work_partial)
	SAVE_STATIC
FEXPORT(syscall_exit_work)
	LONG_L	t0, TI_FLAGS($28)
	li	t1, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
	and	t0, t1
	beqz	t0, work_pending	# trace bit is set
syscall_exit_work:
	li	t0, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
	and	t0, a2			# a2 is preloaded with TI_FLAGS
	beqz	t0, work_pending	# trace bit set?
	local_irq_enable		# could let do_syscall_trace()
					# call schedule() instead
	move	a0, sp