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

Commit 3a8580f8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull UML updates from Richard Weinberger:
 "Most changes are bug fixes and cleanups"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
  um: missing checks of __put_user()/__get_user() return values
  um: stub_rt_sigsuspend isn't needed these days anymore
  um/x86: merge (and trim) 32- and 64-bit variants of ptrace.h
  irq: Remove irq_chip->release()
  um: Remove CONFIG_IRQ_RELEASE_METHOD
  um: Remove usage of irq_chip->release()
  um: Implement um_free_irq()
  um: Fix __swp_type()
  um: Implement a custom pte_same() function
  um: Add BUG() to do_ops()'s error path
  um: Remove unused variables
  um: bury unused _TIF_RESTORE_SIGMASK
  um: wrong sigmask saved in case of multiple sigframes
  um: add TIF_NOTIFY_RESUME
  um: ->restart_block.fn needs to be reset on sigreturn
parents 1d767cae 2ccf62b3
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -56,11 +56,6 @@ config GENERIC_CLOCKEVENTS
	bool
	default y

# Used in kernel/irq/manage.c and include/linux/irq.h
config IRQ_RELEASE_METHOD
	bool
	default y

config HZ
	int
	default 100
+0 −1
Original line number Diff line number Diff line
@@ -12,7 +12,6 @@ CONFIG_LOCKDEP_SUPPORT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_IRQ_RELEASE_METHOD=y
CONFIG_HZ=100

#
+5 −4
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
#include <linux/tty_flip.h>
#include "chan.h"
#include "os.h"
#include "irq_kern.h"

#ifdef CONFIG_NOCONFIG_CHAN
static void *not_configged_init(char *str, int device,
@@ -213,9 +214,9 @@ void free_irqs(void)
		chan = list_entry(ele, struct chan, free_list);

		if (chan->input && chan->enabled)
			free_irq(chan->line->driver->read_irq, chan);
			um_free_irq(chan->line->driver->read_irq, chan);
		if (chan->output && chan->enabled)
			free_irq(chan->line->driver->write_irq, chan);
			um_free_irq(chan->line->driver->write_irq, chan);
		chan->enabled = 0;
	}
}
@@ -234,9 +235,9 @@ static void close_one_chan(struct chan *chan, int delay_free_irq)
	}
	else {
		if (chan->input && chan->enabled)
			free_irq(chan->line->driver->read_irq, chan);
			um_free_irq(chan->line->driver->read_irq, chan);
		if (chan->output && chan->enabled)
			free_irq(chan->line->driver->write_irq, chan);
			um_free_irq(chan->line->driver->write_irq, chan);
		chan->enabled = 0;
	}
	if (chan->ops->close != NULL)
+1 −1
Original line number Diff line number Diff line
@@ -699,7 +699,7 @@ struct winch {
static void __free_winch(struct work_struct *work)
{
	struct winch *winch = container_of(work, struct winch, work);
	free_irq(WINCH_IRQ, winch);
	um_free_irq(WINCH_IRQ, winch);

	if (winch->pid != -1)
		os_kill_process(winch->pid, 1);
+2 −2
Original line number Diff line number Diff line
@@ -195,7 +195,7 @@ static int uml_net_close(struct net_device *dev)

	netif_stop_queue(dev);

	free_irq(dev->irq, dev);
	um_free_irq(dev->irq, dev);
	if (lp->close != NULL)
		(*lp->close)(lp->fd, &lp->user);
	lp->fd = -1;
@@ -835,7 +835,7 @@ static void close_devices(void)
	spin_lock(&opened_lock);
	list_for_each(ele, &opened) {
		lp = list_entry(ele, struct uml_net_private, list);
		free_irq(lp->dev->irq, lp->dev);
		um_free_irq(lp->dev->irq, lp->dev);
		if ((lp->close != NULL) && (lp->fd >= 0))
			(*lp->close)(lp->fd, &lp->user);
		if (lp->remove != NULL)
Loading