diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 20:09:44 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 20:09:44 -0800 |
| commit | a67f1b5da2cf8b14395596048c876247b894aa5c (patch) | |
| tree | 0f125e709fddc4d32579fb267ede0f9c8079ff11 /include/linux | |
| parent | e9e7d7fa16122d7bfa6f87188828baf6080cb02e (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.h | 17 | ||||
| -rw-r--r-- | include/linux/fs.h | 3 | ||||
| -rw-r--r-- | include/linux/i2o.h | 6 | ||||
| -rw-r--r-- | include/linux/iso_fs_sb.h | 1 | ||||
| -rw-r--r-- | include/linux/jffs.h | 4 | ||||
| -rw-r--r-- | include/linux/kernel.h | 4 | ||||
| -rw-r--r-- | include/linux/major.h | 14 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 2 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 9 | ||||
| -rw-r--r-- | include/linux/raid/md.h | 1 | ||||
| -rw-r--r-- | include/linux/raid/md_k.h | 27 | ||||
| -rw-r--r-- | include/linux/raid/raid1.h | 3 | ||||
| -rw-r--r-- | include/linux/serio.h | 6 | ||||
| -rw-r--r-- | include/linux/swap.h | 2 |
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); |
