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
fd9c174c
Commit
fd9c174c
authored
Oct 01, 2002
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/home/anton/linux-2.5
into samba.org:/home/anton/ppc64tree
parents
f409227f
113072fa
Changes
51
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
500 additions
and
480 deletions
+500
-480
Documentation/i810_rng.txt
Documentation/i810_rng.txt
+1
-0
arch/i386/kernel/cpu/cpufreq/elanfreq.c
arch/i386/kernel/cpu/cpufreq/elanfreq.c
+1
-1
arch/i386/kernel/cpu/cpufreq/longhaul.c
arch/i386/kernel/cpu/cpufreq/longhaul.c
+2
-2
arch/i386/kernel/cpu/cpufreq/longrun.c
arch/i386/kernel/cpu/cpufreq/longrun.c
+2
-2
arch/i386/kernel/cpu/cpufreq/p4-clockmod.c
arch/i386/kernel/cpu/cpufreq/p4-clockmod.c
+1
-1
arch/i386/kernel/cpu/cpufreq/powernow-k6.c
arch/i386/kernel/cpu/cpufreq/powernow-k6.c
+2
-2
arch/i386/kernel/cpu/cpufreq/speedstep.c
arch/i386/kernel/cpu/cpufreq/speedstep.c
+38
-41
arch/i386/kernel/irq.c
arch/i386/kernel/irq.c
+1
-4
arch/i386/kernel/time.c
arch/i386/kernel/time.c
+2
-2
arch/ppc/Makefile
arch/ppc/Makefile
+1
-2
drivers/char/i810-tco.c
drivers/char/i810-tco.c
+94
-70
drivers/char/i810-tco.h
drivers/char/i810-tco.h
+6
-11
drivers/pnp/isapnp.c
drivers/pnp/isapnp.c
+3
-1
fs/bfs/dir.c
fs/bfs/dir.c
+8
-8
fs/bfs/file.c
fs/bfs/file.c
+11
-11
fs/bfs/inode.c
fs/bfs/inode.c
+13
-13
fs/cramfs/inode.c
fs/cramfs/inode.c
+11
-11
fs/devpts/inode.c
fs/devpts/inode.c
+7
-7
fs/efs/dir.c
fs/efs/dir.c
+3
-3
fs/efs/inode.c
fs/efs/inode.c
+3
-3
fs/efs/super.c
fs/efs/super.c
+10
-10
fs/efs/symlink.c
fs/efs/symlink.c
+1
-1
fs/exportfs/expfs.c
fs/exportfs/expfs.c
+5
-5
fs/isofs/compress.c
fs/isofs/compress.c
+1
-1
fs/isofs/dir.c
fs/isofs/dir.c
+3
-3
fs/isofs/inode.c
fs/isofs/inode.c
+21
-21
fs/isofs/rock.c
fs/isofs/rock.c
+1
-1
fs/minix/dir.c
fs/minix/dir.c
+3
-3
fs/minix/file.c
fs/minix/file.c
+8
-8
fs/minix/inode.c
fs/minix/inode.c
+22
-22
fs/minix/namei.c
fs/minix/namei.c
+11
-11
fs/openpromfs/inode.c
fs/openpromfs/inode.c
+16
-16
fs/proc/base.c
fs/proc/base.c
+28
-28
fs/proc/generic.c
fs/proc/generic.c
+9
-9
fs/proc/inode.c
fs/proc/inode.c
+6
-6
fs/proc/kcore.c
fs/proc/kcore.c
+2
-2
fs/proc/kmsg.c
fs/proc/kmsg.c
+4
-4
fs/proc/proc_misc.c
fs/proc/proc_misc.c
+27
-27
fs/proc/root.c
fs/proc/root.c
+14
-14
fs/ramfs/inode.c
fs/ramfs/inode.c
+26
-26
fs/romfs/inode.c
fs/romfs/inode.c
+13
-13
fs/ufs/dir.c
fs/ufs/dir.c
+3
-3
fs/ufs/file.c
fs/ufs/file.c
+7
-7
fs/ufs/inode.c
fs/ufs/inode.c
+6
-6
fs/ufs/namei.c
fs/ufs/namei.c
+9
-9
fs/ufs/super.c
fs/ufs/super.c
+14
-14
fs/ufs/symlink.c
fs/ufs/symlink.c
+2
-2
fs/vfat/namei.c
fs/vfat/namei.c
+0
-10
include/linux/msdos_fs.h
include/linux/msdos_fs.h
+3
-3
include/linux/page-flags.h
include/linux/page-flags.h
+2
-0
include/linux/pci_ids.h
include/linux/pci_ids.h
+13
-0
No files found.
Documentation/i810_rng.txt
View file @
fd9c174c
...
...
@@ -72,6 +72,7 @@ Change history:
Version 0.9.8:
* Support other i8xx chipsets by adding 82801E detection
* 82801DB detection is the same as for 82801CA.
Version 0.9.7:
* Support other i8xx chipsets too (by adding 82801BA(M) and
...
...
arch/i386/kernel/cpu/cpufreq/elanfreq.c
View file @
fd9c174c
...
...
@@ -290,7 +290,7 @@ static int __init elanfreq_init(void)
if
(
!
driver
)
return
-
ENOMEM
;
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
sizeof
(
struct
cpufreq_driver
)
);
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
1
);
if
(
!
max_freq
)
max_freq
=
elanfreq_get_cpu_frequency
();
...
...
arch/i386/kernel/cpu/cpufreq/longhaul.c
View file @
fd9c174c
/*
* $Id: longhaul.c,v 1.7
0 2002/09/12 10:22:17
db Exp $
* $Id: longhaul.c,v 1.7
2 2002/09/29 23:43:10
db Exp $
*
* (C) 2001 Dave Jones. <davej@suse.de>
* (C) 2002 Padraig Brady. <padraig@antefacto.com>
...
...
@@ -771,7 +771,7 @@ static int __init longhaul_init (void)
if
(
!
driver
)
return
-
ENOMEM
;
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
sizeof
(
struct
cpufreq_driver
)
);
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
1
);
#ifdef CONFIG_CPU_FREQ_24_API
driver
->
cpu_min_freq
=
(
unsigned
int
)
lowest_speed
;
...
...
arch/i386/kernel/cpu/cpufreq/longrun.c
View file @
fd9c174c
/*
* $Id: longrun.c,v 1.1
0 2002/09/22 09:01:41
db Exp $
* $Id: longrun.c,v 1.1
2 2002/09/29 23:43:10
db Exp $
*
* (C) 2002 Dominik Brodowski <linux@brodo.de>
*
...
...
@@ -241,7 +241,7 @@ static int __init longrun_init(void)
if
(
!
driver
)
return
-
ENOMEM
;
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
sizeof
(
struct
cpufreq_driver
)
);
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
1
);
if
(
longrun_determine_freqs
(
&
longrun_low_freq
,
&
longrun_high_freq
))
{
kfree
(
driver
);
...
...
arch/i386/kernel/cpu/cpufreq/p4-clockmod.c
View file @
fd9c174c
...
...
@@ -225,7 +225,7 @@ int __init cpufreq_p4_init(void)
if
(
!
driver
)
return
-
ENOMEM
;
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
sizeof
(
struct
cpufreq_driver
)
);
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
1
);
if
(
!
stock_freq
)
stock_freq
=
cpu_khz
;
...
...
arch/i386/kernel/cpu/cpufreq/powernow-k6.c
View file @
fd9c174c
/*
* $Id: powernow-k6.c,v 1.3
1 2002/09/21 09:05:29
db Exp $
* $Id: powernow-k6.c,v 1.3
3 2002/09/29 23:43:11
db Exp $
* This file was part of Powertweak Linux (http://powertweak.sf.net)
* and is shared with the Linux Kernel module.
*
...
...
@@ -239,7 +239,7 @@ static int __init powernow_k6_init(void)
release_region
(
POWERNOW_IOPORT
,
16
);
return
-
ENOMEM
;
}
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
sizeof
(
struct
cpufreq_driver
)
);
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
1
);
#ifdef CONFIG_CPU_FREQ_24_API
driver
->
cpu_min_freq
=
busfreq
*
20
;
...
...
arch/i386/kernel/cpu/cpufreq/speedstep.c
View file @
fd9c174c
/*
* $Id: speedstep.c,v 1.5
0 2002/09/22 08:16:25
db Exp $
* $Id: speedstep.c,v 1.5
3 2002/09/29 23:43:11
db Exp $
*
* (C) 2001 Dave Jones, Arjan van de ven.
* (C) 2002 Dominik Brodowski <linux@brodo.de>
...
...
@@ -91,6 +91,7 @@ static unsigned int speedstep_high_freq;
*/
static
int
speedstep_get_state
(
unsigned
int
*
state
)
{
unsigned
long
flags
;
u32
pmbase
;
u8
value
;
...
...
@@ -110,9 +111,9 @@ static int speedstep_get_state (unsigned int *state)
return
-
EIO
;
/* read state */
local_irq_
disable
(
);
local_irq_
save
(
flags
);
value
=
inb
(
pmbase
+
0x50
);
local_irq_
enable
(
);
local_irq_
restore
(
flags
);
dprintk
(
KERN_DEBUG
"cpufreq: read at pmbase 0x%x + 0x50 returned 0x%x
\n
"
,
pmbase
,
value
);
...
...
@@ -132,7 +133,7 @@ static int speedstep_get_state (unsigned int *state)
*
* Tries to change the SpeedStep state.
*/
static
void
speedstep_set_state
(
unsigned
int
state
)
static
void
speedstep_set_state
(
unsigned
int
state
,
int
notify
)
{
u32
pmbase
;
u8
pm2_blk
;
...
...
@@ -154,7 +155,8 @@ static void speedstep_set_state (unsigned int state)
freqs
.
new
=
(
state
==
SPEEDSTEP_HIGH
)
?
speedstep_high_freq
:
speedstep_low_freq
;
freqs
.
cpu
=
CPUFREQ_ALL_CPUS
;
/* speedstep.c is UP only driver */
cpufreq_notify_transition
(
&
freqs
,
CPUFREQ_PRECHANGE
);
if
(
notify
)
cpufreq_notify_transition
(
&
freqs
,
CPUFREQ_PRECHANGE
);
switch
(
speedstep_chipset
)
{
case
SPEEDSTEP_CHIPSET_ICH2M
:
...
...
@@ -173,10 +175,11 @@ static void speedstep_set_state (unsigned int state)
return
;
}
/* Disable IRQs */
local_irq_save
(
flags
);
/* read state */
local_irq_disable
();
value
=
inb
(
pmbase
+
0x50
);
local_irq_enable
();
dprintk
(
KERN_DEBUG
"cpufreq: read at pmbase 0x%x + 0x50 returned 0x%x
\n
"
,
pmbase
,
value
);
...
...
@@ -186,10 +189,6 @@ static void speedstep_set_state (unsigned int state)
dprintk
(
KERN_DEBUG
"cpufreq: writing 0x%x to pmbase 0x%x + 0x50
\n
"
,
value
,
pmbase
);
/* Disable IRQs */
local_irq_save
(
flags
);
local_irq_disable
();
/* Disable bus master arbitration */
pm2_blk
=
inb
(
pmbase
+
0x20
);
pm2_blk
|=
0x01
;
...
...
@@ -202,14 +201,11 @@ static void speedstep_set_state (unsigned int state)
pm2_blk
&=
0xfe
;
outb
(
pm2_blk
,
(
pmbase
+
0x20
));
/* Enable IRQs */
local_irq_enable
();
local_irq_restore
(
flags
);
/* check if transition was sucessful */
local_irq_disable
();
value
=
inb
(
pmbase
+
0x50
);
local_irq_enable
();
/* Enable IRQs */
local_irq_restore
(
flags
);
dprintk
(
KERN_DEBUG
"cpufreq: read at pmbase 0x%x + 0x50 returned 0x%x
\n
"
,
pmbase
,
value
);
...
...
@@ -223,7 +219,8 @@ static void speedstep_set_state (unsigned int state)
printk
(
KERN_ERR
"cpufreq: setting CPU frequency on this chipset unsupported.
\n
"
);
}
cpufreq_notify_transition
(
&
freqs
,
CPUFREQ_POSTCHANGE
);
if
(
notify
)
cpufreq_notify_transition
(
&
freqs
,
CPUFREQ_POSTCHANGE
);
return
;
}
...
...
@@ -526,10 +523,13 @@ static unsigned int speedstep_detect_processor (void)
*/
static
int
speedstep_detect_speeds
(
void
)
{
unsigned
long
flags
;
unsigned
int
state
;
unsigned
int
low
=
0
,
high
=
0
;
int
i
,
result
;
/* Disable irqs for entire detection process */
local_irq_save
(
flags
);
for
(
i
=
0
;
i
<
2
;
i
++
)
{
/* read the current state */
result
=
speedstep_get_state
(
&
state
);
...
...
@@ -541,31 +541,30 @@ static int speedstep_detect_speeds (void)
switch
(
speedstep_processor
)
{
case
SPEEDSTEP_PROCESSOR_PIII_C
:
case
SPEEDSTEP_PROCESSOR_PIII_T
:
low
=
pentium3_get_frequency
();
speedstep_low_freq
=
pentium3_get_frequency
();
break
;
case
SPEEDSTEP_PROCESSOR_P4M
:
low
=
pentium4_get_frequency
();
speedstep_low_freq
=
pentium4_get_frequency
();
}
speedstep_set_state
(
SPEEDSTEP_HIGH
);
speedstep_set_state
(
SPEEDSTEP_HIGH
,
0
);
}
else
{
switch
(
speedstep_processor
)
{
case
SPEEDSTEP_PROCESSOR_PIII_C
:
case
SPEEDSTEP_PROCESSOR_PIII_T
:
high
=
pentium3_get_frequency
();
speedstep_high_freq
=
pentium3_get_frequency
();
break
;
case
SPEEDSTEP_PROCESSOR_P4M
:
high
=
pentium4_get_frequency
();
speedstep_high_freq
=
pentium4_get_frequency
();
}
speedstep_set_state
(
SPEEDSTEP_LOW
);
speedstep_set_state
(
SPEEDSTEP_LOW
,
0
);
}
if
(
!
low
||
!
high
||
(
speedstep_low_freq
==
speedstep_high_freq
))
return
-
EIO
;
}
speedstep_low_freq
=
low
;
speedstep_high_freq
=
high
;
local_irq_restore
(
flags
);
if
(
!
speedstep_low_freq
||
!
speedstep_high_freq
||
(
speedstep_low_freq
==
speedstep_high_freq
))
return
-
EIO
;
return
0
;
}
...
...
@@ -583,16 +582,16 @@ static void speedstep_setpolicy (struct cpufreq_policy *policy)
return
;
if
(
policy
->
min
>
speedstep_low_freq
)
speedstep_set_state
(
SPEEDSTEP_HIGH
);
speedstep_set_state
(
SPEEDSTEP_HIGH
,
1
);
else
{
if
(
policy
->
max
<
speedstep_high_freq
)
speedstep_set_state
(
SPEEDSTEP_LOW
);
speedstep_set_state
(
SPEEDSTEP_LOW
,
1
);
else
{
/* both frequency states are allowed */
if
(
policy
->
policy
==
CPUFREQ_POLICY_POWERSAVE
)
speedstep_set_state
(
SPEEDSTEP_LOW
);
speedstep_set_state
(
SPEEDSTEP_LOW
,
1
);
else
speedstep_set_state
(
SPEEDSTEP_HIGH
);
speedstep_set_state
(
SPEEDSTEP_HIGH
,
1
);
}
}
}
...
...
@@ -649,7 +648,7 @@ static int __init speedstep_init(void)
return
-
ENODEV
;
}
dprintk
(
KERN_INFO
"cpufreq: Intel(R) SpeedStep(TM) support $Revision: 1.5
0
$
\n
"
);
dprintk
(
KERN_INFO
"cpufreq: Intel(R) SpeedStep(TM) support $Revision: 1.5
3
$
\n
"
);
dprintk
(
KERN_DEBUG
"cpufreq: chipset 0x%x - processor 0x%x
\n
"
,
speedstep_chipset
,
speedstep_processor
);
...
...
@@ -659,8 +658,6 @@ static int __init speedstep_init(void)
return
result
;
/* detect low and high frequency */
speedstep_low_freq
=
100000
;
speedstep_high_freq
=
200000
;
result
=
speedstep_detect_speeds
();
if
(
result
)
return
result
;
...
...
@@ -682,8 +679,8 @@ static int __init speedstep_init(void)
if
(
!
driver
)
return
-
ENOMEM
;
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
sizeof
(
struct
cpufreq_driver
)
);
driver
->
policy
=
(
struct
cpufreq_policy
*
)
(
driver
+
1
);
#ifdef CONFIG_CPU_FREQ_24_API
driver
->
cpu_min_freq
=
speedstep_low_freq
;
driver
->
cpu_cur_freq
[
0
]
=
speed
;
...
...
arch/i386/kernel/irq.c
View file @
fd9c174c
...
...
@@ -484,10 +484,7 @@ int request_irq(unsigned int irq,
* does not return until any executing interrupts for this IRQ
* have completed.
*
* This function may be called from interrupt context.
*
* Bugs: Attempting to free an irq in a handler for the same irq hangs
* the machine.
* This function must not be called from interrupt context.
*/
void
free_irq
(
unsigned
int
irq
,
void
*
dev_id
)
...
...
arch/i386/kernel/time.c
View file @
fd9c174c
...
...
@@ -626,7 +626,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
}
for
(
i
=
0
;
i
<
NR_CPUS
;
i
++
)
if
((
freq
->
cpu
==
CPUFREQ_ALL_CPUS
)
||
(
freq
->
cpu
==
i
))
cpu_data
[
i
].
loops_per_jiffy
=
cpufreq_scale
(
loops_per_jiffy
,
freq
->
old
,
freq
->
new
);
cpu_data
[
i
].
loops_per_jiffy
=
cpufreq_scale
(
cpu_data
[
i
].
loops_per_jiffy
,
freq
->
old
,
freq
->
new
);
break
;
case
CPUFREQ_POSTCHANGE
:
...
...
@@ -637,7 +637,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
}
for
(
i
=
0
;
i
<
NR_CPUS
;
i
++
)
if
((
freq
->
cpu
==
CPUFREQ_ALL_CPUS
)
||
(
freq
->
cpu
==
i
))
cpu_data
[
i
].
loops_per_jiffy
=
cpufreq_scale
(
loops_per_jiffy
,
freq
->
old
,
freq
->
new
);
cpu_data
[
i
].
loops_per_jiffy
=
cpufreq_scale
(
cpu_data
[
i
].
loops_per_jiffy
,
freq
->
old
,
freq
->
new
);
break
;
}
...
...
arch/ppc/Makefile
View file @
fd9c174c
...
...
@@ -53,8 +53,7 @@ else
endif
endif
core-y
+=
arch
/ppc/kernel/
arch
/ppc/platforms/
arch/ppc/mm/
arch/ppc/lib/
core-y
+=
arch
/ppc/kernel/
arch
/ppc/platforms/
arch
/ppc/mm/
arch
/ppc/lib/
core-$(CONFIG_MATH_EMULATION)
+=
arch
/ppc/math-emu/
core-$(CONFIG_XMON)
+=
arch
/ppc/xmon/
core-$(CONFIG_APUS)
+=
arch
/ppc/amiga/
...
...
drivers/char/i810-tco.c
View file @
fd9c174c
/*
* i810-tco 0.0
4
: TCO timer driver for i8xx chipsets
* i810-tco 0.0
5
: TCO timer driver for i8xx chipsets
*
* (c) Copyright 2000 kernel concepts <nils@kernelconcepts.de>, All Rights Reserved.
* http://www.kernelconcepts.de
...
...
@@ -9,9 +9,9 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
* Neither kernel concepts nor Nils Faerber admit liability nor provide
* warranty for any of this software. This material is provided
* "AS-IS" and at no charge.
* Neither kernel concepts nor Nils Faerber admit liability nor provide
* warranty for any of this software. This material is provided
* "AS-IS" and at no charge.
*
* (c) Copyright 2000 kernel concepts <nils@kernelconcepts.de>
* developed for
...
...
@@ -24,18 +24,25 @@
* (See the intel documentation on http://developer.intel.com.)
* 82801AA & 82801AB chip : document number 290655-003, 290677-004,
* 82801BA & 82801BAM chip : document number 290687-002, 298242-005,
* 82801CA & 82801CAM chip : document number 290716-001, 290718-001
* 82801CA & 82801CAM chip : document number 290716-001, 290718-001,
* 82801DB & 82801E chip : document number 290744-001, 273599-001
*
* 20000710 Nils Faerber
* Initial Version 0.01
* 20000728 Nils Faerber
*
0.02 Fix for SMI_EN->TCO_EN bit, some cleanups
*
0.02 Fix for SMI_EN->TCO_EN bit, some cleanups
* 20011214 Matt Domsch <Matt_Domsch@dell.com>
* 0.03 Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
* Didn't add timeout option as i810_margin already exists.
* 20020224 Joel Becker, Wim Van Sebroeck
* 0.04 Support for 82801CA(M) chipset, timer margin needs to be > 3,
* add support for WDIOC_SETTIMEOUT and WDIOC_GETTIMEOUT.
* 20020412 Rob Radez <rob@osinvestor.com>, Wim Van Sebroeck
* 0.05 Fix possible timer_alive race, add expect close support,
* clean up ioctls (WDIOC_GETSTATUS, WDIOC_GETBOOTSTATUS and
* WDIOC_SETOPTIONS), made i810tco_getdevice __init,
* removed boot_status, removed tco_timer_read,
* added support for 82801DB and 82801E chipset, general cleanup.
*/
#include <linux/module.h>
...
...
@@ -55,9 +62,9 @@
/* Module and version information */
#define TCO_VERSION "0.0
4
"
#define TCO_VERSION "0.0
5
"
#define TCO_MODULE_NAME "i810 TCO timer"
#define TCO_DRIVER_NAME TCO_MODULE_NAME "
,
" TCO_VERSION
#define TCO_DRIVER_NAME TCO_MODULE_NAME "
, v
" TCO_VERSION
/* Default expire timeout */
#define TIMER_MARGIN 50
/* steps of 0.6sec, 3<n<64. Default is 30 seconds */
...
...
@@ -67,9 +74,8 @@ static spinlock_t tco_lock; /* Guards the hardware */
static
int
i810_margin
=
TIMER_MARGIN
;
/* steps of 0.6sec */
MODULE_PARM
(
i810_margin
,
"i"
);
MODULE_PARM_DESC
(
i810_margin
,
"Watchdog timeout in steps of 0.6sec, 3<n<64. Default = 50 (30 seconds)"
);
MODULE_PARM
(
i810_margin
,
"i"
);
MODULE_PARM_DESC
(
i810_margin
,
"i810-tco timeout in steps of 0.6sec, 3<n<64. Default = 50 (30 seconds)"
);
#ifdef CONFIG_WATCHDOG_NOWAYOUT
static
int
nowayout
=
1
;
...
...
@@ -85,8 +91,8 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=CON
* Timer active flag
*/
static
int
timer_alive
;
static
int
boot_status
;
static
unsigned
long
timer_alive
;
static
char
tco_expect_close
;
/*
* Some TCO specific functions
...
...
@@ -169,33 +175,20 @@ static void tco_timer_reload (void)
spin_unlock
(
&
tco_lock
);
}
/*
* Read the current timer value
*/
static
unsigned
char
tco_timer_read
(
void
)
{
return
(
inb
(
TCO1_RLD
));
}
/*
* Allow only one person to hold it open
*/
static
int
i810tco_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
if
(
t
imer_alive
)
if
(
t
est_and_set_bit
(
0
,
&
timer_alive
)
)
return
-
EBUSY
;
if
(
nowayout
)
{
MOD_INC_USE_COUNT
;
}
/*
* Reload and activate timer
*/
tco_timer_reload
();
tco_timer_start
();
timer_alive
=
1
;
return
0
;
}
...
...
@@ -204,10 +197,14 @@ static int i810tco_release (struct inode *inode, struct file *file)
/*
* Shut off the timer.
*/
if
(
nowayout
)
{
if
(
tco_expect_close
==
42
&&
!
nowayout
)
{
tco_timer_stop
();
timer_alive
=
0
;
}
else
{
tco_timer_reload
();
printk
(
KERN_CRIT
TCO_MODULE_NAME
": Unexpected close, not stopping watchdog!
\n
"
);
}
clear_bit
(
0
,
&
timer_alive
);
tco_expect_close
=
0
;
return
0
;
}
...
...
@@ -218,10 +215,22 @@ static ssize_t i810tco_write (struct file *file, const char *data,
if
(
ppos
!=
&
file
->
f_pos
)
return
-
ESPIPE
;
/*
* Refresh the timer.
*/
/* See if we got the magic character 'V' and reload the timer */
if
(
len
)
{
size_t
i
;
tco_expect_close
=
0
;
/* scan to see wether or not we got the magic character */
for
(
i
=
0
;
i
!=
len
;
i
++
)
{
u8
c
;
if
(
get_user
(
c
,
data
+
i
))
return
-
EFAULT
;
if
(
c
==
'V'
)
tco_expect_close
=
42
;
}
/* someone wrote to us, we should reload the timer */
tco_timer_reload
();
return
1
;
}
...
...
@@ -232,41 +241,53 @@ static int i810tco_ioctl (struct inode *inode, struct file *file,
unsigned
int
cmd
,
unsigned
long
arg
)
{
int
new_margin
,
u_margin
;
int
options
,
retval
=
-
EINVAL
;
static
struct
watchdog_info
ident
=
{
WDIOF_SETTIMEOUT
|
WDIOF_KEEPALIVEPING
,
0
,
"i810 TCO timer"
options:
WDIOF_SETTIMEOUT
|
WDIOF_KEEPALIVEPING
,
firmware_version:
0
,
identity:
"i810 TCO timer"
,
};
switch
(
cmd
)
{
default:
return
-
ENOTTY
;
case
WDIOC_GETSUPPORT
:
if
(
copy_to_user
((
struct
watchdog_info
*
)
arg
,
&
ident
,
sizeof
(
ident
)))
return
-
EFAULT
;
return
0
;
case
WDIOC_GETSTATUS
:
return
put_user
(
tco_timer_read
(),
(
unsigned
int
*
)
(
int
)
arg
);
case
WDIOC_GETBOOTSTATUS
:
return
put_user
(
boot_status
,
(
int
*
)
arg
);
case
WDIOC_KEEPALIVE
:
tco_timer_reload
();
return
0
;
case
WDIOC_SETTIMEOUT
:
if
(
get_user
(
u_margin
,
(
int
*
)
arg
))
return
-
EFAULT
;
new_margin
=
(
u_margin
*
10
+
5
)
/
6
;
if
((
new_margin
<
4
)
||
(
new_margin
>
63
))
return
-
EINVAL
;
if
(
tco_timer_settimer
((
unsigned
char
)
new_margin
))
return
-
EINVAL
;
i810_margin
=
new_margin
;
tco_timer_reload
();
/* Fall */
case
WDIOC_GETTIMEOUT
:
return
put_user
((
int
)(
i810_margin
*
6
/
10
),
(
int
*
)
arg
);
default:
return
-
ENOTTY
;
case
WDIOC_GETSUPPORT
:
if
(
copy_to_user
((
struct
watchdog_info
*
)
arg
,
&
ident
,
sizeof
(
ident
)))
return
-
EFAULT
;
return
0
;
case
WDIOC_GETSTATUS
:
case
WDIOC_GETBOOTSTATUS
:
return
put_user
(
0
,
(
int
*
)
arg
);
case
WDIOC_SETOPTIONS
:
if
(
get_user
(
options
,
(
int
*
)
arg
))
return
-
EFAULT
;
if
(
options
&
WDIOS_DISABLECARD
)
{
tco_timer_stop
();
retval
=
0
;
}
if
(
options
&
WDIOS_ENABLECARD
)
{
tco_timer_reload
();
tco_timer_start
();
retval
=
0
;
}
return
retval
;
case
WDIOC_KEEPALIVE
:
tco_timer_reload
();
return
0
;
case
WDIOC_SETTIMEOUT
:
if
(
get_user
(
u_margin
,
(
int
*
)
arg
))
return
-
EFAULT
;
new_margin
=
(
u_margin
*
10
+
5
)
/
6
;
if
((
new_margin
<
4
)
||
(
new_margin
>
63
))
return
-
EINVAL
;
if
(
tco_timer_settimer
((
unsigned
char
)
new_margin
))
return
-
EINVAL
;
i810_margin
=
new_margin
;
tco_timer_reload
();
/* Fall */
case
WDIOC_GETTIMEOUT
:
return
put_user
((
int
)(
i810_margin
*
6
/
10
),
(
int
*
)
arg
);
}
}
...
...
@@ -285,13 +306,15 @@ static struct pci_device_id i810tco_pci_tbl[] __initdata = {
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801BA_10
,
PCI_ANY_ID
,
PCI_ANY_ID
,
},
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801CA_0
,
PCI_ANY_ID
,
PCI_ANY_ID
,
},
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801CA_12
,
PCI_ANY_ID
,
PCI_ANY_ID
,
},
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801DB_0
,
PCI_ANY_ID
,
PCI_ANY_ID
,
},
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801E_0
,
PCI_ANY_ID
,
PCI_ANY_ID
,
},
{
0
,
},
};
MODULE_DEVICE_TABLE
(
pci
,
i810tco_pci_tbl
);
static
struct
pci_dev
*
i810tco_pci
;
static
unsigned
char
i810tco_getdevice
(
void
)
static
unsigned
char
__init
i810tco_getdevice
(
void
)
{
struct
pci_dev
*
dev
;
u8
val1
,
val2
;
...
...
@@ -341,7 +364,6 @@ static unsigned char i810tco_getdevice (void)
outb
(
val1
,
SMI_EN
+
1
);
/* Clear out the (probably old) status */
outb
(
0
,
TCO1_STS
);
boot_status
=
(
int
)
inb
(
TCO2_STS
);
outb
(
3
,
TCO2_STS
);
return
1
;
}
...
...
@@ -357,9 +379,9 @@ static struct file_operations i810tco_fops = {
};
static
struct
miscdevice
i810tco_miscdev
=
{
WATCHDOG_MINOR
,
"watchdog"
,
&
i810tco_fops
minor:
WATCHDOG_MINOR
,
name:
"watchdog"
,
fops:
&
i810tco_fops
,
};
static
int
__init
watchdog_init
(
void
)
...
...
@@ -382,8 +404,8 @@ static int __init watchdog_init (void)
tco_timer_reload
();
printk
(
KERN_INFO
TCO_DRIVER_NAME
": timer margin: %d sec (0x%04x)
\n
"
,
(
int
)
(
i810_margin
*
6
/
10
),
TCOBASE
);
": timer margin: %d sec (0x%04x)
(nowayout=%d)
\n
"
,
(
int
)
(
i810_margin
*
6
/
10
),
TCOBASE
,
nowayout
);
return
0
;
}
...
...
@@ -404,4 +426,6 @@ static void __exit watchdog_cleanup (void)
module_init
(
watchdog_init
);
module_exit
(
watchdog_cleanup
);
MODULE_AUTHOR
(
"Nils Faerber"
);
MODULE_DESCRIPTION
(
"TCO timer driver for i8xx chipsets"
);
MODULE_LICENSE
(
"GPL"
);
drivers/char/i810-tco.h
View file @
fd9c174c
/*
* i810-tco 0.0
4
: TCO timer driver for i8xx chipsets
* i810-tco 0.0
5
: TCO timer driver for i8xx chipsets
*
* (c) Copyright 2000 kernel concepts <nils@kernelconcepts.de>, All Rights Reserved.
* http://www.kernelconcepts.de
...
...
@@ -9,9 +9,9 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
* Neither kernel concepts nor Nils Faerber admit liability nor provide
* warranty for any of this software. This material is provided
* "AS-IS" and at no charge.
* Neither kernel concepts nor Nils Faerber admit liability nor provide
* warranty for any of this software. This material is provided
* "AS-IS" and at no charge.
*
* (c) Copyright 2000 kernel concepts <nils@kernelconcepts.de>
* developed for
...
...
@@ -20,13 +20,8 @@
* TCO timer driver for i8xx chipsets
* based on softdog.c by Alan Cox <alan@redhat.com>
*
* The TCO timer is implemented in the following I/O controller hubs:
* (See the intel documentation on http://developer.intel.com.)
* 82801AA & 82801AB chip : document number 290655-003, 290677-004,
* 82801BA & 82801BAM chip : document number 290687-002, 298242-005,
* 82801CA & 82801CAM chip : document number 290716-001, 290718-001
*
* For history see i810-tco.c
* For history and the complete list of supported I/O Controller Hub's
* see i810-tco.c
*/
...
...
drivers/pnp/isapnp.c
View file @
fd9c174c
...
...
@@ -2281,7 +2281,9 @@ EXPORT_SYMBOL(isapnp_resource_change);
EXPORT_SYMBOL
(
isapnp_register_driver
);
EXPORT_SYMBOL
(
isapnp_unregister_driver
);
static
struct
device_driver
isapnp_device_driver
=
{};
static
struct
device_driver
isapnp_device_driver
=
{
.
devices
=
LIST_HEAD_INIT
(
isapnp_device_driver
.
devices
),
};
static
inline
int
isapnp_init_device_tree
(
void
)
{
...
...
fs/bfs/dir.c
View file @
fd9c174c
...
...
@@ -71,9 +71,9 @@ static int bfs_readdir(struct file * f, void * dirent, filldir_t filldir)
}
struct
file_operations
bfs_dir_operations
=
{
read:
generic_read_dir
,
readdir:
bfs_readdir
,
fsync:
file_fsync
,
.
read
=
generic_read_dir
,
.
readdir
=
bfs_readdir
,
.
fsync
=
file_fsync
,
};
extern
void
dump_imap
(
const
char
*
,
struct
super_block
*
);
...
...
@@ -263,11 +263,11 @@ static int bfs_rename(struct inode * old_dir, struct dentry * old_dentry,
}
struct
inode_operations
bfs_dir_inops
=
{
create:
bfs_create
,
lookup:
bfs_lookup
,
link:
bfs_link
,
unlink:
bfs_unlink
,
rename:
bfs_rename
,
.
create
=
bfs_create
,
.
lookup
=
bfs_lookup
,
.
link
=
bfs_link
,
.
unlink
=
bfs_unlink
,
.
rename
=
bfs_rename
,
};
static
int
bfs_add_entry
(
struct
inode
*
dir
,
const
char
*
name
,
int
namelen
,
int
ino
)
...
...
fs/bfs/file.c
View file @
fd9c174c
...
...
@@ -18,11 +18,11 @@
#endif
struct
file_operations
bfs_file_operations
=
{
llseek:
generic_file_llseek
,
read:
generic_file_read
,
write:
generic_file_write
,
mmap:
generic_file_mmap
,
sendfile:
generic_file_sendfile
,
.
llseek
=
generic_file_llseek
,
.
read
=
generic_file_read
,
.
write
=
generic_file_write
,
.
mmap
=
generic_file_mmap
,
.
sendfile
=
generic_file_sendfile
,
};
static
int
bfs_move_block
(
unsigned
long
from
,
unsigned
long
to
,
struct
super_block
*
sb
)
...
...
@@ -151,12 +151,12 @@ static int bfs_bmap(struct address_space *mapping, long block)
}
struct
address_space_operations
bfs_aops
=
{
readpage:
bfs_readpage
,
writepage:
bfs_writepage
,
sync_page:
block_sync_page
,
prepare_write:
bfs_prepare_write
,
commit_write:
generic_commit_write
,
bmap:
bfs_bmap
,
.
readpage
=
bfs_readpage
,
.
writepage
=
bfs_writepage
,
.
sync_page
=
block_sync_page
,
.
prepare_write
=
bfs_prepare_write
,
.
commit_write
=
generic_commit_write
,
.
bmap
=
bfs_bmap
,
};
struct
inode_operations
bfs_file_inops
;
fs/bfs/inode.c
View file @
fd9c174c
...
...
@@ -253,14 +253,14 @@ static void destroy_inodecache(void)
}
static
struct
super_operations
bfs_sops
=
{
alloc_inode:
bfs_alloc_inode
,
destroy_inode:
bfs_destroy_inode
,
read_inode:
bfs_read_inode
,
write_inode:
bfs_write_inode
,
delete_inode:
bfs_delete_inode
,
put_super:
bfs_put_super
,
write_super:
bfs_write_super
,
statfs:
bfs_statfs
,
.
alloc_inode
=
bfs_alloc_inode
,
.
destroy_inode
=
bfs_destroy_inode
,
.
read_inode
=
bfs_read_inode
,
.
write_inode
=
bfs_write_inode
,
.
delete_inode
=
bfs_delete_inode
,
.
put_super
=
bfs_put_super
,
.
write_super
=
bfs_write_super
,
.
statfs
=
bfs_statfs
,
};
void
dump_imap
(
const
char
*
prefix
,
struct
super_block
*
s
)
...
...
@@ -381,11 +381,11 @@ static struct super_block *bfs_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
bfs_fs_type
=
{
owner:
THIS_MODULE
,
name:
"bfs"
,
get_sb:
bfs_get_sb
,
kill_sb:
kill_block_super
,
fs_flags:
FS_REQUIRES_DEV
,
.
owner
=
THIS_MODULE
,
.
name
=
"bfs"
,
.
get_sb
=
bfs_get_sb
,
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
int
__init
init_bfs_fs
(
void
)
...
...
fs/cramfs/inode.c
View file @
fd9c174c
...
...
@@ -435,7 +435,7 @@ static int cramfs_readpage(struct file *file, struct page * page)
}
static
struct
address_space_operations
cramfs_aops
=
{
readpage:
cramfs_readpage
.
readpage
=
cramfs_readpage
};
/*
...
...
@@ -446,17 +446,17 @@ static struct address_space_operations cramfs_aops = {
* A directory can only readdir
*/
static
struct
file_operations
cramfs_directory_operations
=
{
read:
generic_read_dir
,
readdir:
cramfs_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
cramfs_readdir
,
};
static
struct
inode_operations
cramfs_dir_inode_operations
=
{
lookup:
cramfs_lookup
,
.
lookup
=
cramfs_lookup
,
};
static
struct
super_operations
cramfs_ops
=
{
put_super:
cramfs_put_super
,
statfs:
cramfs_statfs
,
.
put_super
=
cramfs_put_super
,
.
statfs
=
cramfs_statfs
,
};
static
struct
super_block
*
cramfs_get_sb
(
struct
file_system_type
*
fs_type
,
...
...
@@ -466,11 +466,11 @@ static struct super_block *cramfs_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
cramfs_fs_type
=
{
owner:
THIS_MODULE
,
name:
"cramfs"
,
get_sb:
cramfs_get_sb
,
kill_sb:
kill_block_super
,
fs_flags:
FS_REQUIRES_DEV
,
.
owner
=
THIS_MODULE
,
.
name
=
"cramfs"
,
.
get_sb
=
cramfs_get_sb
,
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
int
__init
init_cramfs_fs
(
void
)
...
...
fs/devpts/inode.c
View file @
fd9c174c
...
...
@@ -27,7 +27,7 @@ static struct {
uid_t
uid
;
gid_t
gid
;
umode_t
mode
;
}
config
=
{
mode
:
0600
};
}
config
=
{
.
mode
=
0600
};
static
int
devpts_remount
(
struct
super_block
*
sb
,
int
*
flags
,
char
*
data
)
{
...
...
@@ -67,8 +67,8 @@ static int devpts_remount(struct super_block *sb, int *flags, char *data)
}
static
struct
super_operations
devpts_sops
=
{
statfs:
simple_statfs
,
remount_fs:
devpts_remount
,
.
statfs
=
simple_statfs
,
.
remount_fs
=
devpts_remount
,
};
static
int
devpts_fill_super
(
struct
super_block
*
s
,
void
*
data
,
int
silent
)
...
...
@@ -110,10 +110,10 @@ static struct super_block *devpts_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
devpts_fs_type
=
{
owner:
THIS_MODULE
,
name:
"devpts"
,
get_sb:
devpts_get_sb
,
kill_sb:
kill_anon_super
,
.
owner
=
THIS_MODULE
,
.
name
=
"devpts"
,
.
get_sb
=
devpts_get_sb
,
.
kill_sb
=
kill_anon_super
,
};
/*
...
...
fs/efs/dir.c
View file @
fd9c174c
...
...
@@ -11,12 +11,12 @@
static
int
efs_readdir
(
struct
file
*
,
void
*
,
filldir_t
);
struct
file_operations
efs_dir_operations
=
{
read:
generic_read_dir
,
readdir:
efs_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
efs_readdir
,
};
struct
inode_operations
efs_dir_inode_operations
=
{
lookup:
efs_lookup
,
.
lookup
=
efs_lookup
,
};
static
int
efs_readdir
(
struct
file
*
filp
,
void
*
dirent
,
filldir_t
filldir
)
{
...
...
fs/efs/inode.c
View file @
fd9c174c
...
...
@@ -24,9 +24,9 @@ static int _efs_bmap(struct address_space *mapping, long block)
return
generic_block_bmap
(
mapping
,
block
,
efs_get_block
);
}
struct
address_space_operations
efs_aops
=
{
readpage:
efs_readpage
,
sync_page:
block_sync_page
,
bmap:
_efs_bmap
.
readpage
=
efs_readpage
,
.
sync_page
=
block_sync_page
,
.
bmap
=
_efs_bmap
};
static
inline
void
extent_copy
(
efs_extent
*
src
,
efs_extent
*
dst
)
{
...
...
fs/efs/super.c
View file @
fd9c174c
...
...
@@ -21,11 +21,11 @@ static struct super_block *efs_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
efs_fs_type
=
{
owner:
THIS_MODULE
,
name:
"efs"
,
get_sb:
efs_get_sb
,
kill_sb:
kill_block_super
,
fs_flags:
FS_REQUIRES_DEV
,
.
owner
=
THIS_MODULE
,
.
name
=
"efs"
,
.
get_sb
=
efs_get_sb
,
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
kmem_cache_t
*
efs_inode_cachep
;
...
...
@@ -77,11 +77,11 @@ void efs_put_super(struct super_block *s)
}
static
struct
super_operations
efs_superblock_operations
=
{
alloc_inode:
efs_alloc_inode
,
destroy_inode:
efs_destroy_inode
,
read_inode:
efs_read_inode
,
put_super:
efs_put_super
,
statfs:
efs_statfs
,
.
alloc_inode
=
efs_alloc_inode
,
.
destroy_inode
=
efs_destroy_inode
,
.
read_inode
=
efs_read_inode
,
.
put_super
=
efs_put_super
,
.
statfs
=
efs_statfs
,
};
static
int
__init
init_efs_fs
(
void
)
{
...
...
fs/efs/symlink.c
View file @
fd9c174c
...
...
@@ -54,5 +54,5 @@ static int efs_symlink_readpage(struct file *file, struct page *page)
}
struct
address_space_operations
efs_symlink_aops
=
{
readpage:
efs_symlink_readpage
.
readpage
=
efs_symlink_readpage
};
fs/exportfs/expfs.c
View file @
fd9c174c
...
...
@@ -514,12 +514,12 @@ static struct dentry *export_decode_fh(struct super_block *sb, __u32 *fh, int fh
}
struct
export_operations
export_op_default
=
{
decode_fh:
export_decode_fh
,
encode_fh:
export_encode_fh
,
.
decode_fh
=
export_decode_fh
,
.
encode_fh
=
export_encode_fh
,
get_name:
get_name
,
get_parent:
get_parent
,
get_dentry:
get_object
,
.
get_name
=
get_name
,
.
get_parent
=
get_parent
,
.
get_dentry
=
get_object
,
};
EXPORT_SYMBOL
(
export_op_default
);
...
...
fs/isofs/compress.c
View file @
fd9c174c
...
...
@@ -325,7 +325,7 @@ static int zisofs_readpage(struct file *file, struct page *page)
}
struct
address_space_operations
zisofs_aops
=
{
readpage:
zisofs_readpage
,
.
readpage
=
zisofs_readpage
,
/* No sync_page operation supported? */
/* No bmap operation supported */
};
...
...
fs/isofs/dir.c
View file @
fd9c174c
...
...
@@ -29,8 +29,8 @@ static int isofs_readdir(struct file *, void *, filldir_t);
struct
file_operations
isofs_dir_operations
=
{
read:
generic_read_dir
,
readdir:
isofs_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
isofs_readdir
,
};
/*
...
...
@@ -38,7 +38,7 @@ struct file_operations isofs_dir_operations =
*/
struct
inode_operations
isofs_dir_inode_operations
=
{
lookup:
isofs_lookup
,
.
lookup
=
isofs_lookup
,
};
int
isofs_name_translate
(
struct
iso_directory_record
*
de
,
char
*
new
,
struct
inode
*
inode
)
...
...
fs/isofs/inode.c
View file @
fd9c174c
...
...
@@ -124,11 +124,11 @@ static void destroy_inodecache(void)
}
static
struct
super_operations
isofs_sops
=
{
alloc_inode:
isofs_alloc_inode
,
destroy_inode:
isofs_destroy_inode
,
read_inode:
isofs_read_inode
,
put_super:
isofs_put_super
,
statfs:
isofs_statfs
,
.
alloc_inode
=
isofs_alloc_inode
,
.
destroy_inode
=
isofs_destroy_inode
,
.
read_inode
=
isofs_read_inode
,
.
put_super
=
isofs_put_super
,
.
statfs
=
isofs_statfs
,
};
/* the export_operations structure for describing
...
...
@@ -148,21 +148,21 @@ static struct export_operations isofs_export_ops = {
static
struct
dentry_operations
isofs_dentry_ops
[]
=
{
{
d_hash:
isofs_hash
,
d_compare:
isofs_dentry_cmp
,
.
d_hash
=
isofs_hash
,
.
d_compare
=
isofs_dentry_cmp
,
},
{
d_hash:
isofs_hashi
,
d_compare:
isofs_dentry_cmpi
,
.
d_hash
=
isofs_hashi
,
.
d_compare
=
isofs_dentry_cmpi
,
},
#ifdef CONFIG_JOLIET
{
d_hash:
isofs_hash_ms
,
d_compare:
isofs_dentry_cmp_ms
,
.
d_hash
=
isofs_hash_ms
,
.
d_compare
=
isofs_dentry_cmp_ms
,
},
{
d_hash:
isofs_hashi_ms
,
d_compare:
isofs_dentry_cmpi_ms
,
.
d_hash
=
isofs_hashi_ms
,
.
d_compare
=
isofs_dentry_cmpi_ms
,
}
#endif
};
...
...
@@ -1063,9 +1063,9 @@ static int _isofs_bmap(struct address_space *mapping, long block)
}
static
struct
address_space_operations
isofs_aops
=
{
readpage:
isofs_readpage
,
sync_page:
block_sync_page
,
bmap:
_isofs_bmap
.
readpage
=
isofs_readpage
,
.
sync_page
=
block_sync_page
,
.
bmap
=
_isofs_bmap
};
static
inline
void
test_and_set_uid
(
uid_t
*
p
,
uid_t
value
)
...
...
@@ -1430,11 +1430,11 @@ static struct super_block *isofs_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
iso9660_fs_type
=
{
owner:
THIS_MODULE
,
name:
"iso9660"
,
get_sb:
isofs_get_sb
,
kill_sb:
kill_block_super
,
fs_flags:
FS_REQUIRES_DEV
,
.
owner
=
THIS_MODULE
,
.
name
=
"iso9660"
,
.
get_sb
=
isofs_get_sb
,
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
int
__init
init_iso9660_fs
(
void
)
...
...
fs/isofs/rock.c
View file @
fd9c174c
...
...
@@ -590,5 +590,5 @@ static int rock_ridge_symlink_readpage(struct file *file, struct page *page)
}
struct
address_space_operations
isofs_symlink_aops
=
{
readpage:
rock_ridge_symlink_readpage
.
readpage
=
rock_ridge_symlink_readpage
};
fs/minix/dir.c
View file @
fd9c174c
...
...
@@ -15,9 +15,9 @@ typedef struct minix_dir_entry minix_dirent;
static
int
minix_readdir
(
struct
file
*
,
void
*
,
filldir_t
);
struct
file_operations
minix_dir_operations
=
{
read:
generic_read_dir
,
readdir:
minix_readdir
,
fsync:
minix_sync_file
,
.
read
=
generic_read_dir
,
.
readdir
=
minix_readdir
,
.
fsync
=
minix_sync_file
,
};
static
inline
void
dir_put_page
(
struct
page
*
page
)
...
...
fs/minix/file.c
View file @
fd9c174c
...
...
@@ -16,17 +16,17 @@
int
minix_sync_file
(
struct
file
*
,
struct
dentry
*
,
int
);
struct
file_operations
minix_file_operations
=
{
llseek:
generic_file_llseek
,
read:
generic_file_read
,
write:
generic_file_write
,
mmap:
generic_file_mmap
,
fsync:
minix_sync_file
,
sendfile:
generic_file_sendfile
,
.
llseek
=
generic_file_llseek
,
.
read
=
generic_file_read
,
.
write
=
generic_file_write
,
.
mmap
=
generic_file_mmap
,
.
fsync
=
minix_sync_file
,
.
sendfile
=
generic_file_sendfile
,
};
struct
inode_operations
minix_file_inode_operations
=
{
truncate:
minix_truncate
,
getattr:
minix_getattr
,
.
truncate
=
minix_truncate
,
.
getattr
=
minix_getattr
,
};
int
minix_sync_file
(
struct
file
*
file
,
struct
dentry
*
dentry
,
int
datasync
)
...
...
fs/minix/inode.c
View file @
fd9c174c
...
...
@@ -92,14 +92,14 @@ static void destroy_inodecache(void)
}
static
struct
super_operations
minix_sops
=
{
alloc_inode:
minix_alloc_inode
,
destroy_inode:
minix_destroy_inode
,
read_inode:
minix_read_inode
,
write_inode:
minix_write_inode
,
delete_inode:
minix_delete_inode
,
put_super:
minix_put_super
,
statfs:
minix_statfs
,
remount_fs:
minix_remount
,
.
alloc_inode
=
minix_alloc_inode
,
.
destroy_inode
=
minix_destroy_inode
,
.
read_inode
=
minix_read_inode
,
.
write_inode
=
minix_write_inode
,
.
delete_inode
=
minix_delete_inode
,
.
put_super
=
minix_put_super
,
.
statfs
=
minix_statfs
,
.
remount_fs
=
minix_remount
,
};
static
int
minix_remount
(
struct
super_block
*
sb
,
int
*
flags
,
char
*
data
)
...
...
@@ -333,18 +333,18 @@ static int minix_bmap(struct address_space *mapping, long block)
return
generic_block_bmap
(
mapping
,
block
,
minix_get_block
);
}
static
struct
address_space_operations
minix_aops
=
{
readpage:
minix_readpage
,
writepage:
minix_writepage
,
sync_page:
block_sync_page
,
prepare_write:
minix_prepare_write
,
commit_write:
generic_commit_write
,
bmap:
minix_bmap
.
readpage
=
minix_readpage
,
.
writepage
=
minix_writepage
,
.
sync_page
=
block_sync_page
,
.
prepare_write
=
minix_prepare_write
,
.
commit_write
=
generic_commit_write
,
.
bmap
=
minix_bmap
};
static
struct
inode_operations
minix_symlink_inode_operations
=
{
readlink:
page_readlink
,
follow_link:
page_follow_link
,
getattr:
minix_getattr
,
.
readlink
=
page_readlink
,
.
follow_link
=
page_follow_link
,
.
getattr
=
minix_getattr
,
};
void
minix_set_inode
(
struct
inode
*
inode
,
dev_t
rdev
)
...
...
@@ -554,11 +554,11 @@ static struct super_block *minix_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
minix_fs_type
=
{
owner:
THIS_MODULE
,
name:
"minix"
,
get_sb:
minix_get_sb
,
kill_sb:
kill_block_super
,
fs_flags:
FS_REQUIRES_DEV
,
.
owner
=
THIS_MODULE
,
.
name
=
"minix"
,
.
get_sb
=
minix_get_sb
,
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
int
__init
init_minix_fs
(
void
)
...
...
fs/minix/namei.c
View file @
fd9c174c
...
...
@@ -51,7 +51,7 @@ static int minix_hash(struct dentry *dentry, struct qstr *qstr)
}
struct
dentry_operations
minix_dentry_operations
=
{
d_hash:
minix_hash
,
.
d_hash
=
minix_hash
,
};
static
struct
dentry
*
minix_lookup
(
struct
inode
*
dir
,
struct
dentry
*
dentry
)
...
...
@@ -298,14 +298,14 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry,
* directories can handle most operations...
*/
struct
inode_operations
minix_dir_inode_operations
=
{
create:
minix_create
,
lookup:
minix_lookup
,
link:
minix_link
,
unlink:
minix_unlink
,
symlink:
minix_symlink
,
mkdir:
minix_mkdir
,
rmdir:
minix_rmdir
,
mknod:
minix_mknod
,
rename:
minix_rename
,
getattr:
minix_getattr
,
.
create
=
minix_create
,
.
lookup
=
minix_lookup
,
.
link
=
minix_link
,
.
unlink
=
minix_unlink
,
.
symlink
=
minix_symlink
,
.
mkdir
=
minix_mkdir
,
.
rmdir
=
minix_rmdir
,
.
mknod
=
minix_mknod
,
.
rename
=
minix_rename
,
.
getattr
=
minix_getattr
,
};
fs/openpromfs/inode.c
View file @
fd9c174c
...
...
@@ -582,28 +582,28 @@ int property_release (struct inode *inode, struct file *filp)
}
static
struct
file_operations
openpromfs_prop_ops
=
{
read:
property_read
,
write:
property_write
,
release:
property_release
,
.
read
=
property_read
,
.
write
=
property_write
,
.
release
=
property_release
,
};
static
struct
file_operations
openpromfs_nodenum_ops
=
{
read:
nodenum_read
,
.
read
=
nodenum_read
,
};
static
struct
file_operations
openprom_operations
=
{
read:
generic_read_dir
,
readdir:
openpromfs_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
openpromfs_readdir
,
};
static
struct
inode_operations
openprom_alias_inode_operations
=
{
create:
openpromfs_create
,
lookup:
openpromfs_lookup
,
unlink:
openpromfs_unlink
,
.
create
=
openpromfs_create
,
.
lookup
=
openpromfs_lookup
,
.
unlink
=
openpromfs_unlink
,
};
static
struct
inode_operations
openprom_inode_operations
=
{
lookup:
openpromfs_lookup
,
.
lookup
=
openpromfs_lookup
,
};
static
int
lookup_children
(
u16
n
,
const
char
*
name
,
int
len
)
...
...
@@ -1026,8 +1026,8 @@ static void openprom_read_inode(struct inode * inode)
}
static
struct
super_operations
openprom_sops
=
{
read_inode:
openprom_read_inode
,
statfs:
simple_statfs
,
.
read_inode
=
openprom_read_inode
,
.
statfs
=
simple_statfs
,
};
static
int
openprom_fill_super
(
struct
super_block
*
s
,
void
*
data
,
int
silent
)
...
...
@@ -1059,10 +1059,10 @@ static struct super_block *openprom_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
openprom_fs_type
=
{
owner:
THIS_MODULE
,
name:
"openpromfs"
,
get_sb:
openprom_get_sb
,
kill_sb:
kill_anon_super
,
.
owner
=
THIS_MODULE
,
.
name
=
"openpromfs"
,
.
get_sb
=
openprom_get_sb
,
.
kill_sb
=
kill_anon_super
,
};
static
int
__init
init_openprom_fs
(
void
)
...
...
fs/proc/base.c
View file @
fd9c174c
...
...
@@ -310,7 +310,7 @@ static ssize_t pid_maps_read(struct file * file, char * buf,
}
static
struct
file_operations
proc_maps_operations
=
{
read:
pid_maps_read
,
.
read
=
pid_maps_read
,
};
extern
struct
seq_operations
mounts_op
;
...
...
@@ -347,10 +347,10 @@ static int mounts_release(struct inode *inode, struct file *file)
}
static
struct
file_operations
proc_mounts_operations
=
{
open:
mounts_open
,
read:
seq_read
,
llseek:
seq_lseek
,
release:
mounts_release
,
.
open
=
mounts_open
,
.
read
=
seq_read
,
.
llseek
=
seq_lseek
,
.
release
=
mounts_release
,
};
#define PROC_BLOCK_SIZE (3*1024)
/* 4K page size but our output routines use some slack for overruns */
...
...
@@ -390,7 +390,7 @@ static ssize_t proc_info_read(struct file * file, char * buf,
}
static
struct
file_operations
proc_info_file_operations
=
{
read:
proc_info_read
,
.
read
=
proc_info_read
,
};
#define MAY_PTRACE(p) \
...
...
@@ -509,13 +509,13 @@ static ssize_t mem_write(struct file * file, const char * buf,
#endif
static
struct
file_operations
proc_mem_operations
=
{
read:
mem_read
,
write:
mem_write
,
open:
mem_open
,
.
read
=
mem_read
,
.
write
=
mem_write
,
.
open
=
mem_open
,
};
static
struct
inode_operations
proc_mem_inode_operations
=
{
permission:
proc_permission
,
.
permission
=
proc_permission
,
};
static
int
proc_pid_follow_link
(
struct
dentry
*
dentry
,
struct
nameidata
*
nd
)
...
...
@@ -587,8 +587,8 @@ static int proc_pid_readlink(struct dentry * dentry, char * buffer, int buflen)
}
static
struct
inode_operations
proc_pid_link_inode_operations
=
{
readlink:
proc_pid_readlink
,
follow_link:
proc_pid_follow_link
.
readlink
=
proc_pid_readlink
,
.
follow_link
=
proc_pid_follow_link
};
#define NUMBUF 10
...
...
@@ -823,21 +823,21 @@ static int pid_delete_dentry(struct dentry * dentry)
static
struct
dentry_operations
pid_fd_dentry_operations
=
{
d_revalidate:
pid_fd_revalidate
,
d_delete:
pid_delete_dentry
,
.
d_revalidate
=
pid_fd_revalidate
,
.
d_delete
=
pid_delete_dentry
,
};
static
struct
dentry_operations
pid_dentry_operations
=
{
d_revalidate:
pid_revalidate
,
d_delete:
pid_delete_dentry
,
.
d_revalidate
=
pid_revalidate
,
.
d_delete
=
pid_delete_dentry
,
};
static
struct
dentry_operations
pid_base_dentry_operations
=
{
d_revalidate:
pid_revalidate
,
d_iput:
pid_base_iput
,
d_delete:
pid_delete_dentry
,
.
d_revalidate
=
pid_revalidate
,
.
d_iput
=
pid_base_iput
,
.
d_delete
=
pid_delete_dentry
,
};
/* Lookups */
...
...
@@ -918,16 +918,16 @@ static struct dentry *proc_lookupfd(struct inode * dir, struct dentry * dentry)
}
static
struct
file_operations
proc_fd_operations
=
{
read:
generic_read_dir
,
readdir:
proc_readfd
,
.
read
=
generic_read_dir
,
.
readdir
=
proc_readfd
,
};
/*
* proc directories can do almost nothing..
*/
static
struct
inode_operations
proc_fd_inode_operations
=
{
lookup:
proc_lookupfd
,
permission:
proc_permission
,
.
lookup
=
proc_lookupfd
,
.
permission
=
proc_permission
,
};
/* SMP-safe */
...
...
@@ -1032,12 +1032,12 @@ static struct dentry *proc_base_lookup(struct inode *dir, struct dentry *dentry)
}
static
struct
file_operations
proc_base_operations
=
{
read:
generic_read_dir
,
readdir:
proc_base_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
proc_base_readdir
,
};
static
struct
inode_operations
proc_base_inode_operations
=
{
lookup:
proc_base_lookup
,
.
lookup
=
proc_base_lookup
,
};
/*
...
...
@@ -1058,8 +1058,8 @@ static int proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
}
static
struct
inode_operations
proc_self_inode_operations
=
{
readlink:
proc_self_readlink
,
follow_link:
proc_self_follow_link
,
.
readlink
=
proc_self_readlink
,
.
follow_link
=
proc_self_follow_link
,
};
/* SMP-safe */
...
...
fs/proc/generic.c
View file @
fd9c174c
...
...
@@ -33,9 +33,9 @@ int proc_match(int len, const char *name,struct proc_dir_entry * de)
}
static
struct
file_operations
proc_file_operations
=
{
llseek:
proc_file_lseek
,
read:
proc_file_read
,
write:
proc_file_write
,
.
llseek
=
proc_file_lseek
,
.
read
=
proc_file_read
,
.
write
=
proc_file_write
,
};
#ifndef MIN
...
...
@@ -230,8 +230,8 @@ static int proc_follow_link(struct dentry *dentry, struct nameidata *nd)
}
static
struct
inode_operations
proc_link_inode_operations
=
{
readlink:
proc_readlink
,
follow_link:
proc_follow_link
,
.
readlink
=
proc_readlink
,
.
follow_link
=
proc_follow_link
,
};
/*
...
...
@@ -247,7 +247,7 @@ static int proc_delete_dentry(struct dentry * dentry)
static
struct
dentry_operations
proc_dentry_operations
=
{
d_delete:
proc_delete_dentry
,
.
d_delete
=
proc_delete_dentry
,
};
/*
...
...
@@ -359,15 +359,15 @@ out: unlock_kernel();
* the /proc directory.
*/
static
struct
file_operations
proc_dir_operations
=
{
read:
generic_read_dir
,
readdir:
proc_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
proc_readdir
,
};
/*
* proc directories can do almost nothing..
*/
static
struct
inode_operations
proc_dir_inode_operations
=
{
lookup:
proc_lookup
,
.
lookup
=
proc_lookup
,
};
static
int
proc_register
(
struct
proc_dir_entry
*
dir
,
struct
proc_dir_entry
*
dp
)
...
...
fs/proc/inode.c
View file @
fd9c174c
...
...
@@ -130,12 +130,12 @@ int __init proc_init_inodecache(void)
}
static
struct
super_operations
proc_sops
=
{
alloc_inode:
proc_alloc_inode
,
destroy_inode:
proc_destroy_inode
,
read_inode:
proc_read_inode
,
drop_inode:
generic_delete_inode
,
delete_inode:
proc_delete_inode
,
statfs:
simple_statfs
,
.
alloc_inode
=
proc_alloc_inode
,
.
destroy_inode
=
proc_destroy_inode
,
.
read_inode
=
proc_read_inode
,
.
drop_inode
=
generic_delete_inode
,
.
delete_inode
=
proc_delete_inode
,
.
statfs
=
simple_statfs
,
};
static
int
parse_options
(
char
*
options
,
uid_t
*
uid
,
gid_t
*
gid
)
...
...
fs/proc/kcore.c
View file @
fd9c174c
...
...
@@ -30,8 +30,8 @@ static int open_kcore(struct inode * inode, struct file * filp)
static
ssize_t
read_kcore
(
struct
file
*
,
char
*
,
size_t
,
loff_t
*
);
struct
file_operations
proc_kcore_operations
=
{
read:
read_kcore
,
open:
open_kcore
,
.
read
=
read_kcore
,
.
open
=
open_kcore
,
};
#ifdef CONFIG_KCORE_AOUT
...
...
fs/proc/kmsg.c
View file @
fd9c174c
...
...
@@ -46,8 +46,8 @@ static unsigned int kmsg_poll(struct file *file, poll_table * wait)
struct
file_operations
proc_kmsg_operations
=
{
read:
kmsg_read
,
poll:
kmsg_poll
,
open:
kmsg_open
,
release:
kmsg_release
,
.
read
=
kmsg_read
,
.
poll
=
kmsg_poll
,
.
open
=
kmsg_open
,
.
release
=
kmsg_release
,
};
fs/proc/proc_misc.c
View file @
fd9c174c
...
...
@@ -246,10 +246,10 @@ static int cpuinfo_open(struct inode *inode, struct file *file)
return
seq_open
(
file
,
&
cpuinfo_op
);
}
static
struct
file_operations
proc_cpuinfo_operations
=
{
open:
cpuinfo_open
,
read:
seq_read
,
llseek:
seq_lseek
,
release:
seq_release
,
.
open
=
cpuinfo_open
,
.
read
=
seq_read
,
.
llseek
=
seq_lseek
,
.
release
=
seq_release
,
};
#ifdef CONFIG_PROC_HARDWARE
...
...
@@ -276,10 +276,10 @@ static int partitions_open(struct inode *inode, struct file *file)
return
seq_open
(
file
,
&
partitions_op
);
}
static
struct
file_operations
proc_partitions_operations
=
{
open:
partitions_open
,
read:
seq_read
,
llseek:
seq_lseek
,
release:
seq_release
,
.
open
=
partitions_open
,
.
read
=
seq_read
,
.
llseek
=
seq_lseek
,
.
release
=
seq_release
,
};
#ifdef CONFIG_MODULES
...
...
@@ -289,10 +289,10 @@ static int modules_open(struct inode *inode, struct file *file)
return
seq_open
(
file
,
&
modules_op
);
}
static
struct
file_operations
proc_modules_operations
=
{
open:
modules_open
,
read:
seq_read
,
llseek:
seq_lseek
,
release:
seq_release
,
.
open
=
modules_open
,
.
read
=
seq_read
,
.
llseek
=
seq_lseek
,
.
release
=
seq_release
,
};
extern
struct
seq_operations
ksyms_op
;
static
int
ksyms_open
(
struct
inode
*
inode
,
struct
file
*
file
)
...
...
@@ -300,10 +300,10 @@ static int ksyms_open(struct inode *inode, struct file *file)
return
seq_open
(
file
,
&
ksyms_op
);
}
static
struct
file_operations
proc_ksyms_operations
=
{
open:
ksyms_open
,
read:
seq_read
,
llseek:
seq_lseek
,
release:
seq_release
,
.
open
=
ksyms_open
,
.
read
=
seq_read
,
.
llseek
=
seq_lseek
,
.
release
=
seq_release
,
};
#endif
...
...
@@ -314,11 +314,11 @@ static int slabinfo_open(struct inode *inode, struct file *file)
return
seq_open
(
file
,
&
slabinfo_op
);
}
static
struct
file_operations
proc_slabinfo_operations
=
{
open:
slabinfo_open
,
read:
seq_read
,
write:
slabinfo_write
,
llseek:
seq_lseek
,
release:
seq_release
,
.
open
=
slabinfo_open
,
.
read
=
seq_read
,
.
write
=
slabinfo_write
,
.
llseek
=
seq_lseek
,
.
release
=
seq_release
,
};
static
int
kstat_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
...
...
@@ -456,10 +456,10 @@ static int interrupts_open(struct inode *inode, struct file *file)
return
res
;
}
static
struct
file_operations
proc_interrupts_operations
=
{
open:
interrupts_open
,
read:
seq_read
,
llseek:
seq_lseek
,
release:
single_release
,
.
open
=
interrupts_open
,
.
read
=
seq_read
,
.
llseek
=
seq_lseek
,
.
release
=
single_release
,
};
static
int
filesystems_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
...
...
@@ -587,8 +587,8 @@ static ssize_t write_profile(struct file * file, const char * buf,
}
static
struct
file_operations
proc_profile_operations
=
{
read:
read_profile
,
write:
write_profile
,
.
read
=
read_profile
,
.
write
=
write_profile
,
};
struct
proc_dir_entry
*
proc_root_kcore
;
...
...
fs/proc/root.c
View file @
fd9c174c
...
...
@@ -31,9 +31,9 @@ static struct super_block *proc_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
proc_fs_type
=
{
name:
"proc"
,
get_sb:
proc_get_sb
,
kill_sb:
kill_anon_super
,
.
name
=
"proc"
,
.
get_sb
=
proc_get_sb
,
.
kill_sb
=
kill_anon_super
,
};
extern
int
__init
proc_init_inodecache
(
void
);
...
...
@@ -122,29 +122,29 @@ static int proc_root_readdir(struct file * filp,
* directory handling functions for that..
*/
static
struct
file_operations
proc_root_operations
=
{
read:
generic_read_dir
,
readdir:
proc_root_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
proc_root_readdir
,
};
/*
* proc root can do almost nothing..
*/
static
struct
inode_operations
proc_root_inode_operations
=
{
lookup:
proc_root_lookup
,
.
lookup
=
proc_root_lookup
,
};
/*
* This is the root "inode" in the /proc tree..
*/
struct
proc_dir_entry
proc_root
=
{
low_ino:
PROC_ROOT_INO
,
namelen:
5
,
name:
"/proc"
,
mode:
S_IFDIR
|
S_IRUGO
|
S_IXUGO
,
nlink:
2
,
proc_iops:
&
proc_root_inode_operations
,
proc_fops:
&
proc_root_operations
,
parent:
&
proc_root
,
.
low_ino
=
PROC_ROOT_INO
,
.
namelen
=
5
,
.
name
=
"/proc"
,
.
mode
=
S_IFDIR
|
S_IRUGO
|
S_IXUGO
,
.
nlink
=
2
,
.
proc_iops
=
&
proc_root_inode_operations
,
.
proc_fops
=
&
proc_root_operations
,
.
parent
=
&
proc_root
,
};
#ifdef CONFIG_SYSCTL
...
...
fs/ramfs/inode.c
View file @
fd9c174c
...
...
@@ -276,35 +276,35 @@ static int ramfs_sync_file(struct file * file, struct dentry *dentry, int datasy
}
static
struct
address_space_operations
ramfs_aops
=
{
readpage:
ramfs_readpage
,
writepage:
fail_writepage
,
prepare_write:
ramfs_prepare_write
,
commit_write:
ramfs_commit_write
.
readpage
=
ramfs_readpage
,
.
writepage
=
fail_writepage
,
.
prepare_write
=
ramfs_prepare_write
,
.
commit_write
=
ramfs_commit_write
};
static
struct
file_operations
ramfs_file_operations
=
{
read:
generic_file_read
,
write:
generic_file_write
,
mmap:
generic_file_mmap
,
fsync:
ramfs_sync_file
,
sendfile:
generic_file_sendfile
,
.
read
=
generic_file_read
,
.
write
=
generic_file_write
,
.
mmap
=
generic_file_mmap
,
.
fsync
=
ramfs_sync_file
,
.
sendfile
=
generic_file_sendfile
,
};
static
struct
inode_operations
ramfs_dir_inode_operations
=
{
create:
ramfs_create
,
lookup:
simple_lookup
,
link:
ramfs_link
,
unlink:
ramfs_unlink
,
symlink:
ramfs_symlink
,
mkdir:
ramfs_mkdir
,
rmdir:
ramfs_rmdir
,
mknod:
ramfs_mknod
,
rename:
ramfs_rename
,
.
create
=
ramfs_create
,
.
lookup
=
simple_lookup
,
.
link
=
ramfs_link
,
.
unlink
=
ramfs_unlink
,
.
symlink
=
ramfs_symlink
,
.
mkdir
=
ramfs_mkdir
,
.
rmdir
=
ramfs_rmdir
,
.
mknod
=
ramfs_mknod
,
.
rename
=
ramfs_rename
,
};
static
struct
super_operations
ramfs_ops
=
{
statfs:
simple_statfs
,
drop_inode:
generic_delete_inode
,
.
statfs
=
simple_statfs
,
.
drop_inode
=
generic_delete_inode
,
};
static
int
ramfs_fill_super
(
struct
super_block
*
sb
,
void
*
data
,
int
silent
)
...
...
@@ -342,14 +342,14 @@ static struct super_block *rootfs_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
ramfs_fs_type
=
{
name:
"ramfs"
,
get_sb:
ramfs_get_sb
,
kill_sb:
kill_litter_super
,
.
name
=
"ramfs"
,
.
get_sb
=
ramfs_get_sb
,
.
kill_sb
=
kill_litter_super
,
};
static
struct
file_system_type
rootfs_fs_type
=
{
name:
"rootfs"
,
get_sb:
rootfs_get_sb
,
kill_sb:
kill_litter_super
,
.
name
=
"rootfs"
,
.
get_sb
=
rootfs_get_sb
,
.
kill_sb
=
kill_litter_super
,
};
static
int
__init
init_ramfs_fs
(
void
)
...
...
fs/romfs/inode.c
View file @
fd9c174c
...
...
@@ -456,16 +456,16 @@ romfs_readpage(struct file *file, struct page * page)
/* Mapping from our types to the kernel */
static
struct
address_space_operations
romfs_aops
=
{
readpage:
romfs_readpage
.
readpage
=
romfs_readpage
};
static
struct
file_operations
romfs_dir_operations
=
{
read:
generic_read_dir
,
readdir:
romfs_readdir
,
.
read
=
generic_read_dir
,
.
readdir
=
romfs_readdir
,
};
static
struct
inode_operations
romfs_dir_inode_operations
=
{
lookup:
romfs_lookup
,
.
lookup
=
romfs_lookup
,
};
static
mode_t
romfs_modemap
[]
=
...
...
@@ -590,10 +590,10 @@ static void destroy_inodecache(void)
}
static
struct
super_operations
romfs_ops
=
{
alloc_inode:
romfs_alloc_inode
,
destroy_inode:
romfs_destroy_inode
,
read_inode:
romfs_read_inode
,
statfs:
romfs_statfs
,
.
alloc_inode
=
romfs_alloc_inode
,
.
destroy_inode
=
romfs_destroy_inode
,
.
read_inode
=
romfs_read_inode
,
.
statfs
=
romfs_statfs
,
};
static
struct
super_block
*
romfs_get_sb
(
struct
file_system_type
*
fs_type
,
...
...
@@ -603,11 +603,11 @@ static struct super_block *romfs_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
romfs_fs_type
=
{
owner:
THIS_MODULE
,
name:
"romfs"
,
get_sb:
romfs_get_sb
,
kill_sb:
kill_block_super
,
fs_flags:
FS_REQUIRES_DEV
,
.
owner
=
THIS_MODULE
,
.
name
=
"romfs"
,
.
get_sb
=
romfs_get_sb
,
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
int
__init
init_romfs_fs
(
void
)
...
...
fs/ufs/dir.c
View file @
fd9c174c
...
...
@@ -623,7 +623,7 @@ int ufs_empty_dir (struct inode * inode)
}
struct
file_operations
ufs_dir_operations
=
{
read:
generic_read_dir
,
readdir:
ufs_readdir
,
fsync:
file_fsync
,
.
read
=
generic_read_dir
,
.
readdir
=
ufs_readdir
,
.
fsync
=
file_fsync
,
};
fs/ufs/file.c
View file @
fd9c174c
...
...
@@ -42,14 +42,14 @@
*/
struct
file_operations
ufs_file_operations
=
{
llseek:
generic_file_llseek
,
read:
generic_file_read
,
write:
generic_file_write
,
mmap:
generic_file_mmap
,
open:
generic_file_open
,
sendfile:
generic_file_sendfile
,
.
llseek
=
generic_file_llseek
,
.
read
=
generic_file_read
,
.
write
=
generic_file_write
,
.
mmap
=
generic_file_mmap
,
.
open
=
generic_file_open
,
.
sendfile
=
generic_file_sendfile
,
};
struct
inode_operations
ufs_file_inode_operations
=
{
truncate:
ufs_truncate
,
.
truncate
=
ufs_truncate
,
};
fs/ufs/inode.c
View file @
fd9c174c
...
...
@@ -462,12 +462,12 @@ static int ufs_bmap(struct address_space *mapping, long block)
return
generic_block_bmap
(
mapping
,
block
,
ufs_getfrag_block
);
}
struct
address_space_operations
ufs_aops
=
{
readpage:
ufs_readpage
,
writepage:
ufs_writepage
,
sync_page:
block_sync_page
,
prepare_write:
ufs_prepare_write
,
commit_write:
generic_commit_write
,
bmap:
ufs_bmap
.
readpage
=
ufs_readpage
,
.
writepage
=
ufs_writepage
,
.
sync_page
=
block_sync_page
,
.
prepare_write
=
ufs_prepare_write
,
.
commit_write
=
generic_commit_write
,
.
bmap
=
ufs_bmap
};
void
ufs_read_inode
(
struct
inode
*
inode
)
...
...
fs/ufs/namei.c
View file @
fd9c174c
...
...
@@ -350,13 +350,13 @@ static int ufs_rename (struct inode * old_dir, struct dentry * old_dentry,
}
struct
inode_operations
ufs_dir_inode_operations
=
{
create:
ufs_create
,
lookup:
ufs_lookup
,
link:
ufs_link
,
unlink:
ufs_unlink
,
symlink:
ufs_symlink
,
mkdir:
ufs_mkdir
,
rmdir:
ufs_rmdir
,
mknod:
ufs_mknod
,
rename:
ufs_rename
,
.
create
=
ufs_create
,
.
lookup
=
ufs_lookup
,
.
link
=
ufs_link
,
.
unlink
=
ufs_unlink
,
.
symlink
=
ufs_symlink
,
.
mkdir
=
ufs_mkdir
,
.
rmdir
=
ufs_rmdir
,
.
mknod
=
ufs_mknod
,
.
rename
=
ufs_rename
,
};
fs/ufs/super.c
View file @
fd9c174c
...
...
@@ -1041,15 +1041,15 @@ static void destroy_inodecache(void)
}
static
struct
super_operations
ufs_super_ops
=
{
alloc_inode:
ufs_alloc_inode
,
destroy_inode:
ufs_destroy_inode
,
read_inode:
ufs_read_inode
,
write_inode:
ufs_write_inode
,
delete_inode:
ufs_delete_inode
,
put_super:
ufs_put_super
,
write_super:
ufs_write_super
,
statfs:
ufs_statfs
,
remount_fs:
ufs_remount
,
.
alloc_inode
=
ufs_alloc_inode
,
.
destroy_inode
=
ufs_destroy_inode
,
.
read_inode
=
ufs_read_inode
,
.
write_inode
=
ufs_write_inode
,
.
delete_inode
=
ufs_delete_inode
,
.
put_super
=
ufs_put_super
,
.
write_super
=
ufs_write_super
,
.
statfs
=
ufs_statfs
,
.
remount_fs
=
ufs_remount
,
};
static
struct
super_block
*
ufs_get_sb
(
struct
file_system_type
*
fs_type
,
...
...
@@ -1059,11 +1059,11 @@ static struct super_block *ufs_get_sb(struct file_system_type *fs_type,
}
static
struct
file_system_type
ufs_fs_type
=
{
owner:
THIS_MODULE
,
name:
"ufs"
,
get_sb:
ufs_get_sb
,
kill_sb:
kill_block_super
,
fs_flags:
FS_REQUIRES_DEV
,
.
owner
=
THIS_MODULE
,
.
name
=
"ufs"
,
.
get_sb
=
ufs_get_sb
,
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
int
__init
init_ufs_fs
(
void
)
...
...
fs/ufs/symlink.c
View file @
fd9c174c
...
...
@@ -41,6 +41,6 @@ static int ufs_follow_link(struct dentry *dentry, struct nameidata *nd)
}
struct
inode_operations
ufs_fast_symlink_inode_operations
=
{
readlink:
ufs_readlink
,
follow_link:
ufs_follow_link
,
.
readlink
=
ufs_readlink
,
.
follow_link
=
ufs_follow_link
,
};
fs/vfat/namei.c
View file @
fd9c174c
...
...
@@ -890,7 +890,6 @@ static int vfat_add_entry(struct inode *dir,struct qstr* qname,
struct
msdos_dir_entry
*
dummy_de
;
struct
buffer_head
*
dummy_bh
;
int
dummy_ino
;
loff_t
dummy
;
dir_slots
=
(
struct
msdos_dir_slot
*
)
kmalloc
(
sizeof
(
struct
msdos_dir_slot
)
*
MSDOS_SLOTS
,
GFP_KERNEL
);
...
...
@@ -900,15 +899,6 @@ static int vfat_add_entry(struct inode *dir,struct qstr* qname,
len
=
qname
->
len
;
while
(
len
&&
qname
->
name
[
len
-
1
]
==
'.'
)
len
--
;
res
=
fat_search_long
(
dir
,
qname
->
name
,
len
,
(
MSDOS_SB
(
sb
)
->
options
.
name_check
!=
's'
)
||
!
MSDOS_SB
(
sb
)
->
options
.
posixfs
,
&
dummy
,
&
dummy
);
if
(
res
>
0
)
/* found */
res
=
-
EEXIST
;
if
(
res
)
goto
cleanup
;
res
=
vfat_build_slots
(
dir
,
qname
->
name
,
len
,
dir_slots
,
&
slots
,
is_dir
);
if
(
res
<
0
)
...
...
include/linux/msdos_fs.h
View file @
fd9c174c
...
...
@@ -68,9 +68,9 @@
MSDOS_SB(s)->fat_bits == 16 ? BAD_FAT16 : BAD_FAT12)
/* standard EOF */
#define EOF_FAT12 0xFF
8
#define EOF_FAT16 0xFFF
8
#define EOF_FAT32 0xFFFFFF
8
#define EOF_FAT12 0xFF
F
#define EOF_FAT16 0xFFF
F
#define EOF_FAT32 0xFFFFFF
F
#define EOF_FAT(s) (MSDOS_SB(s)->fat_bits == 32 ? EOF_FAT32 : \
MSDOS_SB(s)->fat_bits == 16 ? EOF_FAT16 : EOF_FAT12)
...
...
include/linux/page-flags.h
View file @
fd9c174c
...
...
@@ -211,6 +211,8 @@ extern void get_page_state(struct page_state *ret);
extern
struct
address_space
swapper_space
;
#define PageSwapCache(page) ((page)->mapping == &swapper_space)
struct
page
;
/* forward declaration */
int
test_clear_page_dirty
(
struct
page
*
page
);
static
inline
void
clear_page_dirty
(
struct
page
*
page
)
...
...
include/linux/pci_ids.h
View file @
fd9c174c
...
...
@@ -1713,8 +1713,13 @@
#define PCI_DEVICE_ID_INTEL_82801BA_9 0x244b
#define PCI_DEVICE_ID_INTEL_82801BA_10 0x244c
#define PCI_DEVICE_ID_INTEL_82801BA_11 0x244e
#define PCI_DEVICE_ID_INTEL_82801E_0 0x2450
#define PCI_DEVICE_ID_INTEL_82801E_2 0x2452
#define PCI_DEVICE_ID_INTEL_82801E_3 0x2453
#define PCI_DEVICE_ID_INTEL_82801E_9 0x245b
#define PCI_DEVICE_ID_INTEL_82801E_11 PCI_DEVICE_ID_INTEL_82801E_9
#define PCI_DEVICE_ID_INTEL_82801E_13 0x245d
#define PCI_DEVICE_ID_INTEL_82801E_14 0x245e
#define PCI_DEVICE_ID_INTEL_82801CA_0 0x2480
#define PCI_DEVICE_ID_INTEL_82801CA_2 0x2482
#define PCI_DEVICE_ID_INTEL_82801CA_3 0x2483
...
...
@@ -1725,8 +1730,16 @@
#define PCI_DEVICE_ID_INTEL_82801CA_10 0x248a
#define PCI_DEVICE_ID_INTEL_82801CA_11 0x248b
#define PCI_DEVICE_ID_INTEL_82801CA_12 0x248c
#define PCI_DEVICE_ID_INTEL_82801DB_0 0x24c0
#define PCI_DEVICE_ID_INTEL_82801DB_2 0x24c2
#define PCI_DEVICE_ID_INTEL_82801DB_3 0x24c3
#define PCI_DEVICE_ID_INTEL_82801DB_4 0x24c4
#define PCI_DEVICE_ID_INTEL_82801DB_5 0x24c5
#define PCI_DEVICE_ID_INTEL_82801DB_6 0x24c6
#define PCI_DEVICE_ID_INTEL_82801DB_7 0x24c7
#define PCI_DEVICE_ID_INTEL_82801DB_9 0x24cb
#define PCI_DEVICE_ID_INTEL_82801DB_11 PCI_DEVICE_ID_INTEL_82801DB_9
#define PCI_DEVICE_ID_INTEL_82801DB_13 0x24cd
#define PCI_DEVICE_ID_INTEL_82820_HB 0x2500
#define PCI_DEVICE_ID_INTEL_82820_UP_HB 0x2501
#define PCI_DEVICE_ID_INTEL_82850_HB 0x2530
...
...
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