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
Kirill Smelkov
linux
Commits
ddef8ca8
Commit
ddef8ca8
authored
22 years ago
by
Richard Gooch
Browse files
Options
Browse Files
Download
Plain Diff
Merge atnf.csiro.au:/workaholix1/kernel/v2.5/linus
into atnf.csiro.au:/workaholix1/kernel/v2.5/rgooch-2.5
parents
46979afd
0043c64d
Changes
23
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
100 additions
and
85 deletions
+100
-85
Documentation/filesystems/devfs/ChangeLog
Documentation/filesystems/devfs/ChangeLog
+9
-0
drivers/block/cpqarray.c
drivers/block/cpqarray.c
+1
-1
drivers/cdrom/aztcd.c
drivers/cdrom/aztcd.c
+1
-2
drivers/cdrom/gscd.c
drivers/cdrom/gscd.c
+1
-2
drivers/cdrom/optcd.c
drivers/cdrom/optcd.c
+1
-2
drivers/cdrom/sjcd.c
drivers/cdrom/sjcd.c
+1
-2
drivers/cdrom/sonycd535.c
drivers/cdrom/sonycd535.c
+2
-2
drivers/char/ftape/zftape/zftape-init.c
drivers/char/ftape/zftape/zftape-init.c
+6
-6
drivers/char/tpqic02.c
drivers/char/tpqic02.c
+16
-24
drivers/char/tty_io.c
drivers/char/tty_io.c
+2
-4
drivers/char/vc_screen.c
drivers/char/vc_screen.c
+4
-4
drivers/isdn/capi/capi.c
drivers/isdn/capi/capi.c
+1
-1
drivers/md/md.c
drivers/md/md.c
+3
-2
drivers/s390/char/tubfs.c
drivers/s390/char/tubfs.c
+6
-9
drivers/sbus/audio/audio.c
drivers/sbus/audio/audio.c
+2
-4
drivers/usb/input/hiddev.c
drivers/usb/input/hiddev.c
+5
-2
fs/block_dev.c
fs/block_dev.c
+5
-4
fs/devfs/base.c
fs/devfs/base.c
+14
-1
include/linux/devfs_fs_kernel.h
include/linux/devfs_fs_kernel.h
+10
-0
init/do_mounts.c
init/do_mounts.c
+3
-2
sound/core/info.c
sound/core/info.c
+2
-2
sound/core/sound.c
sound/core/sound.c
+2
-2
sound/oss/soundcard.c
sound/oss/soundcard.c
+3
-7
No files found.
Documentation/filesystems/devfs/ChangeLog
View file @
ddef8ca8
...
@@ -1941,3 +1941,12 @@ Changes for patch v214
...
@@ -1941,3 +1941,12 @@ Changes for patch v214
- Updated README from master HTML file
- Updated README from master HTML file
- Fixed devfs entry leak in <devfs_readdir> when *readdir fails
- Fixed devfs entry leak in <devfs_readdir> when *readdir fails
===============================================================================
Changes for patch v215
- Created <devfs_find_and_unregister>
- Switched many functions from <devfs_find_handle> to
<devfs_find_and_unregister>
- Switched many functions from <devfs_find_handle> to <devfs_get_handle>
This diff is collapsed.
Click to expand it.
drivers/block/cpqarray.c
View file @
ddef8ca8
...
@@ -336,7 +336,7 @@ void cleanup_module(void)
...
@@ -336,7 +336,7 @@ void cleanup_module(void)
del_gendisk
(
&
ida_gendisk
[
i
]);
del_gendisk
(
&
ida_gendisk
[
i
]);
}
}
devfs_
unregister
(
devfs_find_handle
(
NULL
,
"ida"
,
0
,
0
,
0
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
"ida"
,
0
,
0
,
0
,
0
);
remove_proc_entry
(
"cpqarray"
,
proc_root_driver
);
remove_proc_entry
(
"cpqarray"
,
proc_root_driver
);
kfree
(
ida
);
kfree
(
ida
);
kfree
(
ida_sizes
);
kfree
(
ida_sizes
);
...
...
This diff is collapsed.
Click to expand it.
drivers/cdrom/aztcd.c
View file @
ddef8ca8
...
@@ -1957,8 +1957,7 @@ int __init aztcd_init(void)
...
@@ -1957,8 +1957,7 @@ int __init aztcd_init(void)
void
__exit
aztcd_exit
(
void
)
void
__exit
aztcd_exit
(
void
)
{
{
devfs_unregister
(
devfs_find_handle
devfs_find_and_unregister
(
NULL
,
"aztcd"
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
);
(
NULL
,
"aztcd"
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
));
if
((
devfs_unregister_blkdev
(
MAJOR_NR
,
"aztcd"
)
==
-
EINVAL
))
{
if
((
devfs_unregister_blkdev
(
MAJOR_NR
,
"aztcd"
)
==
-
EINVAL
))
{
printk
(
"What's that: can't unregister aztcd
\n
"
);
printk
(
"What's that: can't unregister aztcd
\n
"
);
return
;
return
;
...
...
This diff is collapsed.
Click to expand it.
drivers/cdrom/gscd.c
View file @
ddef8ca8
...
@@ -933,8 +933,7 @@ void __exit exit_gscd(void)
...
@@ -933,8 +933,7 @@ void __exit exit_gscd(void)
{
{
CLEAR_TIMER
;
CLEAR_TIMER
;
devfs_unregister
(
devfs_find_handle
devfs_find_and_unregister
(
NULL
,
"gscd"
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
);
(
NULL
,
"gscd"
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
));
if
((
devfs_unregister_blkdev
(
MAJOR_NR
,
"gscd"
)
==
-
EINVAL
))
{
if
((
devfs_unregister_blkdev
(
MAJOR_NR
,
"gscd"
)
==
-
EINVAL
))
{
printk
(
"What's that: can't unregister GoldStar-module
\n
"
);
printk
(
"What's that: can't unregister GoldStar-module
\n
"
);
return
;
return
;
...
...
This diff is collapsed.
Click to expand it.
drivers/cdrom/optcd.c
View file @
ddef8ca8
...
@@ -2051,8 +2051,7 @@ int __init optcd_init(void)
...
@@ -2051,8 +2051,7 @@ int __init optcd_init(void)
void
__exit
optcd_exit
(
void
)
void
__exit
optcd_exit
(
void
)
{
{
devfs_unregister
(
devfs_find_handle
(
NULL
,
"optcd"
,
0
,
0
,
devfs_find_and_unregister
(
NULL
,
"optcd"
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
);
DEVFS_SPECIAL_BLK
,
0
));
if
(
devfs_unregister_blkdev
(
MAJOR_NR
,
"optcd"
)
==
-
EINVAL
)
{
if
(
devfs_unregister_blkdev
(
MAJOR_NR
,
"optcd"
)
==
-
EINVAL
)
{
printk
(
KERN_ERR
"optcd: what's that: can't unregister
\n
"
);
printk
(
KERN_ERR
"optcd: what's that: can't unregister
\n
"
);
return
;
return
;
...
...
This diff is collapsed.
Click to expand it.
drivers/cdrom/sjcd.c
View file @
ddef8ca8
...
@@ -1802,8 +1802,7 @@ static int sjcd_cleanup(void)
...
@@ -1802,8 +1802,7 @@ static int sjcd_cleanup(void)
void
__exit
sjcd_exit
(
void
)
void
__exit
sjcd_exit
(
void
)
{
{
devfs_unregister
(
devfs_find_handle
devfs_find_and_unregister
(
NULL
,
"sjcd"
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
);
(
NULL
,
"sjcd"
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
));
if
(
sjcd_cleanup
())
if
(
sjcd_cleanup
())
printk
(
"SJCD: module: cannot be removed.
\n
"
);
printk
(
"SJCD: module: cannot be removed.
\n
"
);
else
else
...
...
This diff is collapsed.
Click to expand it.
drivers/cdrom/sonycd535.c
View file @
ddef8ca8
...
@@ -1700,8 +1700,8 @@ sony535_exit(void)
...
@@ -1700,8 +1700,8 @@ sony535_exit(void)
kfree
(
sony_buffer
);
kfree
(
sony_buffer
);
kfree
(
last_sony_subcode
);
kfree
(
last_sony_subcode
);
kfree
(
sony_toc
);
kfree
(
sony_toc
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
CDU535_HANDLE
,
0
,
0
,
devfs_
find_and_unregister
(
NULL
,
CDU535_HANDLE
,
0
,
0
,
DEVFS_SPECIAL_BLK
,
0
)
);
DEVFS_SPECIAL_BLK
,
0
);
if
(
devfs_unregister_blkdev
(
MAJOR_NR
,
CDU535_HANDLE
)
==
-
EINVAL
)
if
(
devfs_unregister_blkdev
(
MAJOR_NR
,
CDU535_HANDLE
)
==
-
EINVAL
)
printk
(
"Uh oh, couldn't unregister "
CDU535_HANDLE
"
\n
"
);
printk
(
"Uh oh, couldn't unregister "
CDU535_HANDLE
"
\n
"
);
else
else
...
...
This diff is collapsed.
Click to expand it.
drivers/char/ftape/zftape/zftape-init.c
View file @
ddef8ca8
...
@@ -426,17 +426,17 @@ void cleanup_module(void)
...
@@ -426,17 +426,17 @@ void cleanup_module(void)
}
}
for
(
i
=
0
;
i
<
4
;
i
++
)
{
for
(
i
=
0
;
i
<
4
;
i
++
)
{
sprintf
(
devname
,
"qft%i"
,
i
);
sprintf
(
devname
,
"qft%i"
,
i
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
,
DEVFS_SPECIAL_CHR
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
,
DEVFS_SPECIAL_CHR
,
0
);
sprintf
(
devname
,
"nqft%i"
,
i
);
sprintf
(
devname
,
"nqft%i"
,
i
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
4
,
DEVFS_SPECIAL_CHR
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
4
,
DEVFS_SPECIAL_CHR
,
0
);
sprintf
(
devname
,
"zqft%i"
,
i
);
sprintf
(
devname
,
"zqft%i"
,
i
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
16
,
DEVFS_SPECIAL_CHR
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
16
,
DEVFS_SPECIAL_CHR
,
0
);
sprintf
(
devname
,
"nzqft%i"
,
i
);
sprintf
(
devname
,
"nzqft%i"
,
i
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
20
,
DEVFS_SPECIAL_CHR
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
20
,
DEVFS_SPECIAL_CHR
,
0
);
sprintf
(
devname
,
"rawqft%i"
,
i
);
sprintf
(
devname
,
"rawqft%i"
,
i
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
32
,
DEVFS_SPECIAL_CHR
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
32
,
DEVFS_SPECIAL_CHR
,
0
);
sprintf
(
devname
,
"nrawqft%i"
,
i
);
sprintf
(
devname
,
"nrawqft%i"
,
i
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
36
,
DEVFS_SPECIAL_CHR
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
devname
,
QIC117_TAPE_MAJOR
,
i
+
36
,
DEVFS_SPECIAL_CHR
,
0
);
}
}
zft_uninit_mem
();
/* release remaining memory, if any */
zft_uninit_mem
();
/* release remaining memory, if any */
printk
(
KERN_INFO
"zftape successfully unloaded.
\n
"
);
printk
(
KERN_INFO
"zftape successfully unloaded.
\n
"
);
...
...
This diff is collapsed.
Click to expand it.
drivers/char/tpqic02.c
View file @
ddef8ca8
...
@@ -2931,30 +2931,22 @@ void cleanup_module(void)
...
@@ -2931,30 +2931,22 @@ void cleanup_module(void)
qic02_release_resources
();
qic02_release_resources
();
}
}
devfs_unregister_chrdev
(
QIC02_TAPE_MAJOR
,
TPQIC02_NAME
);
devfs_unregister_chrdev
(
QIC02_TAPE_MAJOR
,
TPQIC02_NAME
);
devfs_unregister
(
devfs_find_handle
devfs_find_and_unregister
(
NULL
,
"ntpqic11"
,
QIC02_TAPE_MAJOR
,
2
,
(
NULL
,
"ntpqic11"
,
QIC02_TAPE_MAJOR
,
2
,
DEVFS_SPECIAL_CHR
,
0
);
DEVFS_SPECIAL_CHR
,
0
));
devfs_find_and_unregister
(
NULL
,
"tpqic11"
,
QIC02_TAPE_MAJOR
,
3
,
devfs_unregister
(
devfs_find_handle
DEVFS_SPECIAL_CHR
,
0
);
(
NULL
,
"tpqic11"
,
QIC02_TAPE_MAJOR
,
3
,
devfs_find_and_unregister
(
NULL
,
"ntpqic24"
,
QIC02_TAPE_MAJOR
,
4
,
DEVFS_SPECIAL_CHR
,
0
));
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
devfs_find_handle
devfs_find_and_unregister
(
NULL
,
"tpqic24"
,
QIC02_TAPE_MAJOR
,
5
,
(
NULL
,
"ntpqic24"
,
QIC02_TAPE_MAJOR
,
4
,
DEVFS_SPECIAL_CHR
,
0
);
DEVFS_SPECIAL_CHR
,
0
));
devfs_find_and_unregister
(
NULL
,
"ntpqic120"
,
QIC02_TAPE_MAJOR
,
6
,
devfs_unregister
(
devfs_find_handle
DEVFS_SPECIAL_CHR
,
0
);
(
NULL
,
"tpqic24"
,
QIC02_TAPE_MAJOR
,
5
,
devfs_find_and_unregister
(
NULL
,
"tpqic120"
,
QIC02_TAPE_MAJOR
,
7
,
DEVFS_SPECIAL_CHR
,
0
));
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
devfs_find_handle
devfs_find_and_unregister
(
NULL
,
"ntpqic150"
,
QIC02_TAPE_MAJOR
,
8
,
(
NULL
,
"ntpqic120"
,
QIC02_TAPE_MAJOR
,
6
,
DEVFS_SPECIAL_CHR
,
0
);
DEVFS_SPECIAL_CHR
,
0
));
devfs_find_and_unregister
(
NULL
,
"tpqic150"
,
QIC02_TAPE_MAJOR
,
9
,
devfs_unregister
(
devfs_find_handle
DEVFS_SPECIAL_CHR
,
0
);
(
NULL
,
"tpqic120"
,
QIC02_TAPE_MAJOR
,
7
,
DEVFS_SPECIAL_CHR
,
0
));
devfs_unregister
(
devfs_find_handle
(
NULL
,
"ntpqic150"
,
QIC02_TAPE_MAJOR
,
8
,
DEVFS_SPECIAL_CHR
,
0
));
devfs_unregister
(
devfs_find_handle
(
NULL
,
"tpqic150"
,
QIC02_TAPE_MAJOR
,
9
,
DEVFS_SPECIAL_CHR
,
0
));
}
}
int
init_module
(
void
)
int
init_module
(
void
)
...
...
This diff is collapsed.
Click to expand it.
drivers/char/tty_io.c
View file @
ddef8ca8
...
@@ -2047,14 +2047,12 @@ void tty_register_devfs (struct tty_driver *driver, unsigned int flags, unsigned
...
@@ -2047,14 +2047,12 @@ void tty_register_devfs (struct tty_driver *driver, unsigned int flags, unsigned
void
tty_unregister_devfs
(
struct
tty_driver
*
driver
,
unsigned
minor
)
void
tty_unregister_devfs
(
struct
tty_driver
*
driver
,
unsigned
minor
)
{
{
#ifdef CONFIG_DEVFS_FS
#ifdef CONFIG_DEVFS_FS
void
*
handle
;
int
idx
=
minor
-
driver
->
minor_start
;
int
idx
=
minor
-
driver
->
minor_start
;
char
buf
[
32
];
char
buf
[
32
];
sprintf
(
buf
,
driver
->
name
,
idx
+
driver
->
name_base
);
sprintf
(
buf
,
driver
->
name
,
idx
+
driver
->
name_base
);
handle
=
devfs_find_handle
(
NULL
,
buf
,
driver
->
major
,
minor
,
devfs_find_and_unregister
(
NULL
,
buf
,
driver
->
major
,
minor
,
DEVFS_SPECIAL_CHR
,
0
);
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
handle
);
#endif
/* CONFIG_DEVFS_FS */
#endif
/* CONFIG_DEVFS_FS */
}
}
...
...
This diff is collapsed.
Click to expand it.
drivers/char/vc_screen.c
View file @
ddef8ca8
...
@@ -480,10 +480,10 @@ void vcs_make_devfs (unsigned int index, int unregister)
...
@@ -480,10 +480,10 @@ void vcs_make_devfs (unsigned int index, int unregister)
sprintf
(
name
,
"a%u"
,
index
+
1
);
sprintf
(
name
,
"a%u"
,
index
+
1
);
if
(
unregister
)
if
(
unregister
)
{
{
devfs_
unregister
(
devfs_find_handle
(
devfs_handle
,
name
+
1
,
0
,
0
,
devfs_
find_and_unregister
(
devfs_handle
,
name
+
1
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
)
);
DEVFS_SPECIAL_CHR
,
0
);
devfs_
unregister
(
devfs_find_handle
(
devfs_handle
,
name
,
0
,
0
,
devfs_
find_and_unregister
(
devfs_handle
,
name
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
)
);
DEVFS_SPECIAL_CHR
,
0
);
}
}
else
else
{
{
...
...
This diff is collapsed.
Click to expand it.
drivers/isdn/capi/capi.c
View file @
ddef8ca8
...
@@ -1527,7 +1527,7 @@ static void __exit capi_exit(void)
...
@@ -1527,7 +1527,7 @@ static void __exit capi_exit(void)
proc_exit
();
proc_exit
();
devfs_unregister_chrdev
(
capi_major
,
"capi20"
);
devfs_unregister_chrdev
(
capi_major
,
"capi20"
);
devfs_
unregister
(
devfs_find_handle
(
NULL
,
"isdn/capi20"
,
capi_major
,
0
,
DEVFS_SPECIAL_CHR
,
0
)
);
devfs_
find_and_unregister
(
NULL
,
"isdn/capi20"
,
capi_major
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
capinc_tty_exit
();
capinc_tty_exit
();
...
...
This diff is collapsed.
Click to expand it.
drivers/md/md.c
View file @
ddef8ca8
...
@@ -3412,12 +3412,13 @@ void __init md_setup_drive(void)
...
@@ -3412,12 +3412,13 @@ void __init md_setup_drive(void)
*
p
++
=
0
;
*
p
++
=
0
;
dev
=
name_to_kdev_t
(
devname
);
dev
=
name_to_kdev_t
(
devname
);
handle
=
devfs_
find
_handle
(
NULL
,
devname
,
major
(
dev
),
minor
(
dev
),
handle
=
devfs_
get
_handle
(
NULL
,
devname
,
major
(
dev
),
minor
(
dev
),
DEVFS_SPECIAL_BLK
,
1
);
DEVFS_SPECIAL_BLK
,
1
);
if
(
handle
!=
0
)
{
if
(
handle
!=
0
)
{
unsigned
major
,
minor
;
unsigned
major
,
minor
;
devfs_get_maj_min
(
handle
,
&
major
,
&
minor
);
devfs_get_maj_min
(
handle
,
&
major
,
&
minor
);
dev
=
mk_kdev
(
major
,
minor
);
dev
=
mk_kdev
(
major
,
minor
);
devfs_put
(
handle
);
}
}
if
(
kdev_none
(
dev
))
{
if
(
kdev_none
(
dev
))
{
printk
(
KERN_WARNING
"md: Unknown device name: %s
\n
"
,
devname
);
printk
(
KERN_WARNING
"md: Unknown device name: %s
\n
"
,
devname
);
...
...
This diff is collapsed.
Click to expand it.
drivers/s390/char/tubfs.c
View file @
ddef8ca8
...
@@ -54,18 +54,15 @@ void fs3270_devfs_register(tub_t *tubp)
...
@@ -54,18 +54,15 @@ void fs3270_devfs_register(tub_t *tubp)
void
fs3270_devfs_unregister
(
tub_t
*
tubp
)
void
fs3270_devfs_unregister
(
tub_t
*
tubp
)
{
{
char
name
[
16
];
char
name
[
16
];
devfs_handle_t
handle
;
sprintf
(
name
,
"tub%.4x"
,
tubp
->
devno
);
sprintf
(
name
,
"tub%.4x"
,
tubp
->
devno
);
handle
=
devfs_find_handle
(
fs3270_devfs_dir
,
name
,
devfs_find_and_unregister
(
fs3270_devfs_dir
,
name
,
IBM_FS3270_MAJOR
,
tubp
->
minor
,
IBM_FS3270_MAJOR
,
tubp
->
minor
,
DEVFS_SPECIAL_CHR
,
0
);
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
handle
);
sprintf
(
name
,
"tty%.4x"
,
tubp
->
devno
);
sprintf
(
name
,
"tty%.4x"
,
tubp
->
devno
);
handle
=
devfs_find_handle
(
fs3270_devfs_dir
,
name
,
devfs_find_and_unregister
(
fs3270_devfs_dir
,
name
,
IBM_TTY3270_MAJOR
,
tubp
->
minor
,
IBM_TTY3270_MAJOR
,
tubp
->
minor
,
DEVFS_SPECIAL_CHR
,
0
);
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
handle
);
}
}
#endif
#endif
...
...
This diff is collapsed.
Click to expand it.
drivers/sbus/audio/audio.c
View file @
ddef8ca8
...
@@ -2077,7 +2077,6 @@ int register_sparcaudio_driver(struct sparcaudio_driver *drv, int duplex)
...
@@ -2077,7 +2077,6 @@ int register_sparcaudio_driver(struct sparcaudio_driver *drv, int duplex)
int
unregister_sparcaudio_driver
(
struct
sparcaudio_driver
*
drv
,
int
duplex
)
int
unregister_sparcaudio_driver
(
struct
sparcaudio_driver
*
drv
,
int
duplex
)
{
{
devfs_handle_t
de
;
int
i
;
int
i
;
char
name_buf
[
32
];
char
name_buf
[
32
];
...
@@ -2104,9 +2103,8 @@ int unregister_sparcaudio_driver(struct sparcaudio_driver *drv, int duplex)
...
@@ -2104,9 +2103,8 @@ int unregister_sparcaudio_driver(struct sparcaudio_driver *drv, int duplex)
/* Unregister ourselves with devfs */
/* Unregister ourselves with devfs */
for
(
i
=
0
;
i
<
sizeof
(
dev_list
)
/
sizeof
(
*
dev_list
);
i
++
)
{
for
(
i
=
0
;
i
<
sizeof
(
dev_list
)
/
sizeof
(
*
dev_list
);
i
++
)
{
sparcaudio_mkname
(
name_buf
,
dev_list
[
i
].
name
,
drv
->
index
);
sparcaudio_mkname
(
name_buf
,
dev_list
[
i
].
name
,
drv
->
index
);
de
=
devfs_find_handle
(
devfs_handle
,
name_buf
,
0
,
0
,
de
vfs_find_and_unregister
(
devfs_handle
,
name_buf
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
de
);
}
}
MOD_DEC_USE_COUNT
;
MOD_DEC_USE_COUNT
;
...
...
This diff is collapsed.
Click to expand it.
drivers/usb/input/hiddev.c
View file @
ddef8ca8
...
@@ -765,8 +765,11 @@ static /* const */ struct usb_driver hiddev_driver = {
...
@@ -765,8 +765,11 @@ static /* const */ struct usb_driver hiddev_driver = {
int
__init
hiddev_init
(
void
)
int
__init
hiddev_init
(
void
)
{
{
hiddev_devfs_handle
=
devfs_handle_t
de
;
devfs_mk_dir
(
devfs_find_handle
(
NULL
,
"usb"
,
0
,
0
,
0
,
0
),
"hid"
,
NULL
);
de
=
devfs_get_handle
(
NULL
,
"usb"
,
0
,
0
,
0
,
0
);
hiddev_devfs_handle
=
devfs_mk_dir
(
de
,
"hid"
,
NULL
);
devfs_put
(
de
);
usb_register
(
&
hiddev_driver
);
usb_register
(
&
hiddev_driver
);
return
0
;
return
0
;
}
}
...
...
This diff is collapsed.
Click to expand it.
fs/block_dev.c
View file @
ddef8ca8
...
@@ -489,11 +489,12 @@ int check_disk_change(kdev_t dev)
...
@@ -489,11 +489,12 @@ int check_disk_change(kdev_t dev)
if
(
bdops
==
NULL
)
{
if
(
bdops
==
NULL
)
{
devfs_handle_t
de
;
devfs_handle_t
de
;
de
=
devfs_
find_handle
(
NULL
,
NULL
,
i
,
minor
(
dev
),
de
=
devfs_
get_handle
(
NULL
,
NULL
,
i
,
minor
(
dev
),
DEVFS_SPECIAL_BLK
,
0
);
DEVFS_SPECIAL_BLK
,
0
);
if
(
de
)
{
if
(
de
)
{
bdops
=
devfs_get_ops
(
de
);
bdops
=
devfs_get_ops
(
de
);
devfs_put_ops
(
de
);
/* We're running in owner module */
devfs_put_ops
(
de
);
/* We're running in owner module */
devfs_put
(
de
);
}
}
}
}
if
(
bdops
==
NULL
)
if
(
bdops
==
NULL
)
...
...
This diff is collapsed.
Click to expand it.
fs/devfs/base.c
View file @
ddef8ca8
...
@@ -639,6 +639,9 @@
...
@@ -639,6 +639,9 @@
20020722 Richard Gooch <rgooch@atnf.csiro.au>
20020722 Richard Gooch <rgooch@atnf.csiro.au>
Fixed devfs entry leak in <devfs_readdir> when *readdir fails.
Fixed devfs entry leak in <devfs_readdir> when *readdir fails.
v1.18
v1.18
20020725 Richard Gooch <rgooch@atnf.csiro.au>
Created <devfs_find_and_unregister>.
v1.19
*/
*/
#include <linux/types.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/errno.h>
...
@@ -671,7 +674,7 @@
...
@@ -671,7 +674,7 @@
#include <asm/bitops.h>
#include <asm/bitops.h>
#include <asm/atomic.h>
#include <asm/atomic.h>
#define DEVFS_VERSION "1.1
8 (20020722
)"
#define DEVFS_VERSION "1.1
9 (20020725
)"
#define DEVFS_NAME "devfs"
#define DEVFS_NAME "devfs"
...
@@ -1881,6 +1884,16 @@ devfs_handle_t devfs_get_handle (devfs_handle_t dir, const char *name,
...
@@ -1881,6 +1884,16 @@ devfs_handle_t devfs_get_handle (devfs_handle_t dir, const char *name,
return
_devfs_find_entry
(
dir
,
name
,
major
,
minor
,
type
,
traverse_symlinks
);
return
_devfs_find_entry
(
dir
,
name
,
major
,
minor
,
type
,
traverse_symlinks
);
}
/* End Function devfs_get_handle */
}
/* End Function devfs_get_handle */
void
devfs_find_and_unregister
(
devfs_handle_t
dir
,
const
char
*
name
,
unsigned
int
major
,
unsigned
int
minor
,
char
type
,
int
traverse_symlinks
)
{
devfs_handle_t
de
=
devfs_get_handle
(
dir
,
name
,
major
,
minor
,
type
,
traverse_symlinks
);
devfs_unregister
(
de
);
devfs_put
(
de
);
}
/* Compatibility function. Will be removed in sometime in 2.5 */
/* Compatibility function. Will be removed in sometime in 2.5 */
...
...
This diff is collapsed.
Click to expand it.
include/linux/devfs_fs_kernel.h
View file @
ddef8ca8
...
@@ -74,6 +74,9 @@ extern devfs_handle_t devfs_mk_dir (devfs_handle_t dir, const char *name,
...
@@ -74,6 +74,9 @@ extern devfs_handle_t devfs_mk_dir (devfs_handle_t dir, const char *name,
extern
devfs_handle_t
devfs_get_handle
(
devfs_handle_t
dir
,
const
char
*
name
,
extern
devfs_handle_t
devfs_get_handle
(
devfs_handle_t
dir
,
const
char
*
name
,
unsigned
int
major
,
unsigned
int
minor
,
unsigned
int
major
,
unsigned
int
minor
,
char
type
,
int
traverse_symlinks
);
char
type
,
int
traverse_symlinks
);
extern
void
devfs_find_and_unregister
(
devfs_handle_t
dir
,
const
char
*
name
,
unsigned
int
major
,
unsigned
int
minor
,
char
type
,
int
traverse_symlinks
);
extern
devfs_handle_t
devfs_find_handle
(
devfs_handle_t
dir
,
const
char
*
name
,
extern
devfs_handle_t
devfs_find_handle
(
devfs_handle_t
dir
,
const
char
*
name
,
unsigned
int
major
,
unsigned
int
minor
,
unsigned
int
major
,
unsigned
int
minor
,
char
type
,
int
traverse_symlinks
);
char
type
,
int
traverse_symlinks
);
...
@@ -164,6 +167,13 @@ static inline devfs_handle_t devfs_get_handle (devfs_handle_t dir,
...
@@ -164,6 +167,13 @@ static inline devfs_handle_t devfs_get_handle (devfs_handle_t dir,
{
{
return
NULL
;
return
NULL
;
}
}
static
inline
void
devfs_find_and_unregister
(
devfs_handle_t
dir
,
const
char
*
name
,
unsigned
int
major
,
unsigned
int
minor
,
char
type
,
int
traverse_symlinks
)
{
}
static
inline
devfs_handle_t
devfs_find_handle
(
devfs_handle_t
dir
,
static
inline
devfs_handle_t
devfs_find_handle
(
devfs_handle_t
dir
,
const
char
*
name
,
const
char
*
name
,
unsigned
int
major
,
unsigned
int
major
,
...
...
This diff is collapsed.
Click to expand it.
init/do_mounts.c
View file @
ddef8ca8
...
@@ -356,11 +356,12 @@ static int __init create_dev(char *name, dev_t dev, char *devfs_name)
...
@@ -356,11 +356,12 @@ static int __init create_dev(char *name, dev_t dev, char *devfs_name)
if
(
!
do_devfs
)
if
(
!
do_devfs
)
return
sys_mknod
(
name
,
S_IFBLK
|
0600
,
dev
);
return
sys_mknod
(
name
,
S_IFBLK
|
0600
,
dev
);
handle
=
devfs_
find
_handle
(
NULL
,
!
dev
?
devfs_name
:
NULL
,
handle
=
devfs_
get
_handle
(
NULL
,
!
dev
?
devfs_name
:
NULL
,
MAJOR
(
dev
),
MINOR
(
dev
),
DEVFS_SPECIAL_BLK
,
1
);
MAJOR
(
dev
),
MINOR
(
dev
),
DEVFS_SPECIAL_BLK
,
1
);
if
(
!
handle
)
if
(
!
handle
)
return
-
1
;
return
-
1
;
n
=
devfs_generate_path
(
handle
,
path
+
5
,
sizeof
(
path
)
-
5
);
n
=
devfs_generate_path
(
handle
,
path
+
5
,
sizeof
(
path
)
-
5
);
devfs_put
(
handle
);
if
(
n
<
0
)
if
(
n
<
0
)
return
-
1
;
return
-
1
;
return
sys_symlink
(
path
+
n
+
5
,
name
);
return
sys_symlink
(
path
+
n
+
5
,
name
);
...
...
This diff is collapsed.
Click to expand it.
sound/core/info.c
View file @
ddef8ca8
...
@@ -973,10 +973,10 @@ void snd_info_free_device(snd_info_entry_t * entry)
...
@@ -973,10 +973,10 @@ void snd_info_free_device(snd_info_entry_t * entry)
sprintf
(
dname
,
"snd/%s"
,
entry
->
name
);
sprintf
(
dname
,
"snd/%s"
,
entry
->
name
);
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)
master
=
devfs_find_handle
(
NULL
,
dname
,
strlen
(
dname
),
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
master
=
devfs_find_handle
(
NULL
,
dname
,
strlen
(
dname
),
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
master
);
#else
#else
master
=
devfs_find_handle
(
NULL
,
dname
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
devfs_find_and_unregister
(
NULL
,
dname
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
#endif
#endif
devfs_unregister
(
master
);
}
}
#endif
#endif
snd_info_free_entry
(
entry
);
snd_info_free_entry
(
entry
);
...
...
This diff is collapsed.
Click to expand it.
sound/core/sound.c
View file @
ddef8ca8
...
@@ -368,10 +368,10 @@ static void __exit alsa_sound_exit(void)
...
@@ -368,10 +368,10 @@ static void __exit alsa_sound_exit(void)
sprintf
(
controlname
,
"snd/controlC%d"
,
controlnum
);
sprintf
(
controlname
,
"snd/controlC%d"
,
controlnum
);
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)
master
=
devfs_find_handle
(
NULL
,
controlname
,
strlen
(
controlname
),
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
master
=
devfs_find_handle
(
NULL
,
controlname
,
strlen
(
controlname
),
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
master
);
#else
#else
master
=
devfs_find_handle
(
NULL
,
controlname
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
devfs_find_and_unregister
(
NULL
,
controlname
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
#endif
#endif
devfs_unregister
(
master
);
}
}
#endif
#endif
...
...
This diff is collapsed.
Click to expand it.
sound/oss/soundcard.c
View file @
ddef8ca8
...
@@ -566,13 +566,9 @@ static void soundcard_register_devfs (int do_register)
...
@@ -566,13 +566,9 @@ static void soundcard_register_devfs (int do_register)
SOUND_MAJOR
,
dev_list
[
i
].
minor
+
(
j
*
0x10
),
SOUND_MAJOR
,
dev_list
[
i
].
minor
+
(
j
*
0x10
),
S_IFCHR
|
dev_list
[
i
].
mode
,
S_IFCHR
|
dev_list
[
i
].
mode
,
&
oss_sound_fops
,
NULL
);
&
oss_sound_fops
,
NULL
);
else
{
else
devfs_handle_t
de
;
devfs_find_and_unregister
(
NULL
,
name_buf
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
de
=
devfs_find_handle
(
NULL
,
name_buf
,
0
,
0
,
DEVFS_SPECIAL_CHR
,
0
);
devfs_unregister
(
de
);
}
}
}
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
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