summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 17:59:22 -0800
committerLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 17:59:22 -0800
commit6db68906c1bb26066a32c8e5be0c523da41cf08f (patch)
treecfbf4280e3c3ff14986811401e4d5c58c2108f3d /include
parent2a7117ac7c120c085c56745f753166b821022858 (diff)
v2.4.1.4 -> v2.4.2
- sync up more with Alan - Urban Widmark: smbfs and HIGHMEM fix - Chris Mason: reiserfs tail unpacking fix ("null bytes in reiserfs files") - Adan Richter: new cpia usb ID - Hugh Dickins: misc small sysv ipc fixes - Andries Brouwer: remove overly restrictive sector size check for SCSI cd-roms
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc/highmem.h2
-rw-r--r--include/linux/dcache.h6
-rw-r--r--include/linux/kdev_t.h6
-rw-r--r--include/linux/list.h4
-rw-r--r--include/linux/lvm.h7
-rw-r--r--include/linux/mm.h4
-rw-r--r--include/linux/smb.h18
-rw-r--r--include/linux/smb_fs.h161
-rw-r--r--include/linux/smb_fs_i.h2
-rw-r--r--include/linux/smb_mount.h3
-rw-r--r--include/math-emu/op-2.h2
-rw-r--r--include/net/scm.h2
-rw-r--r--include/pcmcia/bulkmem.h2
-rw-r--r--include/pcmcia/bus_ops.h2
-rw-r--r--include/pcmcia/ciscode.h2
-rw-r--r--include/pcmcia/cisreg.h2
-rw-r--r--include/pcmcia/cistpl.h2
-rw-r--r--include/pcmcia/cs.h2
-rw-r--r--include/pcmcia/cs_types.h2
-rw-r--r--include/pcmcia/driver_ops.h2
-rw-r--r--include/pcmcia/ds.h2
-rw-r--r--include/pcmcia/ftl.h2
-rw-r--r--include/pcmcia/mem_op.h2
-rw-r--r--include/pcmcia/memory.h2
-rw-r--r--include/pcmcia/ss.h2
25 files changed, 109 insertions, 134 deletions
diff --git a/include/asm-sparc/highmem.h b/include/asm-sparc/highmem.h
index 179f1a3cbd95..9945bcb7e820 100644
--- a/include/asm-sparc/highmem.h
+++ b/include/asm-sparc/highmem.h
@@ -2,7 +2,7 @@
* highmem.h: virtual kernel memory mappings for high memory
*
* Used in CONFIG_HIGHMEM systems for memory pages which
- * are not addressable by direct kernel virtual adresses.
+ * are not addressable by direct kernel virtual addresses.
*
* Copyright (C) 1999 Gerhard Wichert, Siemens AG
* Gerhard.Wichert@pdb.siemens.de
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index 738d3b1906f8..74f377c06b7f 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -37,20 +37,18 @@ struct dentry_stat_t {
extern struct dentry_stat_t dentry_stat;
/* Name hashing routines. Initial hash value */
+/* Hash courtesy of the R5 hash in reiserfs modulo sign bits */
#define init_name_hash() 0
/* partial hash update function. Assume roughly 4 bits per character */
static __inline__ unsigned long partial_name_hash(unsigned long c, unsigned long prevhash)
{
- prevhash = (prevhash << 4) | (prevhash >> (8*sizeof(unsigned long)-4));
- return prevhash ^ c;
+ return (prevhash + (c << 4) + (c >> 4)) * 11;
}
/* Finally: cut down the number of bits to a int value (and try to avoid losing bits) */
static __inline__ unsigned long end_name_hash(unsigned long hash)
{
- if (sizeof(hash) > sizeof(unsigned int))
- hash += hash >> 4*sizeof(hash);
return (unsigned int) hash;
}
diff --git a/include/linux/kdev_t.h b/include/linux/kdev_t.h
index aeee1fbee0c7..7ef189ef0e6f 100644
--- a/include/linux/kdev_t.h
+++ b/include/linux/kdev_t.h
@@ -1,6 +1,6 @@
#ifndef _LINUX_KDEV_T_H
#define _LINUX_KDEV_T_H
-#ifdef __KERNEL__
+#if defined(__KERNEL__) || defined(_LVM_H_INCLUDE)
/*
As a preparation for the introduction of larger device numbers,
we introduce a type kdev_t to hold them. No information about
@@ -101,7 +101,7 @@ static inline kdev_t to_kdev_t(int dev)
return MKDEV(major, minor);
}
-#else /* __KERNEL__ */
+#else /* __KERNEL__ || _LVM_H_INCLUDE */
/*
Some programs want their definitions of MAJOR and MINOR and MKDEV
@@ -110,5 +110,5 @@ from the kernel sources. These must be the externally visible ones.
#define MAJOR(dev) ((dev)>>8)
#define MINOR(dev) ((dev) & 0xff)
#define MKDEV(ma,mi) ((ma)<<8 | (mi))
-#endif /* __KERNEL__ */
+#endif /* __KERNEL__ || _LVM_H_INCLUDE */
#endif
diff --git a/include/linux/list.h b/include/linux/list.h
index ed38faa2159e..48fea84b49ed 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -1,7 +1,7 @@
#ifndef _LINUX_LIST_H
#define _LINUX_LIST_H
-#ifdef __KERNEL__
+#if defined(__KERNEL__) || defined(_LVM_H_INCLUDE)
/*
* Simple doubly linked list implementation.
@@ -149,6 +149,6 @@ static __inline__ void list_splice(struct list_head *list, struct list_head *hea
#define list_for_each(pos, head) \
for (pos = (head)->next; pos != (head); pos = pos->next)
-#endif /* __KERNEL__ */
+#endif /* __KERNEL__ || _LVM_H_INCLUDE */
#endif
diff --git a/include/linux/lvm.h b/include/linux/lvm.h
index 4e95eb73db64..e1e701a912fd 100644
--- a/include/linux/lvm.h
+++ b/include/linux/lvm.h
@@ -95,15 +95,8 @@
*/
#endif /* #ifdef __KERNEL__ */
-#ifndef __KERNEL__
-#define __KERNEL__
#include <linux/kdev_t.h>
#include <linux/list.h>
-#undef __KERNEL__
-#else
-#include <linux/kdev_t.h>
-#include <linux/list.h>
-#endif /* #ifndef __KERNEL__ */
#include <asm/types.h>
#include <linux/major.h>
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 713b01316e19..f6c7cc6e2f69 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -200,8 +200,8 @@ static inline void set_page_dirty(struct page * page)
smp_mb__before_clear_bit(); \
if (!test_and_clear_bit(PG_locked, &(page)->flags)) BUG(); \
smp_mb__after_clear_bit(); \
- if (waitqueue_active(&page->wait)) \
- wake_up(&page->wait); \
+ if (waitqueue_active(&(page)->wait)) \
+ wake_up(&(page)->wait); \
} while (0)
#define PageError(page) test_bit(PG_error, &(page)->flags)
#define SetPageError(page) set_bit(PG_error, &(page)->flags)
diff --git a/include/linux/smb.h b/include/linux/smb.h
index 1382db0dce85..9f39c09d80ac 100644
--- a/include/linux/smb.h
+++ b/include/linux/smb.h
@@ -93,14 +93,6 @@ struct smb_fattr {
unsigned long f_blocks;
};
-struct smb_dirent {
- struct smb_fattr attr;
-
- int f_pos;
- int len;
- __u8 name[SMB_MAXNAMELEN];
-};
-
enum smb_conn_state {
CONN_VALID, /* everything's fine */
CONN_INVALID, /* Something went wrong, but did not
@@ -120,11 +112,13 @@ enum smb_conn_state {
#define SMB_HEADER_LEN 37 /* includes everything up to, but not
* including smb_bcc */
-#define SMB_DEF_MAX_XMIT 32768
-#define SMB_INITIAL_PACKET_SIZE 4000
-/* Allocate max. 1 page */
-#define TRANS2_MAX_TRANSFER (4096-17)
+#define SMB_INITIAL_PACKET_SIZE 4000
+#define SMB_MAX_PACKET_SIZE 32768
+
+/* reserve this much space for trans2 parameters. Shouldn't have to be more
+ than 10 or so, but OS/2 seems happier like this. */
+#define SMB_TRANS2_MAX_PARAM 64
#endif
#endif
diff --git a/include/linux/smb_fs.h b/include/linux/smb_fs.h
index 501ea4b964d6..4a811a20d68d 100644
--- a/include/linux/smb_fs.h
+++ b/include/linux/smb_fs.h
@@ -20,23 +20,31 @@
/* __kernel_uid_t can never change, so we have to use __kernel_uid32_t */
#define SMB_IOC_GETMOUNTUID32 _IOR('u', 3, __kernel_uid32_t)
+
#ifdef __KERNEL__
+#include <linux/pagemap.h>
+#include <linux/vmalloc.h>
+#include <linux/smb_mount.h>
#include <asm/unaligned.h>
+
+/* macro names are short for word, double-word, long value (?) */
#define WVAL(buf,pos) \
-(le16_to_cpu(get_unaligned((__u16 *)((__u8 *)(buf) + (pos)))))
+ (le16_to_cpu(get_unaligned((u16 *)((u8 *)(buf) + (pos)))))
#define DVAL(buf,pos) \
-(le32_to_cpu(get_unaligned((__u32 *)((__u8 *)(buf) + (pos)))))
+ (le32_to_cpu(get_unaligned((u32 *)((u8 *)(buf) + (pos)))))
+#define LVAL(buf,pos) \
+ (le64_to_cpu(get_unaligned((u64 *)((u8 *)(buf) + (pos)))))
#define WSET(buf,pos,val) \
-put_unaligned(cpu_to_le16((__u16)(val)), (__u16 *)((__u8 *)(buf) + (pos)))
+ put_unaligned(cpu_to_le16((u16)(val)), (u16 *)((u8 *)(buf) + (pos)))
#define DSET(buf,pos,val) \
-put_unaligned(cpu_to_le32((__u32)(val)), (__u32 *)((__u8 *)(buf) + (pos)))
+ put_unaligned(cpu_to_le32((u32)(val)), (u32 *)((u8 *)(buf) + (pos)))
+#define LSET(buf,pos,val) \
+ put_unaligned(cpu_to_le64((u64)(val)), (u64 *)((u8 *)(buf) + (pos)))
/* where to find the base of the SMB packet proper */
-#define smb_base(buf) ((__u8 *)(((__u8 *)(buf))+4))
-
-#include <linux/vmalloc.h>
+#define smb_base(buf) ((u8 *)(((u8 *)(buf))+4))
#ifdef DEBUG_SMB_MALLOC
@@ -70,7 +78,6 @@ smb_vfree(void *obj)
/*
* Flags for the in-memory inode
*/
-#define SMB_F_CACHEVALID 0x01 /* directory cache valid */
#define SMB_F_LOCALWRITE 0x02 /* file modified locally */
@@ -89,8 +96,54 @@ smb_vfree(void *obj)
#define SMB_CAP_LARGE_READX 0x4000
-/* linux/fs/smbfs/mmap.c */
-int smb_mmap(struct file *, struct vm_area_struct *);
+/*
+ * This is the time we allow an inode, dentry or dir cache to live. It is bad
+ * for performance to have shorter ttl on an inode than on the cache. It can
+ * cause refresh on each inode for a dir listing ... one-by-one
+ */
+#define SMB_MAX_AGE(server) (((server)->mnt->ttl * HZ) / 1000)
+
+static inline void
+smb_age_dentry(struct smb_sb_info *server, struct dentry *dentry)
+{
+ dentry->d_time = jiffies - SMB_MAX_AGE(server);
+}
+
+struct smb_cache_head {
+ time_t mtime; /* unused */
+ unsigned long time; /* cache age */
+ unsigned long end; /* last valid fpos in cache */
+ int eof;
+};
+
+#define SMB_DIRCACHE_SIZE ((int)(PAGE_CACHE_SIZE/sizeof(struct dentry *)))
+union smb_dir_cache {
+ struct smb_cache_head head;
+ struct dentry *dentry[SMB_DIRCACHE_SIZE];
+};
+
+#define SMB_FIRSTCACHE_SIZE ((int)((SMB_DIRCACHE_SIZE * \
+ sizeof(struct dentry *) - sizeof(struct smb_cache_head)) / \
+ sizeof(struct dentry *)))
+
+#define SMB_DIRCACHE_START (SMB_DIRCACHE_SIZE - SMB_FIRSTCACHE_SIZE)
+
+struct smb_cache_control {
+ struct smb_cache_head head;
+ struct page *page;
+ union smb_dir_cache *cache;
+ unsigned long fpos, ofs;
+ int filled, valid, idx;
+};
+
+static inline int
+smb_is_open(struct inode *i)
+{
+ return (i->u.smbfs_i.open == SMB_SERVER(i)->generation);
+}
+
+
+/* FIXME! the prototype list is probably not correct. Automate? */
/* linux/fs/smbfs/file.c */
extern struct inode_operations smb_file_inode_operations;
@@ -100,6 +153,7 @@ extern struct address_space_operations smb_file_aops;
/* linux/fs/smbfs/dir.c */
extern struct inode_operations smb_dir_inode_operations;
extern struct file_operations smb_dir_operations;
+void smb_new_dentry(struct dentry *dentry);
void smb_renew_times(struct dentry *);
/* linux/fs/smbfs/ioctl.c */
@@ -108,16 +162,15 @@ int smb_ioctl (struct inode *, struct file *, unsigned int, unsigned long);
/* linux/fs/smbfs/inode.c */
struct super_block *smb_read_super(struct super_block *, void *, int);
void smb_get_inode_attr(struct inode *, struct smb_fattr *);
+void smb_set_inode_attr(struct inode *, struct smb_fattr *);
void smb_invalidate_inodes(struct smb_sb_info *);
int smb_revalidate_inode(struct dentry *);
int smb_notify_change(struct dentry *, struct iattr *);
-unsigned long smb_invent_inos(unsigned long);
struct inode *smb_iget(struct super_block *, struct smb_fattr *);
/* linux/fs/smbfs/proc.c */
int smb_setcodepage(struct smb_sb_info *server, struct smb_nls_codepage *cp);
__u32 smb_len(unsigned char *);
-__u8 *smb_encode_smb_length(__u8 *, __u32);
__u8 *smb_setup_header(struct smb_sb_info *, __u8, __u16, __u16);
int smb_get_rsize(struct smb_sb_info *);
int smb_get_wsize(struct smb_sb_info *);
@@ -133,32 +186,21 @@ int smb_proc_mv(struct dentry *, struct dentry *);
int smb_proc_mkdir(struct dentry *);
int smb_proc_rmdir(struct dentry *);
int smb_proc_unlink(struct dentry *);
-int smb_proc_readdir(struct dentry *, int, void *);
+int smb_proc_readdir(struct file *filp, void *dirent, filldir_t filldir,
+ struct smb_cache_control *ctl);
int smb_proc_getattr(struct dentry *, struct smb_fattr *);
int smb_proc_setattr(struct dentry *, struct smb_fattr *);
int smb_proc_settime(struct dentry *, struct smb_fattr *);
int smb_proc_dskattr(struct super_block *, struct statfs *);
-int smb_proc_reconnect(struct smb_sb_info *);
-int smb_proc_connect(struct smb_sb_info *);
int smb_proc_disconnect(struct smb_sb_info *);
int smb_proc_trunc(struct smb_sb_info *, __u16, __u32);
void smb_init_root_dirent(struct smb_sb_info *, struct smb_fattr *);
-static inline int
-smb_is_open(struct inode *i)
-{
- return (i->u.smbfs_i.open == SMB_SERVER(i)->generation);
-}
-
/* linux/fs/smbfs/sock.c */
int smb_round_length(int);
int smb_valid_socket(struct inode *);
void smb_close_socket(struct smb_sb_info *);
-int smb_release(struct smb_sb_info *server);
-int smb_connect(struct smb_sb_info *server);
int smb_request(struct smb_sb_info *server);
-int smb_request_read_raw(struct smb_sb_info *, unsigned char *, int);
-int smb_request_write_raw(struct smb_sb_info *, unsigned const char *, int);
int smb_catch_keepalive(struct smb_sb_info *server);
int smb_dont_catch_keepalive(struct smb_sb_info *server);
int smb_trans2_request(struct smb_sb_info *server, __u16 trans2_command,
@@ -169,69 +211,14 @@ int smb_trans2_request(struct smb_sb_info *server, __u16 trans2_command,
/* fs/smbfs/cache.c */
-/*
- * The cache index describes the pages mapped starting
- * at offset PAGE_SIZE. We keep only a minimal amount
- * of information here.
- */
-struct cache_index {
- unsigned short num_entries;
- unsigned short space;
- struct cache_block * block;
-};
-
-#define NINDEX (PAGE_SIZE-64)/sizeof(struct cache_index)
-/*
- * The cache head is mapped as the page at offset 0.
- */
-struct cache_head {
- int valid;
- int status; /* error code or 0 */
- int entries; /* total entries */
- int pages; /* number of data pages */
- int idx; /* index of current data page */
- struct cache_index index[NINDEX];
-};
-
-/*
- * An array of cache_entry structures holds information
- * for each object in the cache_block.
- */
-struct cache_entry {
- ino_t ino;
- unsigned short namelen;
- unsigned short offset;
-};
-
-/*
- * The cache blocks hold the actual data. The entry table grows up
- * while the names grow down, and we have space until they meet.
- */
-struct cache_block {
- union {
- struct cache_entry table[1];
- char names[PAGE_SIZE];
- } cb_data;
-};
-
-/*
- * To return an entry, we can pass a reference to the
- * name instead of having to copy it.
- */
-struct cache_dirent {
- ino_t ino;
- unsigned long pos;
- int len;
- char * name;
-};
+void smb_invalid_dir_cache(struct inode * dir);
+void smb_invalidate_dircache_entries(struct dentry *parent);
+struct dentry * smb_dget_fpos(struct dentry *dentry, struct dentry *parent,
+ unsigned long fpos);
+int smb_fill_cache(struct file *filp, void *dirent, filldir_t filldir,
+ struct smb_cache_control *ctrl, struct qstr *qname,
+ struct smb_fattr *entry);
-struct cache_head * smb_get_dircache(struct dentry *);
-void smb_init_dircache(struct cache_head *);
-void smb_free_dircache(struct cache_head *);
-int smb_refill_dircache(struct cache_head *, struct dentry *);
-void smb_add_to_cache(struct cache_head *, struct cache_dirent *, off_t);
-int smb_find_in_cache(struct cache_head *, off_t, struct cache_dirent *);
-void smb_invalid_dir_cache(struct inode *);
#endif /* __KERNEL__ */
diff --git a/include/linux/smb_fs_i.h b/include/linux/smb_fs_i.h
index 8dca9066b9ab..e0faddbb3d2a 100644
--- a/include/linux/smb_fs_i.h
+++ b/include/linux/smb_fs_i.h
@@ -26,7 +26,7 @@ struct smb_inode_info {
__u16 attr; /* Attribute fields, DOS value */
__u16 access; /* Access mode */
- __u16 cache_valid; /* dircache valid? */
+ __u16 flags; /* status flags */
unsigned long oldmtime; /* last time refreshed */
unsigned long closed; /* timestamp when closed */
unsigned openers; /* number of fileid users */
diff --git a/include/linux/smb_mount.h b/include/linux/smb_mount.h
index ea240db51acb..fe65cdb6c6d6 100644
--- a/include/linux/smb_mount.h
+++ b/include/linux/smb_mount.h
@@ -50,6 +50,9 @@ struct smb_mount_data_kernel {
u32 flags;
+ /* maximum age in jiffies (inode, dentry and dircache) */
+ int ttl;
+
struct smb_nls_codepage codepage;
};
diff --git a/include/math-emu/op-2.h b/include/math-emu/op-2.h
index 184eb3c3b434..e639d534e67f 100644
--- a/include/math-emu/op-2.h
+++ b/include/math-emu/op-2.h
@@ -79,7 +79,7 @@
else \
{ \
X##_f0 = (X##_f1 >> ((N) - _FP_W_TYPE_SIZE) | \
- (((X##_f1 << (sz - (N))) | X##_f0) != 0)); \
+ (((X##_f1 << (2*_FP_W_TYPE_SIZE - (N))) | X##_f0) != 0)); \
X##_f1 = 0; \
} \
} while (0)
diff --git a/include/net/scm.h b/include/net/scm.h
index 98c2dc9164cc..e26b43f5eb93 100644
--- a/include/net/scm.h
+++ b/include/net/scm.h
@@ -63,5 +63,5 @@ static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
}
-#endif __LINUX_NET_SCM_H
+#endif /* __LINUX_NET_SCM_H */
diff --git a/include/pcmcia/bulkmem.h b/include/pcmcia/bulkmem.h
index c9bdab7a102f..c21d64d62b60 100644
--- a/include/pcmcia/bulkmem.h
+++ b/include/pcmcia/bulkmem.h
@@ -18,7 +18,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/bus_ops.h b/include/pcmcia/bus_ops.h
index bd4c2958f850..d99634af16f3 100644
--- a/include/pcmcia/bus_ops.h
+++ b/include/pcmcia/bus_ops.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/ciscode.h b/include/pcmcia/ciscode.h
index d449b42349d2..7fd7da26d035 100644
--- a/include/pcmcia/ciscode.h
+++ b/include/pcmcia/ciscode.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/cisreg.h b/include/pcmcia/cisreg.h
index 884d46de0fd4..803d2c369a4b 100644
--- a/include/pcmcia/cisreg.h
+++ b/include/pcmcia/cisreg.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/cistpl.h b/include/pcmcia/cistpl.h
index 5f9701fe2ff6..a14f0b91335d 100644
--- a/include/pcmcia/cistpl.h
+++ b/include/pcmcia/cistpl.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index bfbf3d744d61..2bd505c969dc 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/cs_types.h b/include/pcmcia/cs_types.h
index 186ce9f3e577..f6382c4ba696 100644
--- a/include/pcmcia/cs_types.h
+++ b/include/pcmcia/cs_types.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/driver_ops.h b/include/pcmcia/driver_ops.h
index bb95644b3692..7aae5e1de4c3 100644
--- a/include/pcmcia/driver_ops.h
+++ b/include/pcmcia/driver_ops.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index e50033bc6e21..65a5d07a3872 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/ftl.h b/include/pcmcia/ftl.h
index deab295b63d4..62a8071f2f7f 100644
--- a/include/pcmcia/ftl.h
+++ b/include/pcmcia/ftl.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/mem_op.h b/include/pcmcia/mem_op.h
index d7f70599d0aa..e80560075bb4 100644
--- a/include/pcmcia/mem_op.h
+++ b/include/pcmcia/mem_op.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/memory.h b/include/pcmcia/memory.h
index c87a3645f57b..ef87944dd4b3 100644
--- a/include/pcmcia/memory.h
+++ b/include/pcmcia/memory.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index e50861c1b8bc..02f3b8e87253 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -16,7 +16,7 @@
* are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
*
* Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License version 2 (the "GPL"), in which
+ * terms of the GNU General Public License version 2 (the "GPL"), in which
* case the provisions of the GPL are applicable instead of the
* above. If you wish to allow the use of your version of this file
* only under the terms of the GPL and not to allow others to use