Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
979faf85
Commit
979faf85
authored
Mar 04, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.5/linux
parents
23893419
8b27e49f
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
83 additions
and
72 deletions
+83
-72
drivers/pci/pci.ids
drivers/pci/pci.ids
+2
-0
drivers/serial/8250.c
drivers/serial/8250.c
+3
-7
drivers/serial/8250_pci.c
drivers/serial/8250_pci.c
+7
-2
drivers/serial/Kconfig
drivers/serial/Kconfig
+0
-6
drivers/serial/clps711x.c
drivers/serial/clps711x.c
+0
-9
drivers/serial/serial_core.c
drivers/serial/serial_core.c
+0
-5
fs/nfsd/export.c
fs/nfsd/export.c
+4
-9
fs/nfsd/nfsfh.c
fs/nfsd/nfsfh.c
+47
-33
include/linux/nfsd/nfsfh.h
include/linux/nfsd/nfsfh.h
+20
-1
No files found.
drivers/pci/pci.ids
View file @
979faf85
...
...
@@ -5601,6 +5601,8 @@
14da National Aerospace Laboratories
14db AFAVLAB Technology Inc
2120 TK9902
2180 P028
2182 P030
14dc Amplicon Liveline Ltd
0000 PCI230
0001 PCI242
...
...
drivers/serial/8250.c
View file @
979faf85
...
...
@@ -16,12 +16,8 @@
*
* A note about mapbase / membase
*
* mapbase is the physical address of the IO port. Currently, we don't
* support this very well, and it may well be dropped from this driver
* in future. As such, mapbase should be NULL.
*
* membase is an 'ioremapped' cookie. This is compatible with the old
* serial.c driver, and is currently the preferred form.
* mapbase is the physical address of the IO port.
* membase is an 'ioremapped' cookie.
*/
#include <linux/config.h>
#include <linux/module.h>
...
...
@@ -1976,7 +1972,7 @@ static int __init serial8250_console_setup(struct console *co, char *options)
if
(
co
->
index
>=
UART_NR
)
co
->
index
=
0
;
port
=
&
serial8250_ports
[
co
->
index
].
port
;
if
(
port
->
type
==
PORT_UNKNOWN
)
if
(
!
port
->
ops
)
return
-
ENODEV
;
/*
...
...
drivers/serial/8250_pci.c
View file @
979faf85
...
...
@@ -145,8 +145,10 @@ afavlab_setup(struct pci_dev *dev, struct pci_board *board,
bar
=
FL_GET_BASE
(
board
->
flags
);
if
(
idx
<
4
)
bar
+=
idx
;
else
else
{
bar
=
4
;
offset
+=
(
idx
-
4
)
*
board
->
uart_offset
;
}
return
setup_port
(
dev
,
req
,
bar
,
offset
,
board
->
reg_shift
);
}
...
...
@@ -1772,7 +1774,7 @@ static struct pci_device_id serial_pci_tbl[] = {
pbn_b0_4_115200
},
{
PCI_VENDOR_ID_OXSEMI
,
PCI_DEVICE_ID_OXSEMI_16PCI952
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
pbn_b0_
2_1152
00
},
pbn_b0_
bt_2_9216
00
},
/*
* Digitan DS560-558, from jimd@esoft.com
...
...
@@ -1891,6 +1893,9 @@ static struct pci_device_id serial_pci_tbl[] = {
{
PCI_VENDOR_ID_AFAVLAB
,
PCI_DEVICE_ID_AFAVLAB_P028
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
pbn_b0_bt_8_115200
},
{
PCI_VENDOR_ID_AFAVLAB
,
PCI_DEVICE_ID_AFAVLAB_P030
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
pbn_b0_bt_8_115200
},
{
PCI_VENDOR_ID_LAVA
,
PCI_DEVICE_ID_LAVA_DSERIAL
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
...
...
drivers/serial/Kconfig
View file @
979faf85
...
...
@@ -250,12 +250,6 @@ config SERIAL_CLPS711X_CONSOLE
your boot loader (lilo or loadlin) about how to pass options to the
kernel at boot time.)
config SERIAL_CLPS711X_OLD_NAME
bool "Use the old 2.4 names for CLPS711X serial port"
depends on SERIAL_CLPS711X=y
help
::: To be written :::
config SERIAL_DZ
bool "DECstation DZ serial driver"
depends on DECSTATION
...
...
drivers/serial/clps711x.c
View file @
979faf85
...
...
@@ -49,19 +49,10 @@
#define UART_NR 2
#ifndef CONFIG_SERIAL_CLPS711X_OLD_NAME
#define SERIAL_CLPS711X_MAJOR 204
#define SERIAL_CLPS711X_MINOR 40
#define SERIAL_CLPS711X_NR UART_NR
#else
#warning The old names/device number for this driver if compatabity is needed
#define SERIAL_CLPS711X_MAJOR 204
#define SERIAL_CLPS711X_MINOR 16
#define SERIAL_CLPS711X_NR UART_NR
#endif
/*
* We use the relevant SYSCON register as a base address for these ports.
*/
...
...
drivers/serial/serial_core.c
View file @
979faf85
...
...
@@ -175,8 +175,6 @@ static int uart_startup(struct uart_state *state, int init_hw)
uart_circ_clear
(
&
info
->
xmit
);
}
port
->
mctrl
=
0
;
retval
=
port
->
ops
->
startup
(
port
);
if
(
retval
==
0
)
{
if
(
init_hw
)
{
...
...
@@ -1874,9 +1872,6 @@ uart_set_options(struct uart_port *port, struct console *co,
if
(
flow
==
'r'
)
termios
.
c_cflag
|=
CRTSCTS
;
if
(
!
port
->
ops
)
return
0
;
/* "console=" on ia64 */
port
->
ops
->
set_termios
(
port
,
&
termios
,
NULL
);
co
->
cflag
=
termios
.
c_cflag
;
...
...
fs/nfsd/export.c
View file @
979faf85
...
...
@@ -56,11 +56,6 @@ static int exp_verify_string(char *cp, int max);
#define EXPKEY_HASHMASK (EXPKEY_HASHMAX -1)
static
struct
cache_head
*
expkey_table
[
EXPKEY_HASHMAX
];
static
inline
int
key_len
(
int
type
)
{
return
type
==
0
?
8
:
type
==
1
?
4
:
12
;
}
static
inline
int
svc_expkey_hash
(
struct
svc_expkey
*
item
)
{
int
hash
=
item
->
ek_fsidtype
;
...
...
@@ -547,8 +542,8 @@ exp_get_key(svc_client *clp, dev_t dev, ino_t ino)
mk_fsid_v0
(
fsidv
,
dev
,
ino
);
return
exp_find_key
(
clp
,
0
,
fsidv
,
NULL
);
}
mk_fsid_v
2
(
fsidv
,
dev
,
ino
);
return
exp_find_key
(
clp
,
2
,
fsidv
,
NULL
);
mk_fsid_v
3
(
fsidv
,
dev
,
ino
);
return
exp_find_key
(
clp
,
3
,
fsidv
,
NULL
);
}
/*
...
...
@@ -684,8 +679,8 @@ static int exp_hash(struct auth_domain *clp, struct svc_export *exp)
mk_fsid_v0
(
fsid
,
dev
,
inode
->
i_ino
);
return
exp_set_key
(
clp
,
0
,
fsid
,
exp
);
}
mk_fsid_v
2
(
fsid
,
dev
,
inode
->
i_ino
);
return
exp_set_key
(
clp
,
2
,
fsid
,
exp
);
mk_fsid_v
3
(
fsid
,
dev
,
inode
->
i_ino
);
return
exp_set_key
(
clp
,
3
,
fsid
,
exp
);
}
static
void
exp_unhash
(
struct
svc_export
*
exp
)
...
...
fs/nfsd/nfsfh.c
View file @
979faf85
...
...
@@ -117,19 +117,14 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access)
case
0
:
break
;
default:
goto
out
;
}
switch
(
fh
->
fh_fsid_type
)
{
case
0
:
len
=
2
;
break
;
case
1
:
len
=
1
;
break
;
case
2
:
len
=
key_len
(
fh
->
fh_fsid_type
)
/
4
;
if
(
len
==
0
)
goto
out
;
if
(
fh
->
fh_fsid_type
==
2
)
{
/* deprecated, convert to type 3 */
len
=
3
;
break
;
default:
goto
out
;
fh
->
fh_fsid_type
=
3
;
fh
->
fh_fsid
[
0
]
=
new_encode_dev
(
MKDEV
(
ntohl
(
fh
->
fh_fsid
[
0
]),
ntohl
(
fh
->
fh_fsid
[
1
])));
fh
->
fh_fsid
[
1
]
=
fh
->
fh_fsid
[
2
]
;
}
if
((
data_left
-=
len
)
<
0
)
goto
out
;
exp
=
exp_find
(
rqstp
->
rq_client
,
fh
->
fh_fsid_type
,
datap
,
&
rqstp
->
rq_chandle
);
...
...
@@ -336,19 +331,31 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, st
parent
->
d_name
.
name
,
dentry
->
d_name
.
name
,
(
inode
?
inode
->
i_ino
:
0
));
/* for large devnums rules are simple */
if
(
!
old_valid_dev
(
ex_dev
))
{
ref_fh_version
=
1
;
if
(
exp
->
ex_flags
&
NFSEXP_FSID
)
ref_fh_fsid_type
=
1
;
else
ref_fh_fsid_type
=
2
;
}
else
if
(
ref_fh
)
{
if
(
ref_fh
)
{
ref_fh_version
=
ref_fh
->
fh_handle
.
fh_version
;
ref_fh_fsid_type
=
ref_fh
->
fh_handle
.
fh_fsid_type
;
if
(
!
(
exp
->
ex_flags
&
NFSEXP_FSID
)
||
ref_fh_fsid_type
==
2
)
if
(
ref_fh_version
==
0xca
)
ref_fh_fsid_type
=
0
;
else
ref_fh_fsid_type
=
ref_fh
->
fh_handle
.
fh_fsid_type
;
if
(
ref_fh_fsid_type
>
3
)
ref_fh_fsid_type
=
0
;
}
/* make sure ref_fh type works for given export */
if
(
ref_fh_fsid_type
==
1
&&
!
(
exp
->
ex_flags
&
NFSEXP_FSID
))
{
/* if we don't have an fsid, we cannot provide one... */
ref_fh_fsid_type
=
0
;
}
if
(
!
old_valid_dev
(
ex_dev
)
&&
ref_fh_fsid_type
==
0
)
{
/* for newer device numbers, we must use a newer fsid format */
ref_fh_version
=
1
;
ref_fh_fsid_type
=
3
;
}
if
(
old_valid_dev
(
ex_dev
)
&&
(
ref_fh_fsid_type
==
2
||
ref_fh_fsid_type
==
3
))
/* must use type1 for smaller device numbers */
ref_fh_fsid_type
=
0
;
if
(
ref_fh
==
fhp
)
fh_put
(
ref_fh
);
...
...
@@ -376,16 +383,22 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, st
if
(
inode
)
_fh_update_old
(
dentry
,
exp
,
&
fhp
->
fh_handle
);
}
else
{
int
len
;
fhp
->
fh_handle
.
fh_version
=
1
;
fhp
->
fh_handle
.
fh_auth_type
=
0
;
datap
=
fhp
->
fh_handle
.
fh_auth
+
0
;
fhp
->
fh_handle
.
fh_fsid_type
=
ref_fh_fsid_type
;
switch
(
ref_fh_fsid_type
)
{
case
0
:
/*
* fsid_type 0:
* 2byte major, 2byte minor, 4byte inode
*/
mk_fsid_v0
(
datap
,
ex_dev
,
exp
->
ex_dentry
->
d_inode
->
i_ino
);
case
1
:
/* fsid_type 1 == 4 bytes filesystem id */
mk_fsid_v1
(
datap
,
exp
->
ex_fsid
);
datap
+=
1
;
fhp
->
fh_handle
.
fh_size
=
2
*
4
;
break
;
case
2
:
/*
...
...
@@ -394,21 +407,22 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, st
*/
mk_fsid_v2
(
datap
,
ex_dev
,
exp
->
ex_dentry
->
d_inode
->
i_ino
);
datap
+=
3
;
fhp
->
fh_handle
.
fh_size
=
4
*
4
;
break
;
default
:
case
3
:
/*
* fsid_type
0
:
*
2byte major, 2byte mino
r, 4byte inode
* fsid_type
3
:
*
4byte devicenumbe
r, 4byte inode
*/
mk_fsid_v
0
(
datap
,
ex_dev
,
mk_fsid_v
3
(
datap
,
ex_dev
,
exp
->
ex_dentry
->
d_inode
->
i_ino
);
datap
+=
2
;
fhp
->
fh_handle
.
fh_size
=
3
*
4
;
break
;
}
len
=
key_len
(
ref_fh_fsid_type
);
datap
+=
len
/
4
;
fhp
->
fh_handle
.
fh_size
=
4
+
len
;
if
(
inode
)
{
int
size
=
fhp
->
fh_maxsize
/
4
-
3
;
int
size
=
(
fhp
->
fh_maxsize
-
len
-
4
)
/
4
;
fhp
->
fh_handle
.
fh_fileid_type
=
_fh_update
(
dentry
,
exp
,
datap
,
&
size
);
fhp
->
fh_handle
.
fh_size
+=
size
*
4
;
...
...
include/linux/nfsd/nfsfh.h
View file @
979faf85
...
...
@@ -66,8 +66,9 @@ struct nfs_fhbase_old {
* 0 - 4 byte device id (ms-2-bytes major, ls-2-bytes minor), 4byte inode number
* NOTE: we cannot use the kdev_t device id value, because kdev_t.h
* says we mustn't. We must break it up and reassemble.
* Possible future encodings:
* 1 - 4 byte user specified identifier
* 2 - 4 byte major, 4 byte minor, 4 byte inode number - DEPRECATED
* 3 - 4 byte device id, encoded for user-space, 4 byte inode number
*
* The fileid_type identified how the file within the filesystem is encoded.
* This is (will be) passed to, and set by, the underlying filesystem if it supports
...
...
@@ -114,6 +115,7 @@ struct knfsd_fh {
#define fh_auth_type fh_base.fh_new.fb_auth_type
#define fh_fileid_type fh_base.fh_new.fb_fileid_type
#define fh_auth fh_base.fh_new.fb_auth
#define fh_fsid fh_base.fh_new.fb_auth
#ifdef __KERNEL__
...
...
@@ -183,6 +185,23 @@ static inline void mk_fsid_v2(u32 *fsidv, dev_t dev, ino_t ino)
fsidv
[
2
]
=
ino_t_to_u32
(
ino
);
}
static
inline
void
mk_fsid_v3
(
u32
*
fsidv
,
dev_t
dev
,
ino_t
ino
)
{
fsidv
[
0
]
=
new_encode_dev
(
dev
);
fsidv
[
1
]
=
ino_t_to_u32
(
ino
);
}
static
inline
int
key_len
(
int
type
)
{
switch
(
type
)
{
case
0
:
return
8
;
case
1
:
return
4
;
case
2
:
return
12
;
case
3
:
return
8
;
default:
return
0
;
}
}
/*
* Shorthand for dprintk()'s
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment