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

Commit dcdbe33a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'mn10300' (mn10300 fixes from David Howells)

Merge mn10300 fixes from David Howells.

* emailed patches from David Howells <dhowells@redhat.com>:
  MN10300: Need pci_iomap() and __pci_ioport_map() defining
  MN10300: ASB2305's PCI code needs the definition of XIRQ1
  MN10300: Enable IRQs more in system call exit work path
  MN10300: Fix ret_from_kernel_thread
parents 7b55eab8 1aeeac7a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -103,4 +103,6 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
	return channel ? 15 : 14;
}

#include <asm-generic/pci_iomap.h>

#endif /* _ASM_PCI_H */
+6 −13
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ ENTRY(ret_from_kernel_thread)
	mov	(REG_D0,fp),d0
	mov	(REG_A0,fp),a0
	calls	(a0)
	GET_THREAD_INFO a2		# A2 must be set on return from sys_exit()
	clr	d0
	mov	d0,(REG_D0,fp)
	jmp	syscall_exit
@@ -107,10 +108,10 @@ syscall_exit_work:
	and	EPSW_nSL,d0
	beq	resume_kernel		# returning to supervisor mode

	btst	_TIF_SYSCALL_TRACE,d2
	beq	work_pending
	LOCAL_IRQ_ENABLE		# could let syscall_trace_exit() call
					# schedule() instead
	btst	_TIF_SYSCALL_TRACE,d2
	beq	work_pending
	mov	fp,d0
	call	syscall_trace_exit[],0	# do_syscall_trace(regs)
	jmp	resume_userspace
@@ -123,6 +124,7 @@ work_pending:
work_resched:
	call	schedule[],0

resume_userspace:
	# make sure we don't miss an interrupt setting need_resched or
	# sigpending between sampling and the rti
	LOCAL_IRQ_DISABLE
@@ -131,6 +133,8 @@ work_resched:
	mov	(TI_flags,a2),d2
	btst	_TIF_WORK_MASK,d2
	beq	restore_all

	LOCAL_IRQ_ENABLE
	btst	_TIF_NEED_RESCHED,d2
	bne	work_resched

@@ -169,17 +173,6 @@ ret_from_intr:
	and	EPSW_nSL,d0
	beq	resume_kernel		# returning to supervisor mode

ENTRY(resume_userspace)
	# make sure we don't miss an interrupt setting need_resched or
	# sigpending between sampling and the rti
	LOCAL_IRQ_DISABLE

	# is there any work to be done on int/exception return?
	mov	(TI_flags,a2),d2
	btst	_TIF_WORK_MASK,d2
	bne	work_pending
	jmp	restore_all

#ifdef CONFIG_PREEMPT
ENTRY(resume_kernel)
	LOCAL_IRQ_DISABLE
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <linux/delay.h>
#include <linux/irq.h>
#include <asm/io.h>
#include <asm/irq.h>
#include "pci-asb2305.h"

unsigned int pci_probe = 1;