Commit 2fccfcc0 authored by Johannes Berg's avatar Johannes Berg Committed by Richard Weinberger
Browse files

um: Remove IRQ_NONE type



We don't actually use this in um_request_irq(), so it can
never be assigned. It's also not clear what that would be
useful for, so just remove it.

This results in quite a number of cleanups, all the way to
removing the "SIGIO on close" startup check, since the data
it assigns (pty_close_sigio) is not used anymore.

While at it, also make this an enum so we get a minimum of
type checking, and remove the IRQ_NONE hack in virtio since
we now no longer have the name twice.

Acked-By: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Acked-By: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 0737402f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ static int __init rng_init (void)
	if (err < 0)
		goto err_out_cleanup_hw;

	sigio_broken(random_fd, 1);
	sigio_broken(random_fd);
	hwrng.name = RNG_MODULE_NAME;
	hwrng.read = rng_dev_read;
	hwrng.quality = 1024;
+0 −5
Original line number Diff line number Diff line
@@ -33,11 +33,6 @@
#include <os.h>
#include "vhost_user.h"

/* Workaround due to a conflict between irq_user.h and irqreturn.h */
#ifdef IRQ_NONE
#undef IRQ_NONE
#endif

#define MAX_SUPPORTED_QUEUE_SIZE	256

#define to_virtio_uml_device(_vdev) \
+4 −3
Original line number Diff line number Diff line
@@ -8,11 +8,12 @@

#include <linux/interrupt.h>
#include <asm/ptrace.h>
#include "irq_user.h"

#define UM_IRQ_ALLOC	-1

int um_request_irq(int irq, int fd, int type, irq_handler_t handler,
		   unsigned long irqflags,  const char * devname,
		   void *dev_id);
int um_request_irq(int irq, int fd, enum um_irq_type type,
		   irq_handler_t handler, unsigned long irqflags,
		   const char *devname, void *dev_id);
void um_free_irq(int irq, void *dev_id);
#endif
+5 −4
Original line number Diff line number Diff line
@@ -9,10 +9,11 @@
#include <sysdep/ptrace.h>
#include <stdbool.h>

#define IRQ_READ  0
#define IRQ_WRITE 1
#define IRQ_NONE 2
#define NUM_IRQ_TYPES (IRQ_NONE + 1)
enum um_irq_type {
	IRQ_READ,
	IRQ_WRITE,
	NUM_IRQ_TYPES,
};

struct siginfo;
extern void sigio_handler(int sig, struct siginfo *unused_si, struct uml_pt_regs *regs);
+3 −3
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ extern void reboot_skas(void);
extern int os_waiting_for_events_epoll(void);
extern void *os_epoll_get_data_pointer(int index);
extern int os_epoll_triggered(int index, int events);
extern int os_event_mask(int irq_type);
extern int os_event_mask(enum um_irq_type irq_type);
extern int os_setup_epoll(void);
extern int os_add_epoll_fd(int events, int fd, void *data);
extern int os_mod_epoll_fd(int events, int fd, void *data);
@@ -310,8 +310,8 @@ extern void os_close_epoll_fd(void);
/* sigio.c */
extern int add_sigio_fd(int fd);
extern int ignore_sigio_fd(int fd);
extern void maybe_sigio_broken(int fd, int read);
extern void sigio_broken(int fd, int read);
extern void maybe_sigio_broken(int fd);
extern void sigio_broken(int fd);

/* prctl.c */
extern int os_arch_prctl(int pid, int option, unsigned long *arg2);
Loading