summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 20:09:44 -0800
committerLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 20:09:44 -0800
commita67f1b5da2cf8b14395596048c876247b894aa5c (patch)
tree0f125e709fddc4d32579fb267ede0f9c8079ff11 /include/linux
parente9e7d7fa16122d7bfa6f87188828baf6080cb02e (diff)
v2.4.8 -> v2.4.8.1
- Rui Sousa: emu10k1 module fixes, remove joystick part. - Alan Cox: driver merges - Andrea Arkangeli: alpha updates - David Woodhouse: up_and_exit -> complete_and_exit - David Miller: sparc and network update - Andrew Morton: update 3c59x driver - Neil Brown: NFS export VFAT, knfsd cleanups, raid fixes - Ben Collins: ieee1394 updates - Paul Mackerras: PPC update - me: make sure we don't lose position bits in "filldir()"
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ac97_codec.h17
-rw-r--r--include/linux/fs.h3
-rw-r--r--include/linux/i2o.h6
-rw-r--r--include/linux/iso_fs_sb.h1
-rw-r--r--include/linux/jffs.h4
-rw-r--r--include/linux/kernel.h4
-rw-r--r--include/linux/major.h14
-rw-r--r--include/linux/netdevice.h2
-rw-r--r--include/linux/pci_ids.h9
-rw-r--r--include/linux/raid/md.h1
-rw-r--r--include/linux/raid/md_k.h27
-rw-r--r--include/linux/raid/raid1.h3
-rw-r--r--include/linux/serio.h6
-rw-r--r--include/linux/swap.h2
14 files changed, 87 insertions, 12 deletions
diff --git a/include/linux/ac97_codec.h b/include/linux/ac97_codec.h
index 6936d00ab649..986599666c2b 100644
--- a/include/linux/ac97_codec.h
+++ b/include/linux/ac97_codec.h
@@ -152,8 +152,7 @@ struct ac97_codec {
int dev_mixer;
int type;
- /* codec specific init/reset routines, used mainly for 4 or 6 channel support */
- int (*codec_init) (struct ac97_codec *codec);
+ struct ac97_ops *codec_ops;
/* controller specific lower leverl ac97 accessing routines */
u16 (*codec_read) (struct ac97_codec *codec, u8 reg);
@@ -184,6 +183,20 @@ struct ac97_codec {
int (*modem_ioctl)(struct ac97_codec *codec, unsigned int cmd, unsigned long arg);
};
+/*
+ * Operation structures for each known AC97 chip
+ */
+
+struct ac97_ops
+{
+ /* Initialise */
+ int (*init)(struct ac97_codec *c);
+ /* Amplifier control */
+ int (*amplifier)(struct ac97_codec *codec, int on);
+ /* Digital mode control */
+ int (*digital)(struct ac97_codec *codec, int format);
+};
+
extern int ac97_read_proc (char *page_out, char **start, off_t off,
int count, int *eof, void *data);
extern int ac97_probe_codec(struct ac97_codec *);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 2512dbe7393b..d8fed404b1e2 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -763,7 +763,7 @@ extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct de
* This allows the kernel to read directories into kernel space or
* to have different dirent layouts depending on the binary type.
*/
-typedef int (*filldir_t)(void *, const char *, int, off_t, ino_t, unsigned);
+typedef int (*filldir_t)(void *, const char *, int, loff_t, ino_t, unsigned);
struct block_device_operations {
int (*open) (struct inode *, struct file *);
@@ -1344,6 +1344,7 @@ extern int file_read_actor(read_descriptor_t * desc, struct page *page, unsigned
extern ssize_t generic_file_read(struct file *, char *, size_t, loff_t *);
extern ssize_t generic_file_write(struct file *, const char *, size_t, loff_t *);
extern void do_generic_file_read(struct file *, loff_t *, read_descriptor_t *, read_actor_t);
+extern loff_t no_llseek(struct file *file, loff_t offset, int origin);
extern loff_t generic_file_llseek(struct file *file, loff_t offset, int origin);
extern ssize_t generic_read_dir(struct file *, char *, size_t, loff_t *);
diff --git a/include/linux/i2o.h b/include/linux/i2o.h
index cebfa0df8717..45c45ef0170a 100644
--- a/include/linux/i2o.h
+++ b/include/linux/i2o.h
@@ -78,6 +78,7 @@ struct i2o_device
*/
struct i2o_pci
{
+ struct pci_dev *pdev; /* PCI device */
int irq;
int queue_buggy:1; /* Don't send a lot of messages */
int short_req:1; /* Use small block sizes */
@@ -126,6 +127,11 @@ struct i2o_controller
u32 mem_phys; /* MFA physical */
int battery:1; /* Has a battery backup */
+ int io_alloc:1; /* An I/O resource was allocated */
+ int mem_alloc:1; /* A memory resource was allocated */
+
+ struct resource io_resource; /* I/O resource allocated to the IOP */
+ struct resource mem_resource; /* Mem resource allocated to the IOP */
struct proc_dir_entry* proc_entry; /* /proc dir */
diff --git a/include/linux/iso_fs_sb.h b/include/linux/iso_fs_sb.h
index 7bb55a504ce5..1f1100bbbc57 100644
--- a/include/linux/iso_fs_sb.h
+++ b/include/linux/iso_fs_sb.h
@@ -13,6 +13,7 @@ struct isofs_sb_info {
unsigned char s_high_sierra; /* A simple flag */
unsigned char s_mapping;
+ int s_rock_offset; /* offset of SUSP fields within SU area */
unsigned char s_rock;
unsigned char s_joliet_level;
unsigned char s_utf8;
diff --git a/include/linux/jffs.h b/include/linux/jffs.h
index 61e7b66fe39b..3b1f1c81275d 100644
--- a/include/linux/jffs.h
+++ b/include/linux/jffs.h
@@ -22,6 +22,8 @@
#define JFFS_VERSION_STRING "1.0"
+#include <linux/completion.h>
+
/* This is a magic number that is used as an identification number for
this file system. It is written to the super_block structure. */
#define JFFS_MAGIC_SB_BITMASK 0x07c0 /* 1984 */
@@ -185,7 +187,7 @@ struct jffs_control
struct jffs_delete_list *delete_list; /* Track deleted files. */
pid_t thread_pid; /* GC thread's PID */
struct task_struct *gc_task; /* GC task struct */
- struct semaphore gc_thread_sem; /* GC thread exit mutex */
+ struct completion gc_thread_comp; /* GC thread exit mutex */
__u32 gc_minfree_threshold; /* GC trigger thresholds */
__u32 gc_maxdirty_threshold;
};
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index c915687b8b65..6f1882dbaeb5 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -45,14 +45,14 @@
#define FASTCALL(x) x
#endif
-struct semaphore;
+struct completion;
extern struct notifier_block *panic_notifier_list;
NORET_TYPE void panic(const char * fmt, ...)
__attribute__ ((NORET_AND format (printf, 1, 2)));
NORET_TYPE void do_exit(long error_code)
ATTRIB_NORET;
-NORET_TYPE void up_and_exit(struct semaphore *, long)
+NORET_TYPE void complete_and_exit(struct completion *, long)
ATTRIB_NORET;
extern int abs(int);
extern unsigned long simple_strtoul(const char *,char **,unsigned int);
diff --git a/include/linux/major.h b/include/linux/major.h
index f47c315e144d..e46f28eee6bb 100644
--- a/include/linux/major.h
+++ b/include/linux/major.h
@@ -176,4 +176,18 @@ static __inline__ int scsi_blk_major(int m) {
return SCSI_BLK_MAJOR(m);
}
+/*
+ * Tests for IDE devices
+ */
+#define IDE_DISK_MAJOR(M) ((M) == IDE0_MAJOR || (M) == IDE1_MAJOR || \
+ (M) == IDE2_MAJOR || (M) == IDE3_MAJOR || \
+ (M) == IDE4_MAJOR || (M) == IDE5_MAJOR || \
+ (M) == IDE6_MAJOR || (M) == IDE7_MAJOR || \
+ (M) == IDE8_MAJOR || (M) == IDE9_MAJOR)
+
+static __inline__ int ide_blk_major(int m)
+{
+ return IDE_DISK_MAJOR(m);
+}
+
#endif
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 003326eb3361..c6d1f405f728 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -344,7 +344,7 @@ struct net_device
#define NETIF_F_HW_CSUM 8 /* Can checksum all the packets. */
#define NETIF_F_DYNALLOC 16 /* Self-dectructable device. */
#define NETIF_F_HIGHDMA 32 /* Can DMA to high memory. */
-#define NETIF_F_FRAGLIST 1 /* Scatter/gather IO. */
+#define NETIF_F_FRAGLIST 64 /* Scatter/gather IO. */
/* Called after device is detached from network. */
void (*uninit)(struct net_device *dev);
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index fcd93ba5e88b..a32080868dcd 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -348,6 +348,8 @@
#define PCI_DEVICE_ID_AMD_SCSI 0x2020
#define PCI_DEVICE_ID_AMD_FE_GATE_7006 0x7006
#define PCI_DEVICE_ID_AMD_FE_GATE_7007 0x7007
+#define PCI_DEVICE_ID_AMD_FE_GATE_700C 0x700C
+#define PCI_DEVIDE_ID_AMD_FE_GATE_700D 0x700D
#define PCI_DEVICE_ID_AMD_FE_GATE_700E 0x700E
#define PCI_DEVICE_ID_AMD_FE_GATE_700F 0x700F
#define PCI_DEVICE_ID_AMD_COBRA_7400 0x7400
@@ -572,6 +574,7 @@
#define PCI_DEVICE_ID_PROMISE_20246 0x4d33
#define PCI_DEVICE_ID_PROMISE_20262 0x4d38
#define PCI_DEVICE_ID_PROMISE_20268 0x4d68
+#define PCI_DEVICE_ID_PROMISE_20268R 0x6268
#define PCI_DEVICE_ID_PROMISE_5300 0x5300
#define PCI_VENDOR_ID_N9 0x105d
@@ -1041,8 +1044,8 @@
#define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009
#define PCI_DEVICE_ID_SERVERWORKS_CIOB30 0x0010
#define PCI_DEVICE_ID_SERVERWORKS_CMIC_HE 0x0011
-#define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201
#define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200
+#define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201
#define PCI_DEVICE_ID_SERVERWORKS_OSB4IDE 0x0211
#define PCI_DEVICE_ID_SERVERWORKS_CSB5IDE 0x0212
#define PCI_DEVICE_ID_SERVERWORKS_OSB4USB 0x0220
@@ -1441,6 +1444,9 @@
#define PCI_VENDOR_ID_ZOLTRIX 0x15b0
#define PCI_DEVICE_ID_ZOLTRIX_2BD0 0x2bd0
+#define PCI_VENDOR_ID_PDC 0x15e9
+#define PCI_DEVICE_ID_PDC_1841 0x1841
+
#define PCI_VENDOR_ID_SYMPHONY 0x1c1c
#define PCI_DEVICE_ID_SYMPHONY_101 0x0001
@@ -1502,6 +1508,7 @@
#define PCI_DEVICE_ID_INTEL_82430 0x0486
#define PCI_DEVICE_ID_INTEL_82434 0x04a3
#define PCI_DEVICE_ID_INTEL_I960 0x0960
+#define PCI_DEVICE_ID_INTEL_82562ET 0x1031
#define PCI_DEVICE_ID_INTEL_82559ER 0x1209
#define PCI_DEVICE_ID_INTEL_82092AA_0 0x1221
#define PCI_DEVICE_ID_INTEL_82092AA_1 0x1222
diff --git a/include/linux/raid/md.h b/include/linux/raid/md.h
index 5cd20c6fcc1b..d18f20205636 100644
--- a/include/linux/raid/md.h
+++ b/include/linux/raid/md.h
@@ -36,6 +36,7 @@
#include <linux/locks.h>
#include <linux/kernel_stat.h>
#include <asm/io.h>
+#include <linux/completion.h>
#include <linux/raid/md_compatible.h>
/*
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index 8b6c3d7c0060..3b51e92fe555 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -323,7 +323,7 @@ typedef struct mdk_thread_s {
void *data;
md_wait_queue_head_t wqueue;
unsigned long flags;
- struct semaphore *sem;
+ struct completion *event;
struct task_struct *tsk;
const char *name;
} mdk_thread_t;
@@ -366,5 +366,30 @@ do { \
__wait_event_lock_irq(wq, condition, lock); \
} while (0)
+
+#define __wait_disk_event(wq, condition) \
+do { \
+ wait_queue_t __wait; \
+ init_waitqueue_entry(&__wait, current); \
+ \
+ add_wait_queue(&wq, &__wait); \
+ for (;;) { \
+ set_current_state(TASK_UNINTERRUPTIBLE); \
+ if (condition) \
+ break; \
+ run_task_queue(&tq_disk); \
+ schedule(); \
+ } \
+ current->state = TASK_RUNNING; \
+ remove_wait_queue(&wq, &__wait); \
+} while (0)
+
+#define wait_disk_event(wq, condition) \
+do { \
+ if (condition) \
+ break; \
+ __wait_disk_event(wq, condition); \
+} while (0)
+
#endif
diff --git a/include/linux/raid/raid1.h b/include/linux/raid/raid1.h
index a9a9d3e8edb8..40675b40ca0f 100644
--- a/include/linux/raid/raid1.h
+++ b/include/linux/raid/raid1.h
@@ -42,7 +42,10 @@ struct raid1_private_data {
*/
struct buffer_head *freebh;
int freebh_cnt; /* how many are on the list */
+ int freebh_blocked;
struct raid1_bh *freer1;
+ int freer1_blocked;
+ int freer1_cnt;
struct raid1_bh *freebuf; /* each bh_req has a page allocated */
md_wait_queue_head_t wait_buffer;
diff --git a/include/linux/serio.h b/include/linux/serio.h
index 2232e06ac141..3619a866ec57 100644
--- a/include/linux/serio.h
+++ b/include/linux/serio.h
@@ -2,7 +2,7 @@
#define _SERIO_H
/*
- * $Id: serio.h,v 1.8 2000/07/17 10:42:14 vojtech Exp $
+ * $Id: serio.h,v 1.11 2001/05/29 02:58:50 jsimmons Exp $
*
* Copyright (C) 1999 Vojtech Pavlik
*
@@ -104,6 +104,10 @@ static __inline__ int serio_write(struct serio *serio, unsigned char data)
#define SERIO_GUNZE 0x1c
#define SERIO_IFORCE 0x1d
#define SERIO_STINGER 0x1e
+#define SERIO_NEWTON 0x1f
+#define SERIO_STOWAWAY 0x20
+#define SERIO_H3600 0x21
+#define SERIO_PS2SER 0x22
#define SERIO_ID 0xff00UL
#define SERIO_EXTRA 0xff0000UL
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 4ad0da50e974..dd83dac6be0d 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -116,9 +116,7 @@ extern wait_queue_head_t kswapd_wait;
extern wait_queue_head_t kreclaimd_wait;
extern int page_launder(int, int);
extern int free_shortage(void);
-extern int total_free_shortage(void);
extern int inactive_shortage(void);
-extern int total_inactive_shortage(void);
extern void wakeup_kswapd(void);
extern int try_to_free_pages(unsigned int gfp_mask);