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
a485bc0c
Commit
a485bc0c
authored
Sep 28, 2003
by
Patrick Mochel
Browse files
Options
Browse Files
Download
Plain Diff
Merge osdl.org:/home/mochel/src/kernel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/linux-2.5-core
parents
e05d9d7b
1f4e775c
Changes
58
Hide whitespace changes
Inline
Side-by-side
Showing
58 changed files
with
315 additions
and
331 deletions
+315
-331
Documentation/zorro.txt
Documentation/zorro.txt
+7
-9
MAINTAINERS
MAINTAINERS
+1
-1
arch/h8300/README
arch/h8300/README
+1
-1
arch/i386/Kconfig
arch/i386/Kconfig
+5
-0
arch/i386/kernel/cpu/intel.c
arch/i386/kernel/cpu/intel.c
+3
-6
arch/i386/kernel/cpu/mcheck/k7.c
arch/i386/kernel/cpu/mcheck/k7.c
+4
-1
arch/i386/kernel/smpboot.c
arch/i386/kernel/smpboot.c
+15
-15
arch/m68k/Kconfig
arch/m68k/Kconfig
+3
-3
arch/m68k/Makefile
arch/m68k/Makefile
+2
-0
arch/m68k/atari/stram.c
arch/m68k/atari/stram.c
+1
-0
arch/m68k/kernel/time.c
arch/m68k/kernel/time.c
+9
-0
arch/m68k/q40/q40ints.c
arch/m68k/q40/q40ints.c
+8
-3
arch/m68k/sun3/config.c
arch/m68k/sun3/config.c
+1
-1
drivers/block/Kconfig
drivers/block/Kconfig
+2
-2
drivers/block/acsi.c
drivers/block/acsi.c
+2
-1
drivers/block/scsi_ioctl.c
drivers/block/scsi_ioctl.c
+102
-49
drivers/block/swim_iop.c
drivers/block/swim_iop.c
+1
-0
drivers/cdrom/cdrom.c
drivers/cdrom/cdrom.c
+0
-59
drivers/char/generic_serial.c
drivers/char/generic_serial.c
+1
-1
drivers/char/ser_a2232.c
drivers/char/ser_a2232.c
+1
-1
drivers/i2c/busses/Kconfig
drivers/i2c/busses/Kconfig
+1
-1
drivers/i2c/i2c-sensor.c
drivers/i2c/i2c-sensor.c
+2
-2
drivers/input/keyboard/Kconfig
drivers/input/keyboard/Kconfig
+3
-2
drivers/input/mouse/Kconfig
drivers/input/mouse/Kconfig
+2
-1
drivers/net/Kconfig
drivers/net/Kconfig
+4
-4
drivers/net/mac8390.c
drivers/net/mac8390.c
+16
-15
drivers/scsi/Kconfig
drivers/scsi/Kconfig
+7
-7
drivers/scsi/a2091.c
drivers/scsi/a2091.c
+15
-31
drivers/scsi/gvp11.c
drivers/scsi/gvp11.c
+14
-28
drivers/scsi/megaraid.c
drivers/scsi/megaraid.c
+1
-1
drivers/scsi/qlogicfc.c
drivers/scsi/qlogicfc.c
+2
-2
drivers/scsi/sun3_scsi.c
drivers/scsi/sun3_scsi.c
+0
-2
drivers/scsi/sun3_scsi.h
drivers/scsi/sun3_scsi.h
+0
-4
drivers/scsi/sun3_scsi_vme.c
drivers/scsi/sun3_scsi_vme.c
+2
-4
drivers/video/Kconfig
drivers/video/Kconfig
+9
-9
fs/Kconfig
fs/Kconfig
+5
-6
fs/affs/file.c
fs/affs/file.c
+3
-2
fs/befs/linuxvfs.c
fs/befs/linuxvfs.c
+2
-2
fs/ext3/file.c
fs/ext3/file.c
+4
-4
fs/ext3/symlink.c
fs/ext3/symlink.c
+2
-1
fs/fat/dir.c
fs/fat/dir.c
+1
-1
fs/freevxfs/vxfs_immed.c
fs/freevxfs/vxfs_immed.c
+2
-2
fs/hfs/file.c
fs/hfs/file.c
+12
-11
fs/hfs/file_cap.c
fs/hfs/file_cap.c
+4
-4
fs/hfs/file_hdr.c
fs/hfs/file_hdr.c
+5
-4
fs/hpfs/file.c
fs/hpfs/file.c
+2
-1
fs/hpfs/hpfs_fn.h
fs/hpfs/hpfs_fn.h
+1
-1
fs/jbd/journal.c
fs/jbd/journal.c
+1
-1
fs/jfs/jfs_debug.c
fs/jfs/jfs_debug.c
+1
-1
fs/jfs/symlink.c
fs/jfs/symlink.c
+1
-1
include/asm-m68k/bitops.h
include/asm-m68k/bitops.h
+7
-6
include/asm-m68k/pci.h
include/asm-m68k/pci.h
+2
-0
include/asm-m68k/zorro.h
include/asm-m68k/zorro.h
+1
-1
include/asm-ppc/zorro.h
include/asm-ppc/zorro.h
+1
-1
include/linux/hfs_fs.h
include/linux/hfs_fs.h
+2
-2
mm/bootmem.c
mm/bootmem.c
+1
-1
sound/oss/btaudio.c
sound/oss/btaudio.c
+4
-1
sound/oss/dmasound/Kconfig
sound/oss/dmasound/Kconfig
+4
-11
No files found.
Documentation/zorro.txt
View file @
a485bc0c
...
...
@@ -2,7 +2,7 @@
----------------------------------------
Written by Geert Uytterhoeven <geert@linux-m68k.org>
Last revised:
February 27, 2000
Last revised:
September 5, 2003
1. Introduction
...
...
@@ -75,7 +75,7 @@ they are CPU physical addresses as well.
The treatment of these regions depends on the type of Zorro space:
- Zorro II address space is always mapped and does not have to be mapped
explicitly using ioremap().
explicitly using
z_
ioremap().
Conversion from bus/physical Zorro II addresses to kernel virtual addresses
and vice versa is done using:
...
...
@@ -83,22 +83,20 @@ The treatment of these regions depends on the type of Zorro space:
virt_addr = ZTWO_VADDR(bus_addr);
bus_addr = ZTWO_PADDR(virt_addr);
- Zorro III address space must be mapped explicitly using ioremap() first
- Zorro III address space must be mapped explicitly using
z_
ioremap() first
before it can be accessed:
virt_addr = ioremap(bus_addr, size);
virt_addr =
z_
ioremap(bus_addr, size);
...
iounmap(virt_addr);
z_
iounmap(virt_addr);
5. References
-------------
linux/include/linux/zorro.h
linux/include/linux/ioport.h
linux/include/asm-m68k/io.h
linux/include/asm-m68k/amigahw.h
linux/include/asm-ppc/io.h
linux/include/asm-{m68k,ppc}/zorro.h
linux/include/linux/zorro_ids.h
linux/drivers/zorro
/proc/bus/zorro
MAINTAINERS
View file @
a485bc0c
...
...
@@ -624,7 +624,7 @@ DIGIBOARD PC/XE AND PC/XI DRIVER
P: Christoph Lameter
M: christoph@lameter.com
W: http://www.digi.com
L: digilnux@d
gi
i.com
L: digilnux@d
ig
i.com
S: Orphaned
DIRECTORY NOTIFICATION
...
...
arch/h8300/README
View file @
a485bc0c
...
...
@@ -16,7 +16,7 @@ H8S is planning.
3.H8MAX
Under development
see http://www.strawbe
ll
y-linux.com (Japanese Only)
see http://www.strawbe
rr
y-linux.com (Japanese Only)
* Toolchain Version
gcc-3.1 or higher and patch
...
...
arch/i386/Kconfig
View file @
a485bc0c
...
...
@@ -1303,3 +1303,8 @@ config X86_TRAMPOLINE
bool
depends on SMP || X86_VISWS
default y
config PC
bool
depends on X86 && !EMBEDDED
default y
arch/i386/kernel/cpu/intel.c
View file @
a485bc0c
...
...
@@ -238,12 +238,9 @@ static void __init init_intel(struct cpuinfo_x86 *c)
}
/* SEP CPUID bug: Pentium Pro reports SEP but doesn't have it until model 3 mask 3 */
if
(
c
->
x86
==
6
)
{
unsigned
model_mask
=
(
c
->
x86_model
<<
8
)
+
c
->
x86_mask
;
if
(
model_mask
<
0x0303
)
clear_bit
(
X86_FEATURE_SEP
,
c
->
x86_capability
);
}
if
((
c
->
x86
<<
8
|
c
->
x86_model
<<
4
|
c
->
x86_mask
)
<
0x633
)
clear_bit
(
X86_FEATURE_SEP
,
c
->
x86_capability
);
/* Names for the Pentium II/Celeron processors
detectable only by also checking the cache size.
Dixon is NOT a Celeron. */
...
...
arch/i386/kernel/cpu/mcheck/k7.c
View file @
a485bc0c
...
...
@@ -31,7 +31,7 @@ static void k7_machine_check(struct pt_regs * regs, long error_code)
printk
(
KERN_EMERG
"CPU %d: Machine Check Exception: %08x%08x
\n
"
,
smp_processor_id
(),
mcgsth
,
mcgstl
);
for
(
i
=
0
;
i
<
nr_mce_banks
;
i
++
)
{
for
(
i
=
1
;
i
<
nr_mce_banks
;
i
++
)
{
rdmsr
(
MSR_IA32_MC0_STATUS
+
i
*
4
,
low
,
high
);
if
(
high
&
(
1
<<
31
))
{
if
(
high
&
(
1
<<
29
))
...
...
@@ -81,6 +81,9 @@ void __init amd_mcheck_init(struct cpuinfo_x86 *c)
wrmsr
(
MSR_IA32_MCG_CTL
,
0xffffffff
,
0xffffffff
);
nr_mce_banks
=
l
&
0xff
;
/* Clear status for MC index 0 separately, we don't touch CTL,
* as some Athlons cause spurious MCEs when its enabled. */
wrmsr
(
MSR_IA32_MC0_STATUS
,
0x0
,
0x0
);
for
(
i
=
1
;
i
<
nr_mce_banks
;
i
++
)
{
wrmsr
(
MSR_IA32_MC0_CTL
+
4
*
i
,
0xffffffff
,
0xffffffff
);
wrmsr
(
MSR_IA32_MC0_STATUS
+
4
*
i
,
0x0
,
0x0
);
...
...
arch/i386/kernel/smpboot.c
View file @
a485bc0c
...
...
@@ -937,6 +937,7 @@ int cpu_sibling_map[NR_CPUS] __cacheline_aligned;
static
void
__init
smp_boot_cpus
(
unsigned
int
max_cpus
)
{
int
apicid
,
cpu
,
bit
,
kicked
;
unsigned
long
bogosum
=
0
;
/*
* Setup boot CPU information
...
...
@@ -1048,26 +1049,25 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
/*
* Allow the user to impress friends.
*/
Dprintk
(
"Before bogomips.
\n
"
);
if
(
!
cpucount
)
{
printk
(
KERN_ERR
"Error: only one processor found.
\n
"
);
}
else
{
unsigned
long
bogosum
=
0
;
for
(
cpu
=
0
;
cpu
<
NR_CPUS
;
cpu
++
)
if
(
cpu_isset
(
cpu
,
cpu_callout_map
))
bogosum
+=
cpu_data
[
cpu
].
loops_per_jiffy
;
printk
(
KERN_INFO
"Total of %d processors activated (%lu.%02lu BogoMIPS).
\n
"
,
cpucount
+
1
,
bogosum
/
(
500000
/
HZ
),
(
bogosum
/
(
5000
/
HZ
))
%
100
);
Dprintk
(
"Before bogocount - setting activated=1.
\n
"
);
}
for
(
cpu
=
0
;
cpu
<
NR_CPUS
;
cpu
++
)
if
(
cpu_isset
(
cpu
,
cpu_callout_map
))
bogosum
+=
cpu_data
[
cpu
].
loops_per_jiffy
;
printk
(
KERN_INFO
"Total of %d processors activated (%lu.%02lu BogoMIPS).
\n
"
,
cpucount
+
1
,
bogosum
/
(
500000
/
HZ
),
(
bogosum
/
(
5000
/
HZ
))
%
100
);
Dprintk
(
"Before bogocount - setting activated=1.
\n
"
);
if
(
smp_b_stepping
)
printk
(
KERN_WARNING
"WARNING: SMP operation may be unreliable with B stepping processors.
\n
"
);
/* Don't taint if we are running SMP kernel on a single non-MP approved Athlon */
/*
* Don't taint if we are running SMP kernel on a single non-MP
* approved Athlon
*/
if
(
tainted
&
TAINT_UNSAFE_SMP
)
{
if
(
cpucount
)
printk
(
KERN_INFO
"WARNING: This combination of AMD processors is not suitable for SMP.
\n
"
);
...
...
arch/m68k/Kconfig
View file @
a485bc0c
...
...
@@ -87,7 +87,7 @@ config ATARI
config HADES
bool "Hades support"
depends on ATARI
depends on ATARI
&& BROKEN
help
This option enables support for the Hades Atari clone. If you plan
to use this kernel on a Hades, say Y here; otherwise say N.
...
...
@@ -361,7 +361,7 @@ config AMIGA_PCMCIA
config STRAM_SWAP
bool "Support for ST-RAM as swap space"
depends on ATARI
depends on ATARI
&& BROKEN
---help---
Some Atari 68k macines (including the 520STF and 1020STE) divide
their addressible memory into ST and TT sections. The TT section
...
...
@@ -961,7 +961,7 @@ config MVME147_SCC
config SERIAL167
bool "CD2401 support for MVME166/7 serial ports"
depends on MVME16x
depends on MVME16x
&& BROKEN
help
This is the driver for the serial ports on the Motorola MVME166,
167, and 172 boards. Everyone using one of these boards should say
...
...
arch/m68k/Makefile
View file @
a485bc0c
...
...
@@ -76,6 +76,8 @@ core-$(CONFIG_M68040) += arch/m68k/fpsp040/
core-$(CONFIG_M68060)
+=
arch
/m68k/ifpsp060/
core-$(CONFIG_M68KFPU_EMU)
+=
arch
/m68k/math-emu/
all
:
zImage
lilo
:
vmlinux
if
[
-f
$(INSTALL_PATH)
/vmlinux
]
;
then
mv
-f
$(INSTALL_PATH)
/vmlinux
$(INSTALL_PATH)
/vmlinux.old
;
fi
if
[
-f
$(INSTALL_PATH)
/System.map
]
;
then
mv
-f
$(INSTALL_PATH)
/System.map
$(INSTALL_PATH)
/System.old
;
fi
...
...
arch/m68k/atari/stram.c
View file @
a485bc0c
...
...
@@ -22,6 +22,7 @@
#include <linux/shm.h>
#include <linux/bootmem.h>
#include <linux/mount.h>
#include <linux/blkdev.h>
#include <asm/setup.h>
#include <asm/machdep.h>
...
...
arch/m68k/kernel/time.c
View file @
a485bc0c
...
...
@@ -171,3 +171,12 @@ int do_settimeofday(struct timespec *tv)
write_sequnlock_irq
(
&
xtime_lock
);
return
0
;
}
/*
* Scheduler clock - returns current time in ns units.
*/
unsigned
long
long
sched_clock
(
void
)
{
return
(
unsigned
long
long
)
jiffies
*
(
1000000000
/
HZ
);
}
arch/m68k/q40/q40ints.c
View file @
a485bc0c
...
...
@@ -200,7 +200,9 @@ void q40_free_irq(unsigned int irq, void *dev_id)
irqreturn_t
q40_process_int
(
int
level
,
struct
pt_regs
*
fp
)
{
printk
(
"unexpected interrupt %x
\n
"
,
level
);
printk
(
"unexpected interrupt vec=%x, pc=%lx, d0=%lx, d0_orig=%lx, d1=%lx, d2=%lx
\n
"
,
level
,
fp
->
pc
,
fp
->
d0
,
fp
->
orig_d0
,
fp
->
d1
,
fp
->
d2
);
printk
(
"
\t
IIRQ_REG = %x, EIRQ_REG = %x
\n
"
,
master_inb
(
IIRQ_REG
),
master_inb
(
EIRQ_REG
));
return
IRQ_HANDLED
;
}
...
...
@@ -378,7 +380,7 @@ irqreturn_t q40_irq2_handler (int vec, void *devname, struct pt_regs *fp)
/*printk("reenabling irq %d\n",irq); */
#endif
}
// used to do 'goto repeat;' her, this delayed bh processing too long
// used to do 'goto repeat;' her
e
, this delayed bh processing too long
return
IRQ_HANDLED
;
}
}
...
...
@@ -387,6 +389,7 @@ irqreturn_t q40_irq2_handler (int vec, void *devname, struct pt_regs *fp)
}
iirq:
mir
=
master_inb
(
IIRQ_REG
);
/* should test whether keyboard irq is really enabled, doing it in defhand */
if
(
mir
&
Q40_IRQ_KEYB_MASK
)
{
irq_tab
[
Q40_IRQ_KEYBOARD
].
count
++
;
irq_tab
[
Q40_IRQ_KEYBOARD
].
handler
(
Q40_IRQ_KEYBOARD
,
irq_tab
[
Q40_IRQ_KEYBOARD
].
dev_id
,
fp
);
...
...
@@ -413,7 +416,9 @@ int show_q40_interrupts (struct seq_file *p, void *v)
static
irqreturn_t
q40_defhand
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
)
{
printk
(
"Unknown q40 interrupt 0x%02x
\n
"
,
irq
);
if
(
irq
!=
Q40_IRQ_KEYBOARD
)
printk
(
"Unknown q40 interrupt %d
\n
"
,
irq
);
else
master_outb
(
-
1
,
KEYBOARD_UNLOCK_REG
);
return
IRQ_NONE
;
}
static
irqreturn_t
sys_default_handler
(
int
lev
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
...
...
arch/m68k/sun3/config.c
View file @
a485bc0c
...
...
@@ -129,7 +129,7 @@ void __init sun3_bootmem_alloc(unsigned long memory_start, unsigned long memory_
high_memory
=
(
void
*
)
memory_end
;
availmem
=
memory_start
;
availmem
+=
init_bootmem
(
start_page
,
num_pages
);
availmem
+=
init_bootmem
_node
(
NODE_DATA
(
0
),
start_page
,
0
,
num_pages
);
availmem
=
(
availmem
+
(
PAGE_SIZE
-
1
))
&
PAGE_MASK
;
free_bootmem
(
__pa
(
availmem
),
memory_end
-
(
availmem
));
...
...
drivers/block/Kconfig
View file @
a485bc0c
...
...
@@ -35,7 +35,7 @@ config BLK_DEV_FD98
config BLK_DEV_SWIM_IOP
bool "Macintosh IIfx/Quadra 900/Quadra 950 floppy support (EXPERIMENTAL)"
depends on MAC && EXPERIMENTAL
depends on MAC && EXPERIMENTAL
&& BROKEN
help
Say Y here to support the SWIM (Super Woz Integrated Machine) IOP
floppy controller on the Macintosh IIfx and Quadra 900/950.
...
...
@@ -63,7 +63,7 @@ config AMIGA_Z2RAM
config ATARI_ACSI
tristate "Atari ACSI support"
depends on ATARI
depends on ATARI
&& BROKEN
---help---
This enables support for the Atari ACSI interface. The driver
supports hard disks and CD-ROMs, which have 512-byte sectors, or can
...
...
drivers/block/acsi.c
View file @
a485bc0c
...
...
@@ -63,6 +63,7 @@ typedef void Scsi_Device; /* hack to avoid including scsi.h */
#include <linux/hdreg.h>
/* for HDIO_GETGEO */
#include <linux/blkpg.h>
#include <linux/buffer_head.h>
#include <linux/blkdev.h>
#include <asm/setup.h>
#include <asm/pgtable.h>
...
...
@@ -346,7 +347,7 @@ struct acsi_error {
static
int
acsicmd_dma
(
const
char
*
cmd
,
char
*
buffer
,
int
blocks
,
int
rwflag
,
int
enable
);
static
int
acsi_reqsense
(
char
*
buffer
,
int
targ
,
int
lun
);
static
void
acsi_print_error
(
const
unsigned
char
*
errblk
,
int
struct
acsi_info_struct
*
aip
);
static
void
acsi_print_error
(
const
unsigned
char
*
errblk
,
struct
acsi_info_struct
*
aip
);
static
irqreturn_t
acsi_interrupt
(
int
irq
,
void
*
data
,
struct
pt_regs
*
fp
);
static
void
unexpected_acsi_interrupt
(
void
);
static
void
bad_rw_intr
(
void
);
...
...
drivers/block/scsi_ioctl.c
View file @
a485bc0c
...
...
@@ -25,6 +25,7 @@
#include <linux/cdrom.h>
#include <linux/slab.h>
#include <linux/bio.h>
#include <linux/times.h>
#include <asm/uaccess.h>
#include <scsi/scsi.h>
...
...
@@ -140,40 +141,36 @@ static int sg_emulated_host(request_queue_t *q, int *p)
}
static
int
sg_io
(
request_queue_t
*
q
,
struct
block_device
*
bdev
,
struct
sg_io_hdr
*
upt
r
)
struct
sg_io_hdr
*
hd
r
)
{
unsigned
long
start_time
;
int
reading
,
writing
;
struct
sg_io_hdr
hdr
;
struct
request
*
rq
;
struct
bio
*
bio
;
char
sense
[
SCSI_SENSE_BUFFERSIZE
];
void
*
buffer
;
if
(
copy_from_user
(
&
hdr
,
uptr
,
sizeof
(
*
uptr
)))
return
-
EFAULT
;
if
(
hdr
.
interface_id
!=
'S'
)
if
(
hdr
->
interface_id
!=
'S'
)
return
-
EINVAL
;
if
(
hdr
.
cmd_len
>
sizeof
(
rq
->
cmd
))
if
(
hdr
->
cmd_len
>
sizeof
(
rq
->
cmd
))
return
-
EINVAL
;
/*
* we'll do that later
*/
if
(
hdr
.
iovec_count
)
if
(
hdr
->
iovec_count
)
return
-
EOPNOTSUPP
;
if
(
hdr
.
dxfer_len
>
(
q
->
max_sectors
<<
9
))
if
(
hdr
->
dxfer_len
>
(
q
->
max_sectors
<<
9
))
return
-
EIO
;
reading
=
writing
=
0
;
buffer
=
NULL
;
bio
=
NULL
;
if
(
hdr
.
dxfer_len
)
{
unsigned
int
bytes
=
(
hdr
.
dxfer_len
+
511
)
&
~
511
;
if
(
hdr
->
dxfer_len
)
{
unsigned
int
bytes
=
(
hdr
->
dxfer_len
+
511
)
&
~
511
;
switch
(
hdr
.
dxfer_direction
)
{
switch
(
hdr
->
dxfer_direction
)
{
default:
return
-
EINVAL
;
case
SG_DXFER_TO_FROM_DEV
:
...
...
@@ -191,8 +188,8 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
* first try to map it into a bio. reading from device will
* be a write to vm.
*/
bio
=
bio_map_user
(
bdev
,
(
unsigned
long
)
hdr
.
dxferp
,
hdr
.
dxfer_len
,
reading
);
bio
=
bio_map_user
(
bdev
,
(
unsigned
long
)
hdr
->
dxferp
,
hdr
->
dxfer_len
,
reading
);
/*
* if bio setup failed, fall back to slow approach
...
...
@@ -203,11 +200,11 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
return
-
ENOMEM
;
if
(
writing
)
{
if
(
copy_from_user
(
buffer
,
hdr
.
dxferp
,
hdr
.
dxfer_len
))
if
(
copy_from_user
(
buffer
,
hdr
->
dxferp
,
hdr
->
dxfer_len
))
goto
out_buffer
;
}
else
memset
(
buffer
,
0
,
hdr
.
dxfer_len
);
memset
(
buffer
,
0
,
hdr
->
dxfer_len
);
}
}
...
...
@@ -216,11 +213,10 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
/*
* fill in request structure
*/
rq
->
cmd_len
=
hdr
.
cmd_len
;
if
(
copy_from_user
(
rq
->
cmd
,
hdr
.
cmdp
,
hdr
.
cmd_len
))
goto
out_request
;
if
(
sizeof
(
rq
->
cmd
)
!=
hdr
.
cmd_len
)
memset
(
rq
->
cmd
+
hdr
.
cmd_len
,
0
,
sizeof
(
rq
->
cmd
)
-
hdr
.
cmd_len
);
rq
->
cmd_len
=
hdr
->
cmd_len
;
memcpy
(
rq
->
cmd
,
hdr
->
cmdp
,
hdr
->
cmd_len
);
if
(
sizeof
(
rq
->
cmd
)
!=
hdr
->
cmd_len
)
memset
(
rq
->
cmd
+
hdr
->
cmd_len
,
0
,
sizeof
(
rq
->
cmd
)
-
hdr
->
cmd_len
);
memset
(
sense
,
0
,
sizeof
(
sense
));
rq
->
sense
=
sense
;
...
...
@@ -234,9 +230,9 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
blk_rq_bio_prep
(
q
,
rq
,
bio
);
rq
->
data
=
buffer
;
rq
->
data_len
=
hdr
.
dxfer_len
;
rq
->
data_len
=
hdr
->
dxfer_len
;
rq
->
timeout
=
(
hdr
.
timeout
*
HZ
)
/
1000
;
rq
->
timeout
=
(
hdr
->
timeout
*
HZ
)
/
1000
;
if
(
!
rq
->
timeout
)
rq
->
timeout
=
q
->
sg_timeout
;
if
(
!
rq
->
timeout
)
...
...
@@ -254,33 +250,30 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
bio_unmap_user
(
bio
,
reading
);
/* write to all output members */
hdr
.
status
=
rq
->
errors
;
hdr
.
masked_status
=
(
hdr
.
status
>>
1
)
&
0x1f
;
hdr
.
msg_status
=
0
;
hdr
.
host_status
=
0
;
hdr
.
driver_status
=
0
;
hdr
.
info
=
0
;
if
(
hdr
.
masked_status
||
hdr
.
host_status
||
hdr
.
driver_status
)
hdr
.
info
|=
SG_INFO_CHECK
;
hdr
.
resid
=
rq
->
data_len
;
hdr
.
duration
=
((
jiffies
-
start_time
)
*
1000
)
/
HZ
;
hdr
.
sb_len_wr
=
0
;
if
(
rq
->
sense_len
&&
hdr
.
sbp
)
{
int
len
=
min
((
unsigned
int
)
hdr
.
mx_sb_len
,
rq
->
sense_len
);
if
(
!
copy_to_user
(
hdr
.
sbp
,
rq
->
sense
,
len
))
hdr
.
sb_len_wr
=
len
;
hdr
->
status
=
rq
->
errors
;
hdr
->
masked_status
=
(
hdr
->
status
>>
1
)
&
0x1f
;
hdr
->
msg_status
=
0
;
hdr
->
host_status
=
0
;
hdr
->
driver_status
=
0
;
hdr
->
info
=
0
;
if
(
hdr
->
masked_status
||
hdr
->
host_status
||
hdr
->
driver_status
)
hdr
->
info
|=
SG_INFO_CHECK
;
hdr
->
resid
=
rq
->
data_len
;
hdr
->
duration
=
((
jiffies
-
start_time
)
*
1000
)
/
HZ
;
hdr
->
sb_len_wr
=
0
;
if
(
rq
->
sense_len
&&
hdr
->
sbp
)
{
int
len
=
min
((
unsigned
int
)
hdr
->
mx_sb_len
,
rq
->
sense_len
);
if
(
!
copy_to_user
(
hdr
->
sbp
,
rq
->
sense
,
len
))
hdr
->
sb_len_wr
=
len
;
}
blk_put_request
(
rq
);
if
(
copy_to_user
(
uptr
,
&
hdr
,
sizeof
(
*
uptr
)))
goto
out_buffer
;
if
(
buffer
)
{
if
(
reading
)
if
(
copy_to_user
(
hdr
.
dxferp
,
buffer
,
hdr
.
dxfer_len
))
if
(
copy_to_user
(
hdr
->
dxferp
,
buffer
,
hdr
->
dxfer_len
))
goto
out_buffer
;
kfree
(
buffer
);
...
...
@@ -289,8 +282,6 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
/* may not have succeeded, but output values written to control
* structure (struct sg_io_hdr). */
return
0
;
out_request:
blk_put_request
(
rq
);
out_buffer:
kfree
(
buffer
);
return
-
EFAULT
;
...
...
@@ -437,9 +428,71 @@ int scsi_cmd_ioctl(struct block_device *bdev, unsigned int cmd, unsigned long ar
case
SG_EMULATED_HOST
:
err
=
sg_emulated_host
(
q
,
(
int
*
)
arg
);
break
;
case
SG_IO
:
err
=
sg_io
(
q
,
bdev
,
(
struct
sg_io_hdr
*
)
arg
);
case
SG_IO
:
{
struct
sg_io_hdr
hdr
;
if
(
copy_from_user
(
&
hdr
,
(
struct
sg_io_hdr
*
)
arg
,
sizeof
(
hdr
)))
{
err
=
-
EFAULT
;
break
;
}
err
=
sg_io
(
q
,
bdev
,
&
hdr
);
if
(
copy_to_user
((
struct
sg_io_hdr
*
)
arg
,
&
hdr
,
sizeof
(
hdr
)))
err
=
-
EFAULT
;
break
;
}
case
CDROM_SEND_PACKET
:
{
struct
cdrom_generic_command
cgc
;
struct
sg_io_hdr
hdr
;
if
(
copy_from_user
(
&
cgc
,
(
struct
cdrom_generic_command
*
)
arg
,
sizeof
(
cgc
)))
{
err
=
-
EFAULT
;
break
;
}
cgc
.
timeout
=
clock_t_to_jiffies
(
cgc
.
timeout
);
memset
(
&
hdr
,
0
,
sizeof
(
hdr
));
hdr
.
interface_id
=
'S'
;
hdr
.
cmd_len
=
sizeof
(
cgc
.
cmd
);
hdr
.
dxfer_len
=
cgc
.
buflen
;
err
=
0
;
switch
(
cgc
.
data_direction
)
{
case
CGC_DATA_UNKNOWN
:
hdr
.
dxfer_direction
=
SG_DXFER_UNKNOWN
;
break
;
case
CGC_DATA_WRITE
:
hdr
.
dxfer_direction
=
SG_DXFER_TO_DEV
;
break
;
case
CGC_DATA_READ
:
hdr
.
dxfer_direction
=
SG_DXFER_FROM_DEV
;
break
;
case
CGC_DATA_NONE
:
hdr
.
dxfer_direction
=
SG_DXFER_NONE
;
break
;
default:
err
=
-
EINVAL
;
}
if
(
err
)
break
;
hdr
.
dxferp
=
cgc
.
buffer
;
hdr
.
sbp
=
(
char
*
)
cgc
.
sense
;
if
(
hdr
.
sbp
)
hdr
.
mx_sb_len
=
sizeof
(
struct
request_sense
);
hdr
.
timeout
=
cgc
.
timeout
;
hdr
.
cmdp
=
cgc
.
cmd
;
hdr
.
cmd_len
=
sizeof
(
cgc
.
cmd
);
err
=
sg_io
(
q
,
bdev
,
&
hdr
);
if
(
hdr
.
status
)
err
=
-
EIO
;
cgc
.
stat
=
err
;
cgc
.
buflen
=
hdr
.
resid
;
if
(
copy_to_user
((
struct
cdrom_generic_command
*
)
arg
,
&
cgc
,
sizeof
(
cgc
)))
err
=
-
EFAULT
;
break
;
}
/*
* old junk scsi send command ioctl
*/
...
...
drivers/block/swim_iop.c
View file @
a485bc0c
...
...
@@ -31,6 +31,7 @@
#include <linux/delay.h>
#include <linux/fd.h>
#include <linux/ioctl.h>
#include <linux/blkdev.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/mac_iop.h>
...
...
drivers/cdrom/cdrom.c
View file @
a485bc0c
...
...
@@ -1856,57 +1856,6 @@ static int cdrom_switch_blocksize(struct cdrom_device_info *cdi, int size)
return
cdo
->
generic_packet
(
cdi
,
&
cgc
);
}
static
int
cdrom_do_cmd
(
struct
cdrom_device_info
*
cdi
,
struct
cdrom_generic_command
*
cgc
)
{
struct
request_sense
*
usense
,
sense
;
unsigned
char
*
ubuf
;
int
ret
;
if
(
cgc
->
data_direction
==
CGC_DATA_UNKNOWN
)
return
-
EINVAL
;
if
(
cgc
->
buflen
<
0
||
cgc
->
buflen
>=
131072
)
return
-
EINVAL
;
usense
=
cgc
->
sense
;
cgc
->
sense
=
&
sense
;
if
(
usense
&&
!
access_ok
(
VERIFY_WRITE
,
usense
,
sizeof
(
*
usense
)))
{
return
-
EFAULT
;
}
ubuf
=
cgc
->
buffer
;
if
(
cgc
->
data_direction
==
CGC_DATA_READ
||
cgc
->
data_direction
==
CGC_DATA_WRITE
)
{
cgc
->
buffer
=
kmalloc
(
cgc
->
buflen
,
GFP_KERNEL
);
if
(
cgc
->
buffer
==
NULL
)
return
-
ENOMEM
;
}
if
(
cgc
->
data_direction
==
CGC_DATA_READ
)
{
if
(
!
access_ok
(
VERIFY_READ
,
ubuf
,
cgc
->
buflen
))
{
kfree
(
cgc
->
buffer
);
return
-
EFAULT
;
}
}
else
if
(
cgc
->
data_direction
==
CGC_DATA_WRITE
)
{
if
(
copy_from_user
(
cgc
->
buffer
,
ubuf
,
cgc
->
buflen
))
{
kfree
(
cgc
->
buffer
);
return
-
EFAULT
;
}
}
ret
=
cdi
->
ops
->
generic_packet
(
cdi
,
cgc
);
__copy_to_user
(
usense
,
cgc
->
sense
,
sizeof
(
*
usense
));
if
(
!
ret
&&
cgc
->
data_direction
==
CGC_DATA_READ
)
__copy_to_user
(
ubuf
,
cgc
->
buffer
,
cgc
->
buflen
);
if
(
cgc
->
data_direction
==
CGC_DATA_READ
||
cgc
->
data_direction
==
CGC_DATA_WRITE
)
{
kfree
(
cgc
->
buffer
);
}
return
ret
;
}
static
int
mmc_ioctl
(
struct
cdrom_device_info
*
cdi
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
...
...
@@ -2176,14 +2125,6 @@ static int mmc_ioctl(struct cdrom_device_info *cdi, unsigned int cmd,
return
0
;
}
case
CDROM_SEND_PACKET
:
{
if
(
!
CDROM_CAN
(
CDC_GENERIC_PACKET
))
return
-
ENOSYS
;
cdinfo
(
CD_DO_IOCTL
,
"entering CDROM_SEND_PACKET
\n
"
);
IOCTL_IN
(
arg
,
struct
cdrom_generic_command
,
cgc
);
cgc
.
timeout
=
clock_t_to_jiffies
(
cgc
.
timeout
);
return
cdrom_do_cmd
(
cdi
,
&
cgc
);
}
case
CDROM_NEXT_WRITABLE
:
{
long
next
=
0
;
cdinfo
(
CD_DO_IOCTL
,
"entering CDROM_NEXT_WRITABLE
\n
"
);
...
...
drivers/char/generic_serial.c
View file @
a485bc0c
...
...
@@ -348,7 +348,7 @@ int gs_real_chars_in_buffer(struct tty_struct *tty)
static
int
gs_wait_tx_flushed
(
void
*
ptr
,
int
timeout
)
{
struct
gs_port
*
port
=
ptr
;
long
end_jiffies
;
unsigned
long
end_jiffies
;
int
jiffies_to_transmit
,
charsleft
=
0
,
rv
=
0
;
int
rcib
;
...
...
drivers/char/ser_a2232.c
View file @
a485bc0c
...
...
@@ -703,7 +703,7 @@ static int a2232_init_drivers(void)
a2232_driver
->
name
=
"ttyY"
;
a2232_driver
->
major
=
A2232_NORMAL_MAJOR
;
a2232_driver
->
type
=
TTY_DRIVER_TYPE_SERIAL
;
a2232_driver
->
subtype
=
SERIAL_T
TY
_NORMAL
;
a2232_driver
->
subtype
=
SERIAL_T
YPE
_NORMAL
;
a2232_driver
->
init_termios
=
tty_std_termios
;
a2232_driver
->
init_termios
.
c_cflag
=
B9600
|
CS8
|
CREAD
|
HUPCL
|
CLOCAL
;
...
...
drivers/i2c/busses/Kconfig
View file @
a485bc0c
...
...
@@ -285,7 +285,7 @@ config I2C_VELLEMAN
will be called i2c-velleman.
config I2C_VIA
tristate "VIA 82C58B"
tristate "VIA 82C58
6
B"
depends on I2C_ALGOBIT && PCI && EXPERIMENTAL
help
...
...
drivers/i2c/i2c-sensor.c
View file @
a485bc0c
...
...
@@ -133,7 +133,7 @@ int i2c_detect(struct i2c_adapter *adapter,
i
+=
2
)
{
if
(((
adapter_id
==
address_data
->
probe
[
i
])
||
((
address_data
->
probe
[
i
]
==
ANY_I2C_BUS
)
&
!
is_isa
))
probe
[
i
]
==
ANY_I2C_BUS
)
&
&
!
is_isa
))
&&
(
addr
==
address_data
->
probe
[
i
+
1
]))
{
dev_dbg
(
&
adapter
->
dev
,
"found probe parameter for adapter %d, addr %04x
\n
"
,
adapter_id
,
addr
);
found
=
1
;
...
...
@@ -141,7 +141,7 @@ int i2c_detect(struct i2c_adapter *adapter,
}
for
(
i
=
0
;
!
found
&&
(
address_data
->
probe_range
[
i
]
!=
I2C_CLIENT_END
);
i
+=
3
)
{
if
(
((
adapter_id
==
address_data
->
probe_range
[
i
])
||
((
address_data
->
probe_range
[
i
]
==
ANY_I2C_BUS
)
&
!
is_isa
))
&&
((
address_data
->
probe_range
[
i
]
==
ANY_I2C_BUS
)
&
&
!
is_isa
))
&&
(
addr
>=
address_data
->
probe_range
[
i
+
1
])
&&
(
addr
<=
address_data
->
probe_range
[
i
+
2
]))
{
found
=
1
;
...
...
drivers/input/keyboard/Kconfig
View file @
a485bc0c
...
...
@@ -12,10 +12,11 @@ config INPUT_KEYBOARD
If unsure, say Y.
config KEYBOARD_ATKBD
tristate "AT keyboard support" if
EMBEDDED || !X86
tristate "AT keyboard support" if
!PC
default y
depends on INPUT && INPUT_KEYBOARD
select SERIO_I8042
select SERIO
select SERIO_I8042 if PC
help
Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
you'll need this, unless you have a different type keyboard (USB, ADB
...
...
drivers/input/mouse/Kconfig
View file @
a485bc0c
...
...
@@ -15,7 +15,8 @@ config MOUSE_PS2
tristate "PS/2 mouse"
default y
depends on INPUT && INPUT_MOUSE
select SERIO_I8042
select SERIO
select SERIO_I8042 if PC
---help---
Say Y here if you have a PS/2 mouse connected to your system. This
includes the standard 2 or 3-button PS/2 mouse, as well as PS/2
...
...
drivers/net/Kconfig
View file @
a485bc0c
...
...
@@ -332,7 +332,7 @@ config MAC8390
config MAC89x0
tristate "Macintosh CS89x0 based ethernet cards"
depends on NETDEVICES && MAC
depends on NETDEVICES && MAC
&& BROKEN
---help---
Support for CS89x0 chipset based Ethernet cards. If you have a
Nubus or LC-PDS network (Ethernet) card of this type, say Y and
...
...
@@ -405,7 +405,7 @@ config ATARILANCE
config ATARI_BIONET
tristate "BioNet-100 support"
depends on NETDEVICES && ATARI && ATARI_ACSI!=n
depends on NETDEVICES && ATARI && ATARI_ACSI!=n
&& BROKEN
help
Say Y to include support for BioData's BioNet-100 Ethernet adapter
for the ACSI port. The driver works (has to work...) with a polled
...
...
@@ -413,7 +413,7 @@ config ATARI_BIONET
config ATARI_PAMSNET
tristate "PAMsNet support"
depends on NETDEVICES && ATARI && ATARI_ACSI!=n
depends on NETDEVICES && ATARI && ATARI_ACSI!=n
&& BROKEN
help
Say Y to include support for the PAMsNet Ethernet adapter for the
ACSI port ("ACSI node"). The driver works (has to work...) with a
...
...
@@ -808,7 +808,7 @@ config ULTRA32
config SMC9194
tristate "SMC 9194 support"
depends on NET_VENDOR_SMC && (ISA || MAC)
depends on NET_VENDOR_SMC && (ISA || MAC
&& BROKEN
)
select CRC32
---help---
This is support for the SMC9xxx based Ethernet cards. Choose this
...
...
drivers/net/mac8390.c
View file @
a485bc0c
...
...
@@ -442,14 +442,14 @@ int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * ndev,
ei_status
.
tx_start_page
=
CABLETRON_TX_START_PG
;
ei_status
.
rx_start_page
=
CABLETRON_RX_START_PG
;
ei_status
.
stop_page
=
CABLETRON_RX_STOP_PG
;
dev
->
rmem_start
=
dev
->
mem_start
;
dev
->
rmem_end
=
dev
->
mem_start
+
CABLETRON_RX_STOP_PG
*
256
;
ei_status
.
rmem_start
=
dev
->
mem_start
;
ei_status
.
rmem_end
=
dev
->
mem_start
+
CABLETRON_RX_STOP_PG
*
256
;
}
else
{
ei_status
.
tx_start_page
=
WD_START_PG
;
ei_status
.
rx_start_page
=
WD_START_PG
+
TX_PAGES
;
ei_status
.
stop_page
=
(
dev
->
mem_end
-
dev
->
mem_start
)
/
256
;
dev
->
rmem_start
=
dev
->
mem_start
+
TX_PAGES
*
256
;
dev
->
rmem_end
=
dev
->
mem_end
;
ei_status
.
rmem_start
=
dev
->
mem_start
+
TX_PAGES
*
256
;
ei_status
.
rmem_end
=
dev
->
mem_end
;
}
/* Fill in model-specific information and functions */
...
...
@@ -621,12 +621,12 @@ static void sane_block_input(struct net_device *dev, int count,
unsigned
long
xfer_base
=
ring_offset
-
(
WD_START_PG
<<
8
);
unsigned
long
xfer_start
=
xfer_base
+
dev
->
mem_start
;
if
(
xfer_start
+
count
>
dev
->
rmem_end
)
{
if
(
xfer_start
+
count
>
ei_status
.
rmem_end
)
{
/* We must wrap the input move. */
int
semi_count
=
dev
->
rmem_end
-
xfer_start
;
int
semi_count
=
ei_status
.
rmem_end
-
xfer_start
;
memcpy_fromio
(
skb
->
data
,
(
char
*
)
dev
->
mem_start
+
xfer_base
,
semi_count
);
count
-=
semi_count
;
memcpy_toio
(
skb
->
data
+
semi_count
,
(
char
*
)
dev
->
rmem_start
,
count
);
memcpy_toio
(
skb
->
data
+
semi_count
,
(
char
*
)
ei_status
.
rmem_start
,
count
);
}
else
{
memcpy_fromio
(
skb
->
data
,
(
char
*
)
dev
->
mem_start
+
xfer_base
,
count
);
}
...
...
@@ -657,15 +657,16 @@ static void dayna_block_input(struct net_device *dev, int count, struct sk_buff
/* Note the offset math is done in card memory space which is word
per long onto our space. */
if
(
xfer_start
+
count
>
dev
->
rmem_end
)
if
(
xfer_start
+
count
>
ei_status
.
rmem_end
)
{
/* We must wrap the input move. */
int
semi_count
=
dev
->
rmem_end
-
xfer_start
;
int
semi_count
=
ei_status
.
rmem_end
-
xfer_start
;
dayna_memcpy_fromcard
(
dev
,
skb
->
data
,
xfer_base
,
semi_count
);
count
-=
semi_count
;
dayna_memcpy_fromcard
(
dev
,
skb
->
data
+
semi_count
,
dev
->
rmem_start
-
dev
->
mem_start
,
count
);
dayna_memcpy_fromcard
(
dev
,
skb
->
data
+
semi_count
,
ei_status
.
rmem_start
-
dev
->
mem_start
,
count
);
}
else
{
...
...
@@ -697,15 +698,15 @@ static void slow_sane_block_input(struct net_device *dev, int count, struct sk_b
unsigned
long
xfer_base
=
ring_offset
-
(
WD_START_PG
<<
8
);
unsigned
long
xfer_start
=
xfer_base
+
dev
->
mem_start
;
if
(
xfer_start
+
count
>
dev
->
rmem_end
)
if
(
xfer_start
+
count
>
ei_status
.
rmem_end
)
{
/* We must wrap the input move. */
int
semi_count
=
dev
->
rmem_end
-
xfer_start
;
int
semi_count
=
ei_status
.
rmem_end
-
xfer_start
;
word_memcpy_fromcard
(
skb
->
data
,
(
char
*
)
dev
->
mem_start
+
xfer_base
,
semi_count
);
count
-=
semi_count
;
word_memcpy_fromcard
(
skb
->
data
+
semi_count
,
(
char
*
)
dev
->
rmem_start
,
count
);
(
char
*
)
ei_status
.
rmem_start
,
count
);
}
else
{
...
...
drivers/scsi/Kconfig
View file @
a485bc0c
...
...
@@ -1435,7 +1435,7 @@ config A3000_SCSI
config A4000T_SCSI
bool "A4000T SCSI support (EXPERIMENTAL)"
depends on AMIGA && SCSI && EXPERIMENTAL
depends on AMIGA && SCSI && EXPERIMENTAL
&& BROKEN
help
Support for the NCR53C710 SCSI controller on the Amiga 4000T.
...
...
@@ -1503,7 +1503,7 @@ config FASTLANE_SCSI
config A4091_SCSI
bool "A4091 SCSI support (EXPERIMENTAL)"
depends on ZORRO && SCSI && EXPERIMENTAL
depends on ZORRO && SCSI && EXPERIMENTAL
&& BROKEN
help
Support for the NCR53C710 chip on the Amiga 4091 Z3 SCSI2 controller
(1993). Very obscure -- the 4091 was part of an Amiga 4000 upgrade
...
...
@@ -1511,7 +1511,7 @@ config A4091_SCSI
config WARPENGINE_SCSI
bool "WarpEngine SCSI support (EXPERIMENTAL)"
depends on ZORRO && SCSI && EXPERIMENTAL
depends on ZORRO && SCSI && EXPERIMENTAL
&& BROKEN
help
Support for MacroSystem Development'
s
WarpEngine
Amiga
SCSI
-
2
controller
.
Info
at
...
...
@@ -1519,7 +1519,7 @@ config WARPENGINE_SCSI
config
BLZ603EPLUS_SCSI
bool
"Blizzard PowerUP 603e+ SCSI (EXPERIMENTAL)"
depends
on
ZORRO
&&
SCSI
&&
EXPERIMENTAL
depends
on
ZORRO
&&
SCSI
&&
EXPERIMENTAL
&&
BROKEN
help
If
you
have
an
Amiga
1200
with
a
Phase5
Blizzard
PowerUP
603
e
+
accelerator
,
say
Y
.
Otherwise
,
say
N
.
...
...
@@ -1535,7 +1535,7 @@ config OKTAGON_SCSI
config ATARI_SCSI
tristate "Atari native SCSI support"
depends on ATARI && SCSI
depends on ATARI && SCSI
&& BROKEN
---help---
If you have an Atari with built-in NCR5380 SCSI controller (TT,
Falcon, ...) say Y to get it supported. Of course also, if you have
...
...
@@ -1604,7 +1604,7 @@ config MVME147_SCSI
config MVME16x_SCSI
bool "NCR53C710 SCSI driver for MVME16x"
depends on MVME16x && SCSI
depends on MVME16x && SCSI
&& BROKEN
help
The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
SCSI controller chip. Almost everyone using one of these boards
...
...
@@ -1612,7 +1612,7 @@ config MVME16x_SCSI
config BVME6000_SCSI
bool "NCR53C710 SCSI driver for BVME6000"
depends on BVME6000 && SCSI
depends on BVME6000 && SCSI
&& BROKEN
help
The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
SCSI controller chip. Almost everyone using one of these boards
...
...
drivers/scsi/a2091.c
View file @
a485bc0c
...
...
@@ -25,31 +25,20 @@
#define DMA(ptr) ((a2091_scsiregs *)((ptr)->base))
#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))
static
struct
Scsi_Host
*
first_instance
=
NULL
;
static
Scsi_Host_Template
*
a2091_template
;
static
irqreturn_t
a2091_intr
(
int
irq
,
void
*
dummy
,
struct
pt_regs
*
fp
)
static
irqreturn_t
a2091_intr
(
int
irq
,
void
*
_instance
,
struct
pt_regs
*
fp
)
{
unsigned
long
flags
;
unsigned
int
status
;
struct
Scsi_Host
*
instance
;
int
handled
=
0
;
struct
Scsi_Host
*
instance
=
(
struct
Scsi_Host
*
)
_instance
;
for
(
instance
=
first_instance
;
instance
&&
instance
->
hostt
==
a2091_template
;
instance
=
instance
->
next
)
{
status
=
DMA
(
instance
)
->
ISTR
;
if
(
!
(
status
&
(
ISTR_INT_F
|
ISTR_INT_P
)))
continue
;
if
(
status
&
ISTR_INTS
)
{
spin_lock_irqsave
(
instance
->
host_lock
,
flags
);
wd33c93_intr
(
instance
);
spin_unlock_irqrestore
(
instance
->
host_lock
,
flags
);
handled
=
1
;
}
}
return
IRQ_RETVAL
(
handled
);
status
=
DMA
(
instance
)
->
ISTR
;
if
(
!
(
status
&
(
ISTR_INT_F
|
ISTR_INT_P
))
||
!
(
status
&
ISTR_INTS
))
return
IRQ_NONE
;
spin_lock_irqsave
(
instance
->
host_lock
,
flags
);
wd33c93_intr
(
instance
);
spin_unlock_irqrestore
(
instance
->
host_lock
,
flags
);
return
IRQ_HANDLED
;
}
static
int
dma_setup
(
Scsi_Cmnd
*
cmd
,
int
dir_in
)
...
...
@@ -184,8 +173,6 @@ static void dma_stop (struct Scsi_Host *instance, Scsi_Cmnd *SCpnt,
}
}
static
int
num_a2091
=
0
;
int
__init
a2091_detect
(
Scsi_Host_Template
*
tpnt
)
{
static
unsigned
char
called
=
0
;
...
...
@@ -193,6 +180,7 @@ int __init a2091_detect(Scsi_Host_Template *tpnt)
unsigned
long
address
;
struct
zorro_dev
*
z
=
NULL
;
wd33c93_regs
regs
;
int
num_a2091
=
0
;
if
(
!
MACH_IS_AMIGA
||
called
)
return
0
;
...
...
@@ -221,13 +209,10 @@ int __init a2091_detect(Scsi_Host_Template *tpnt)
regs
.
SASR
=
&
(
DMA
(
instance
)
->
SASR
);
regs
.
SCMD
=
&
(
DMA
(
instance
)
->
SCMD
);
wd33c93_init
(
instance
,
regs
,
dma_setup
,
dma_stop
,
WD33C93_FS_8_10
);
if
(
num_a2091
++
==
0
)
{
first_instance
=
instance
;
a2091_template
=
instance
->
hostt
;
request_irq
(
IRQ_AMIGA_PORTS
,
a2091_intr
,
SA_SHIRQ
,
"A2091 SCSI"
,
a2091_intr
);
}
request_irq
(
IRQ_AMIGA_PORTS
,
a2091_intr
,
SA_SHIRQ
,
"A2091 SCSI"
,
instance
);
DMA
(
instance
)
->
CNTR
=
CNTR_PDMD
|
CNTR_INTEN
;
num_a2091
++
;
}
return
num_a2091
;
...
...
@@ -266,8 +251,7 @@ int a2091_release(struct Scsi_Host *instance)
#ifdef MODULE
DMA
(
instance
)
->
CNTR
=
0
;
release_mem_region
(
ZTWO_PADDR
(
instance
->
base
),
256
);
if
(
--
num_a2091
==
0
)
free_irq
(
IRQ_AMIGA_PORTS
,
a2091_intr
);
free_irq
(
IRQ_AMIGA_PORTS
,
instance
);
wd33c93_release
();
#endif
return
1
;
...
...
drivers/scsi/gvp11.c
View file @
a485bc0c
...
...
@@ -25,29 +25,20 @@
#define DMA(ptr) ((gvp11_scsiregs *)((ptr)->base))
#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))
static
struct
Scsi_Host
*
first_instance
=
NULL
;
static
Scsi_Host_Template
*
gvp11_template
;
static
irqreturn_t
gvp11_intr
(
int
irq
,
void
*
dummy
,
struct
pt_regs
*
fp
)
static
irqreturn_t
gvp11_intr
(
int
irq
,
void
*
_instance
,
struct
pt_regs
*
fp
)
{
unsigned
long
flags
;
unsigned
int
status
;
struct
Scsi_Host
*
instance
;
int
handled
=
0
;
struct
Scsi_Host
*
instance
=
(
struct
Scsi_Host
*
)
_instance
;
for
(
instance
=
first_instance
;
instance
&&
instance
->
hostt
==
gvp11_template
;
instance
=
instance
->
next
)
{
status
=
DMA
(
instance
)
->
CNTR
;
if
(
!
(
status
&
GVP11_DMAC_INT_PENDING
))
continue
;
status
=
DMA
(
instance
)
->
CNTR
;
if
(
!
(
status
&
GVP11_DMAC_INT_PENDING
))
return
IRQ_NONE
;
spin_lock_irqsave
(
instance
->
host_lock
,
flags
);
wd33c93_intr
(
instance
);
spin_unlock_irqrestore
(
instance
->
host_lock
,
flags
);
handled
=
1
;
}
return
IRQ_RETVAL
(
handled
);
spin_lock_irqsave
(
instance
->
host_lock
,
flags
);
wd33c93_intr
(
instance
);
spin_unlock_irqrestore
(
instance
->
host_lock
,
flags
);
return
IRQ_HANDLED
;
}
static
int
gvp11_xfer_mask
=
0
;
...
...
@@ -177,8 +168,6 @@ static void dma_stop (struct Scsi_Host *instance, Scsi_Cmnd *SCpnt,
}
}
static
int
num_gvp11
=
0
;
#define CHECK_WD33C93
int
__init
gvp11_detect
(
Scsi_Host_Template
*
tpnt
)
...
...
@@ -190,6 +179,7 @@ int __init gvp11_detect(Scsi_Host_Template *tpnt)
struct
zorro_dev
*
z
=
NULL
;
unsigned
int
default_dma_xfer_mask
;
wd33c93_regs
regs
;
int
num_gvp11
=
0
;
#ifdef CHECK_WD33C93
volatile
unsigned
char
*
sasr_3393
,
*
scmd_3393
;
unsigned
char
save_sasr
;
...
...
@@ -339,13 +329,10 @@ int __init gvp11_detect(Scsi_Host_Template *tpnt)
(
epc
&
GVP_SCSICLKMASK
)
?
WD33C93_FS_8_10
:
WD33C93_FS_12_15
);
if
(
num_gvp11
++
==
0
)
{
first_instance
=
instance
;
gvp11_template
=
instance
->
hostt
;
request_irq
(
IRQ_AMIGA_PORTS
,
gvp11_intr
,
SA_SHIRQ
,
"GVP11 SCSI"
,
gvp11_intr
);
}
request_irq
(
IRQ_AMIGA_PORTS
,
gvp11_intr
,
SA_SHIRQ
,
"GVP11 SCSI"
,
instance
);
DMA
(
instance
)
->
CNTR
=
GVP11_DMAC_INT_ENABLE
;
num_gvp11
++
;
continue
;
release:
...
...
@@ -391,8 +378,7 @@ int gvp11_release(struct Scsi_Host *instance)
#ifdef MODULE
DMA
(
instance
)
->
CNTR
=
0
;
release_mem_region
(
ZTWO_PADDR
(
instance
->
base
),
256
);
if
(
--
num_gvp11
==
0
)
free_irq
(
IRQ_AMIGA_PORTS
,
gvp11_intr
);
free_irq
(
IRQ_AMIGA_PORTS
,
instance
);
wd33c93_release
();
#endif
return
1
;
...
...
drivers/scsi/megaraid.c
View file @
a485bc0c
...
...
@@ -586,7 +586,7 @@ mega_find_card(Scsi_Host_Template *host_template, u16 pci_vendor,
/* Set the Mode of addressing to 64 bit if we can */
if
((
adapter
->
flag
&
BOARD_64BIT
)
&&
(
sizeof
(
dma_addr_t
)
==
8
))
{
pci_set_dma_mask
(
pdev
,
0xffffffffffffffff
);
pci_set_dma_mask
(
pdev
,
0xffffffffffffffff
ULL
);
adapter
->
has_64bit_addr
=
1
;
}
else
{
...
...
drivers/scsi/qlogicfc.c
View file @
a485bc0c
...
...
@@ -718,8 +718,8 @@ int isp2x00_detect(Scsi_Host_Template * tmpt)
continue
;
/* Try to configure DMA attributes. */
if
(
pci_set_dma_mask
(
pdev
,
(
u64
)
0xffffffffffffffff
)
&&
pci_set_dma_mask
(
pdev
,
(
u64
)
0xffffffff
))
if
(
pci_set_dma_mask
(
pdev
,
0xffffffffffffffffULL
)
&&
pci_set_dma_mask
(
pdev
,
0xffffffffULL
))
continue
;
host
=
scsi_register
(
tmpt
,
sizeof
(
struct
isp2x00_hostdata
));
...
...
drivers/scsi/sun3_scsi.c
View file @
a485bc0c
...
...
@@ -308,7 +308,6 @@ int sun3scsi_detect(Scsi_Host_Template * tpnt)
return
1
;
}
#ifdef MODULE
int
sun3scsi_release
(
struct
Scsi_Host
*
shpnt
)
{
if
(
shpnt
->
irq
!=
SCSI_IRQ_NONE
)
...
...
@@ -318,7 +317,6 @@ int sun3scsi_release (struct Scsi_Host *shpnt)
return
0
;
}
#endif
#ifdef RESET_BOOT
/*
...
...
drivers/scsi/sun3_scsi.h
View file @
a485bc0c
...
...
@@ -52,11 +52,7 @@ static int sun3scsi_detect (Scsi_Host_Template *);
static
const
char
*
sun3scsi_info
(
struct
Scsi_Host
*
);
static
int
sun3scsi_bus_reset
(
Scsi_Cmnd
*
);
static
int
sun3scsi_queue_command
(
Scsi_Cmnd
*
,
void
(
*
done
)(
Scsi_Cmnd
*
));
#ifdef MODULE
static
int
sun3scsi_release
(
struct
Scsi_Host
*
);
#else
#define sun3scsi_release NULL
#endif
#ifndef CMD_PER_LUN
#define CMD_PER_LUN 2
...
...
drivers/scsi/sun3_scsi_vme.c
View file @
a485bc0c
...
...
@@ -140,7 +140,7 @@ static struct Scsi_Host *default_instance;
static
int
sun3scsi_detect
(
Scsi_Host_Template
*
tpnt
)
{
unsigned
long
ioaddr
,
irq
;
unsigned
long
ioaddr
,
irq
=
0
;
static
int
called
=
0
;
struct
Scsi_Host
*
instance
;
int
i
;
...
...
@@ -277,17 +277,15 @@ static int sun3scsi_detect(Scsi_Host_Template * tpnt)
return
1
;
}
#ifdef MODULE
int
sun3scsi_release
(
struct
Scsi_Host
*
shpnt
)
{
if
(
shpnt
->
irq
!=
SCSI_IRQ_NONE
)
free_irq
(
shpnt
->
irq
,
NULL
);
iounmap
(
sun3_scsi_regp
);
iounmap
(
(
void
*
)
sun3_scsi_regp
);
return
0
;
}
#endif
#ifdef RESET_BOOT
/*
...
...
drivers/video/Kconfig
View file @
a485bc0c
...
...
@@ -188,19 +188,19 @@ config FB_AMIGA_AGA
otherwise say N.
config FB_CYBER
tristate "Amiga CyberVision support"
depends on FB && ZORRO
tristate "Amiga CyberVision
64
support"
depends on FB && ZORRO
&& BROKEN
help
This enables support for the Cybervision 64 graphics card from
Phase5. Please note that its use is not all that intuitive (i.e. if
you have any questions, be sure to ask!). Say N unless you have a
Cybervision 64 or plan to get one before you next recompile the
kernel. Please note that this driver DOES NOT support the
Cybervision 64
3D card, as they use incompatible video chips.
Cybervision 64
/
3D card, as they use incompatible video chips.
config FB_VIRGE
bool "Amiga CyberVision3D support "
depends on FB && ZORRO
bool "Amiga CyberVision
64/
3D support "
depends on FB && ZORRO
&& BROKEN
help
This enables support for the Cybervision 64/3D graphics card from
Phase5. Please note that its use is not all that intuitive (i.e. if
...
...
@@ -210,8 +210,8 @@ config FB_VIRGE
Cybervision 64 card, as they use incompatible video chips.
config FB_RETINAZ3
tristate "Amiga RetinaZ3 support"
depends on FB && ZORRO
tristate "Amiga Retina
Z3 support"
depends on FB && ZORRO
&& BROKEN
help
This enables support for the Retina Z3 graphics card. Say N unless
you have a Retina Z3 or plan to get one before you next recompile
...
...
@@ -226,7 +226,7 @@ config FB_FM2
config FB_ATARI
bool "Atari native chipset support"
depends on FB && ATARI
depends on FB && ATARI
&& BROKEN
help
This is the frame buffer device driver for the builtin graphics
chipset found in Ataris.
...
...
@@ -367,7 +367,7 @@ config BUS_I2C
config FB_SUN3
bool "Sun3 framebuffer support"
depends on FB && (SUN3 || SUN3X)
depends on FB && (SUN3 || SUN3X)
&& BROKEN
config FB_BW2
bool "BWtwo support"
...
...
fs/Kconfig
View file @
a485bc0c
...
...
@@ -1254,6 +1254,8 @@ menu "Network File Systems"
config NFS_FS
tristate "NFS file system support"
depends on INET
select LOCKD
select SUNRPC
help
If you are connected to some other (usually local) Unix computer
(using SLIP, PLIP, PPP or Ethernet) and want to mount files residing
...
...
@@ -1309,6 +1311,8 @@ config NFS_V4
config NFSD
tristate "NFS server support"
depends on INET
select LOCKD
select SUNRPC
help
If you want your Linux box to act as an NFS *server*, so that other
computers on your local network which support NFS can access certain
...
...
@@ -1371,8 +1375,6 @@ config ROOT_NFS
config LOCKD
tristate
default m if NFS_FS!=y && NFSD!=y && (NFS_FS=m || NFSD=m)
default y if NFS_FS=y || NFSD=y
config LOCKD_V4
bool
...
...
@@ -1385,8 +1387,6 @@ config EXPORTFS
config SUNRPC
tristate
default m if NFS_FS!=y && NFSD!=y && (NFS_FS=m || NFSD=m)
default y if NFS_FS=y || NFSD=y
config SUNRPC_GSS
tristate "Provide RPCSEC_GSS authentication (EXPERIMENTAL)"
...
...
@@ -1565,6 +1565,7 @@ config AFS_FS
# for fs/nls/Config.in
tristate "Andrew File System support (AFS) (Experimental)"
depends on INET && EXPERIMENTAL
select RXRPC
help
If you say Y here, you will get an experimental Andrew File System
driver. It currently only supports unsecured read-only AFS access.
...
...
@@ -1575,8 +1576,6 @@ config AFS_FS
config RXRPC
tristate
default m if AFS_FS=m
default y if AFS_FS=y
endmenu
...
...
fs/affs/file.c
View file @
a485bc0c
...
...
@@ -39,7 +39,7 @@ static int affs_grow_extcache(struct inode *inode, u32 lc_idx);
static
struct
buffer_head
*
affs_alloc_extblock
(
struct
inode
*
inode
,
struct
buffer_head
*
bh
,
u32
ext
);
static
inline
struct
buffer_head
*
affs_get_extblock
(
struct
inode
*
inode
,
u32
ext
);
static
struct
buffer_head
*
affs_get_extblock_slow
(
struct
inode
*
inode
,
u32
ext
);
static
ssize_t
affs_file_write
(
struct
file
*
filp
,
const
char
*
buf
,
size_t
count
,
loff_t
*
ppos
);
static
ssize_t
affs_file_write
(
struct
file
*
filp
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
);
static
int
affs_file_open
(
struct
inode
*
inode
,
struct
file
*
filp
);
static
int
affs_file_release
(
struct
inode
*
inode
,
struct
file
*
filp
);
...
...
@@ -491,7 +491,8 @@ affs_getemptyblk_ino(struct inode *inode, int block)
}
static
ssize_t
affs_file_write
(
struct
file
*
file
,
const
char
*
buf
,
size_t
count
,
loff_t
*
ppos
)
affs_file_write
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
ssize_t
retval
;
...
...
fs/befs/linuxvfs.c
View file @
a485bc0c
...
...
@@ -39,7 +39,7 @@ static struct inode *befs_alloc_inode(struct super_block *sb);
static
void
befs_destroy_inode
(
struct
inode
*
inode
);
static
int
befs_init_inodecache
(
void
);
static
void
befs_destroy_inodecache
(
void
);
static
int
befs_readlink
(
struct
dentry
*
,
char
*
,
int
);
static
int
befs_readlink
(
struct
dentry
*
,
char
__user
*
,
int
);
static
int
befs_follow_link
(
struct
dentry
*
,
struct
nameidata
*
nd
);
static
int
befs_utf2nls
(
struct
super_block
*
sb
,
const
char
*
in
,
int
in_len
,
char
**
out
,
int
*
out_len
);
...
...
@@ -494,7 +494,7 @@ befs_follow_link(struct dentry *dentry, struct nameidata *nd)
}
static
int
befs_readlink
(
struct
dentry
*
dentry
,
char
*
buffer
,
int
buflen
)
befs_readlink
(
struct
dentry
*
dentry
,
char
__user
*
buffer
,
int
buflen
)
{
struct
super_block
*
sb
=
dentry
->
d_sb
;
befs_inode_info
*
befs_ino
=
BEFS_I
(
dentry
->
d_inode
);
...
...
fs/ext3/file.c
View file @
a485bc0c
...
...
@@ -47,7 +47,7 @@ static int ext3_release_file (struct inode * inode, struct file * filp)
* the caller didn't specify O_LARGEFILE. On 64bit systems we force
* on this flag in sys_open.
*/
static
int
ext3_open_file
(
struct
inode
*
inode
,
struct
file
*
filp
)
static
int
ext3_open_file
(
struct
inode
*
inode
,
struct
file
*
filp
)
{
if
(
!
(
filp
->
f_flags
&
O_LARGEFILE
)
&&
inode
->
i_size
>
0x7FFFFFFFLL
)
...
...
@@ -56,7 +56,7 @@ static int ext3_open_file (struct inode * inode, struct file * filp)
}
static
ssize_t
ext3_file_write
(
struct
kiocb
*
iocb
,
const
char
*
buf
,
size_t
count
,
loff_t
pos
)
ext3_file_write
(
struct
kiocb
*
iocb
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
pos
)
{
struct
file
*
file
=
iocb
->
ki_filp
;
struct
inode
*
inode
=
file
->
f_dentry
->
d_inode
;
...
...
@@ -117,8 +117,8 @@ struct file_operations ext3_file_operations = {
.
llseek
=
generic_file_llseek
,
.
read
=
do_sync_read
,
.
write
=
do_sync_write
,
.
aio_read
=
generic_file_aio_read
,
.
aio_write
=
ext3_file_write
,
.
aio_read
=
generic_file_aio_read
,
.
aio_write
=
ext3_file_write
,
.
readv
=
generic_file_readv
,
.
writev
=
generic_file_writev
,
.
ioctl
=
ext3_ioctl
,
...
...
fs/ext3/symlink.c
View file @
a485bc0c
...
...
@@ -22,7 +22,8 @@
#include <linux/ext3_fs.h>
#include "xattr.h"
static
int
ext3_readlink
(
struct
dentry
*
dentry
,
char
*
buffer
,
int
buflen
)
static
int
ext3_readlink
(
struct
dentry
*
dentry
,
char
__user
*
buffer
,
int
buflen
)
{
struct
ext3_inode_info
*
ei
=
EXT3_I
(
dentry
->
d_inode
);
return
vfs_readlink
(
dentry
,
buffer
,
buflen
,
(
char
*
)
ei
->
i_data
);
...
...
fs/fat/dir.c
View file @
a485bc0c
...
...
@@ -663,7 +663,7 @@ int fat_dir_ioctl(struct inode * inode, struct file * filp,
return
-
EINVAL
;
}
d1
=
(
struct
dirent
*
)
arg
;
d1
=
(
struct
dirent
__user
*
)
arg
;
if
(
!
access_ok
(
VERIFY_WRITE
,
d1
,
sizeof
(
struct
dirent
[
2
])))
return
-
EFAULT
;
/*
...
...
fs/freevxfs/vxfs_immed.c
View file @
a485bc0c
...
...
@@ -39,7 +39,7 @@
#include "vxfs_inode.h"
static
int
vxfs_immed_readlink
(
struct
dentry
*
,
char
*
,
int
);
static
int
vxfs_immed_readlink
(
struct
dentry
*
,
char
__user
*
,
int
);
static
int
vxfs_immed_follow_link
(
struct
dentry
*
,
struct
nameidata
*
);
static
int
vxfs_immed_readpage
(
struct
file
*
,
struct
page
*
);
...
...
@@ -77,7 +77,7 @@ struct address_space_operations vxfs_immed_aops = {
* Number of bytes successfully copied to userspace.
*/
static
int
vxfs_immed_readlink
(
struct
dentry
*
dp
,
char
*
bp
,
int
buflen
)
vxfs_immed_readlink
(
struct
dentry
*
dp
,
char
__user
*
bp
,
int
buflen
)
{
struct
vxfs_inode_info
*
vip
=
VXFS_INO
(
dp
->
d_inode
);
...
...
fs/hfs/file.c
View file @
a485bc0c
...
...
@@ -25,10 +25,10 @@
/*================ Forward declarations ================*/
static
hfs_rwret_t
hfs_file_read
(
struct
file
*
,
char
*
,
hfs_rwarg_t
,
static
hfs_rwret_t
hfs_file_read
(
struct
file
*
,
char
__user
*
,
hfs_rwarg_t
,
loff_t
*
);
static
hfs_rwret_t
hfs_file_write
(
struct
file
*
,
const
char
*
,
hfs_rwarg_t
,
loff_t
*
);
static
hfs_rwret_t
hfs_file_write
(
struct
file
*
,
const
char
__user
*
,
hfs_rwarg_t
,
loff_t
*
);
static
void
hfs_file_truncate
(
struct
inode
*
);
/*================ Global variables ================*/
...
...
@@ -139,7 +139,7 @@ int hfs_get_block(struct inode *inode, sector_t iblock, struct buffer_head *bh_r
* user-space at the address 'buf'. Returns the number of bytes
* successfully transferred. This function checks the arguments, does
* some setup and then calls hfs_do_read() to do the actual transfer. */
static
hfs_rwret_t
hfs_file_read
(
struct
file
*
filp
,
char
*
buf
,
static
hfs_rwret_t
hfs_file_read
(
struct
file
*
filp
,
char
__user
*
buf
,
hfs_rwarg_t
count
,
loff_t
*
ppos
)
{
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
...
...
@@ -181,7 +181,7 @@ static hfs_rwret_t hfs_file_read(struct file * filp, char * buf,
* 'file->f_pos' from user-space at the address 'buf'. The return
* value is the number of bytes actually transferred.
*/
static
hfs_rwret_t
hfs_file_write
(
struct
file
*
filp
,
const
char
*
buf
,
static
hfs_rwret_t
hfs_file_write
(
struct
file
*
filp
,
const
char
__user
*
buf
,
hfs_rwarg_t
count
,
loff_t
*
ppos
)
{
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
...
...
@@ -242,7 +242,7 @@ static void hfs_file_truncate(struct inode * inode)
*
* Like copy_to_user() while translating CR->NL.
*/
static
inline
void
xlate_to_user
(
char
*
buf
,
const
char
*
data
,
int
count
)
static
inline
void
xlate_to_user
(
char
__user
*
buf
,
const
char
*
data
,
int
count
)
{
char
ch
;
...
...
@@ -257,7 +257,8 @@ static inline void xlate_to_user(char *buf, const char *data, int count)
*
* Like copy_from_user() while translating NL->CR;
*/
static
inline
int
xlate_from_user
(
char
*
data
,
const
char
*
buf
,
int
count
)
static
inline
int
xlate_from_user
(
char
*
data
,
const
char
__user
*
buf
,
int
count
)
{
int
i
;
...
...
@@ -290,8 +291,8 @@ static inline int xlate_from_user(char *data, const char *buf, int count)
* This is based on Linus's minix_file_read().
* It has been changed to take into account that HFS files have no holes.
*/
hfs_s32
hfs_do_read
(
struct
inode
*
inode
,
struct
hfs_fork
*
fork
,
hfs_u32
pos
,
char
*
buf
,
hfs_u32
count
)
hfs_s32
hfs_do_read
(
struct
inode
*
inode
,
struct
hfs_fork
*
fork
,
hfs_u32
pos
,
char
__user
*
buf
,
hfs_u32
count
)
{
hfs_s32
size
,
chars
,
offset
,
block
,
blocks
,
read
=
0
;
int
bhrequest
,
uptodate
;
...
...
@@ -436,8 +437,8 @@ hfs_s32 hfs_do_read(struct inode *inode, struct hfs_fork * fork, hfs_u32 pos,
*
* This is just a minor edit of Linus's minix_file_write().
*/
hfs_s32
hfs_do_write
(
struct
inode
*
inode
,
struct
hfs_fork
*
fork
,
hfs_u32
pos
,
const
char
*
buf
,
hfs_u32
count
)
hfs_s32
hfs_do_write
(
struct
inode
*
inode
,
struct
hfs_fork
*
fork
,
hfs_u32
pos
,
const
char
__user
*
buf
,
hfs_u32
count
)
{
hfs_s32
written
,
c
;
struct
buffer_head
*
bh
;
...
...
fs/hfs/file_cap.c
View file @
a485bc0c
...
...
@@ -29,9 +29,9 @@
/*================ Forward declarations ================*/
static
loff_t
cap_info_llseek
(
struct
file
*
,
loff_t
,
int
);
static
hfs_rwret_t
cap_info_read
(
struct
file
*
,
char
*
,
static
hfs_rwret_t
cap_info_read
(
struct
file
*
,
char
__user
*
,
hfs_rwarg_t
,
loff_t
*
);
static
hfs_rwret_t
cap_info_write
(
struct
file
*
,
const
char
*
,
static
hfs_rwret_t
cap_info_write
(
struct
file
*
,
const
char
__user
*
,
hfs_rwarg_t
,
loff_t
*
);
/*================ Function-like macros ================*/
...
...
@@ -121,7 +121,7 @@ static loff_t cap_info_llseek(struct file *file, loff_t offset, int origin)
* 'file->f_pos' to user-space at the address 'buf'. The return value
* is the number of bytes actually transferred.
*/
static
hfs_rwret_t
cap_info_read
(
struct
file
*
filp
,
char
*
buf
,
static
hfs_rwret_t
cap_info_read
(
struct
file
*
filp
,
char
__user
*
buf
,
hfs_rwarg_t
count
,
loff_t
*
ppos
)
{
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
...
...
@@ -189,7 +189,7 @@ static hfs_rwret_t cap_info_read(struct file *filp, char *buf,
* '*ppos' from user-space at the address 'buf'.
* The return value is the number of bytes actually transferred.
*/
static
hfs_rwret_t
cap_info_write
(
struct
file
*
filp
,
const
char
*
buf
,
static
hfs_rwret_t
cap_info_write
(
struct
file
*
filp
,
const
char
__user
*
buf
,
hfs_rwarg_t
count
,
loff_t
*
ppos
)
{
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
...
...
fs/hfs/file_hdr.c
View file @
a485bc0c
...
...
@@ -41,8 +41,9 @@
/*================ Forward declarations ================*/
static
loff_t
hdr_llseek
(
struct
file
*
,
loff_t
,
int
);
static
hfs_rwret_t
hdr_read
(
struct
file
*
,
char
*
,
hfs_rwarg_t
,
loff_t
*
);
static
hfs_rwret_t
hdr_write
(
struct
file
*
,
const
char
*
,
static
hfs_rwret_t
hdr_read
(
struct
file
*
,
char
__user
*
,
hfs_rwarg_t
,
loff_t
*
);
static
hfs_rwret_t
hdr_write
(
struct
file
*
,
const
char
__user
*
,
hfs_rwarg_t
,
loff_t
*
);
/*================ Global variables ================*/
...
...
@@ -382,7 +383,7 @@ loff_t hdr_llseek(struct file *file, loff_t offset, int origin)
* successfully transferred.
*/
/* XXX: what about the entry count changing on us? */
static
hfs_rwret_t
hdr_read
(
struct
file
*
filp
,
char
*
buf
,
static
hfs_rwret_t
hdr_read
(
struct
file
*
filp
,
char
__user
*
buf
,
hfs_rwarg_t
count
,
loff_t
*
ppos
)
{
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
...
...
@@ -633,7 +634,7 @@ static hfs_rwret_t hdr_read(struct file * filp, char * buf,
* '*ppos' from user-space at the address 'buf'.
* The return value is the number of bytes actually transferred.
*/
static
hfs_rwret_t
hdr_write
(
struct
file
*
filp
,
const
char
*
buf
,
static
hfs_rwret_t
hdr_write
(
struct
file
*
filp
,
const
char
__user
*
buf
,
hfs_rwarg_t
count
,
loff_t
*
ppos
)
{
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
...
...
fs/hpfs/file.c
View file @
a485bc0c
...
...
@@ -124,7 +124,8 @@ struct address_space_operations hpfs_aops = {
.
bmap
=
_hpfs_bmap
};
ssize_t
hpfs_file_write
(
struct
file
*
file
,
const
char
*
buf
,
size_t
count
,
loff_t
*
ppos
)
ssize_t
hpfs_file_write
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
ssize_t
retval
;
...
...
fs/hpfs/hpfs_fn.h
View file @
a485bc0c
...
...
@@ -249,7 +249,7 @@ int hpfs_file_fsync(struct file *, struct dentry *, int);
secno
hpfs_bmap
(
struct
inode
*
,
unsigned
);
void
hpfs_truncate
(
struct
inode
*
);
int
hpfs_get_block
(
struct
inode
*
inode
,
sector_t
iblock
,
struct
buffer_head
*
bh_result
,
int
create
);
ssize_t
hpfs_file_write
(
struct
file
*
file
,
const
char
*
buf
,
size_t
count
,
loff_t
*
ppos
);
ssize_t
hpfs_file_write
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
);
/* inode.c */
...
...
fs/jbd/journal.c
View file @
a485bc0c
...
...
@@ -1800,7 +1800,7 @@ int read_jbd_debug(char *page, char **start, off_t off,
return
ret
;
}
int
write_jbd_debug
(
struct
file
*
file
,
const
char
*
buffer
,
int
write_jbd_debug
(
struct
file
*
file
,
const
char
__user
*
buffer
,
unsigned
long
count
,
void
*
data
)
{
char
buf
[
32
];
...
...
fs/jfs/jfs_debug.c
View file @
a485bc0c
...
...
@@ -81,7 +81,7 @@ static int loglevel_read(char *page, char **start, off_t off,
return
len
;
}
static
int
loglevel_write
(
struct
file
*
file
,
const
char
*
buffer
,
static
int
loglevel_write
(
struct
file
*
file
,
const
char
__user
*
buffer
,
unsigned
long
count
,
void
*
data
)
{
char
c
;
...
...
fs/jfs/symlink.c
View file @
a485bc0c
...
...
@@ -26,7 +26,7 @@ static int jfs_follow_link(struct dentry *dentry, struct nameidata *nd)
return
vfs_follow_link
(
nd
,
s
);
}
static
int
jfs_readlink
(
struct
dentry
*
dentry
,
char
*
buffer
,
int
buflen
)
static
int
jfs_readlink
(
struct
dentry
*
dentry
,
char
__user
*
buffer
,
int
buflen
)
{
char
*
s
=
JFS_IP
(
dentry
->
d_inode
)
->
i_inline
;
return
vfs_readlink
(
dentry
,
buffer
,
buflen
,
s
);
...
...
include/asm-m68k/bitops.h
View file @
a485bc0c
...
...
@@ -164,9 +164,10 @@ extern __inline__ int test_bit(int nr, const volatile unsigned long * vaddr)
return
((
1UL
<<
(
nr
&
31
))
&
(((
const
volatile
unsigned
long
*
)
vaddr
)[
nr
>>
5
]))
!=
0
;
}
extern
__inline__
int
find_first_zero_bit
(
unsigned
long
*
vaddr
,
unsigned
size
)
extern
__inline__
int
find_first_zero_bit
(
const
unsigned
long
*
vaddr
,
unsigned
size
)
{
unsigned
long
*
p
=
vaddr
,
*
addr
=
vaddr
;
const
unsigned
long
*
p
=
vaddr
,
*
addr
=
vaddr
;
unsigned
long
allones
=
~
0UL
;
int
res
;
unsigned
long
num
;
...
...
@@ -187,11 +188,11 @@ extern __inline__ int find_first_zero_bit(unsigned long * vaddr, unsigned size)
return
((
p
-
addr
)
<<
5
)
+
(
res
^
31
);
}
extern
__inline__
int
find_next_zero_bit
(
unsigned
long
*
vaddr
,
int
size
,
extern
__inline__
int
find_next_zero_bit
(
const
unsigned
long
*
vaddr
,
int
size
,
int
offset
)
{
unsigned
long
*
addr
=
vaddr
;
unsigned
long
*
p
=
addr
+
(
offset
>>
5
);
const
unsigned
long
*
addr
=
vaddr
;
const
unsigned
long
*
p
=
addr
+
(
offset
>>
5
);
int
set
=
0
,
bit
=
offset
&
31UL
,
res
;
if
(
offset
>=
size
)
...
...
@@ -263,7 +264,7 @@ static inline int fls(int x)
* unlikely to be set. It's guaranteed that at least one of the 140
* bits is cleared.
*/
static
inline
int
sched_find_first_bit
(
unsigned
long
*
b
)
static
inline
int
sched_find_first_bit
(
const
unsigned
long
*
b
)
{
if
(
unlikely
(
b
[
0
]))
return
__ffs
(
b
[
0
]);
...
...
include/asm-m68k/pci.h
View file @
a485bc0c
...
...
@@ -7,6 +7,8 @@
* Written by Wout Klaren.
*/
#include <asm/scatterlist.h>
struct
pci_ops
;
/*
...
...
include/asm-m68k/zorro.h
View file @
a485bc0c
...
...
@@ -42,4 +42,4 @@ extern inline void *z_remap_fullcache(unsigned long physaddr,
#define z_iounmap iounmap
#define z_ioremap z_remap_nocache_ser
#endif
/* _ASM_ZORRO_H */
#endif
/* _ASM_
M68K_
ZORRO_H */
include/asm-ppc/zorro.h
View file @
a485bc0c
...
...
@@ -27,4 +27,4 @@ extern void *__ioremap(unsigned long address, unsigned long size,
#define z_ioremap ioremap
#define z_iounmap iounmap
#endif
/* _ASM_ZORRO_H */
#endif
/* _ASM_
PPC_
ZORRO_H */
include/linux/hfs_fs.h
View file @
a485bc0c
...
...
@@ -267,9 +267,9 @@ extern void hfs_nat_drop_dentry(struct dentry *, const ino_t);
/* file.c */
extern
hfs_s32
hfs_do_read
(
struct
inode
*
,
struct
hfs_fork
*
,
hfs_u32
,
char
*
,
hfs_u32
);
char
__user
*
,
hfs_u32
);
extern
hfs_s32
hfs_do_write
(
struct
inode
*
,
struct
hfs_fork
*
,
hfs_u32
,
const
char
*
,
hfs_u32
);
const
char
__user
*
,
hfs_u32
);
extern
void
hfs_file_fix_mode
(
struct
hfs_cat_entry
*
entry
);
extern
struct
inode_operations
hfs_file_inode_operations
;
extern
struct
file_operations
hfs_file_operations
;
...
...
mm/bootmem.c
View file @
a485bc0c
...
...
@@ -146,7 +146,7 @@ static void __init free_bootmem_core(bootmem_data_t *bdata, unsigned long addr,
* We 'merge' subsequent allocations to save space. We might 'lose'
* some fraction of a page if allocations cannot be satisfied due to
* size constraints on boxes where there is physical RAM space
* fragmentation - in these cases
*
(mostly large memory boxes) this
* fragmentation - in these cases (mostly large memory boxes) this
* is not a problem.
*
* On low memory boxes we get it right in 100% of the cases.
...
...
sound/oss/btaudio.c
View file @
a485bc0c
...
...
@@ -177,8 +177,11 @@ static int alloc_buffer(struct btaudio *bta)
bta
->
risc_size
=
PAGE_SIZE
;
bta
->
risc_cpu
=
pci_alloc_consistent
(
bta
->
pci
,
bta
->
risc_size
,
&
bta
->
risc_dma
);
if
(
NULL
==
bta
->
risc_cpu
)
if
(
NULL
==
bta
->
risc_cpu
)
{
pci_free_consistent
(
bta
->
pci
,
bta
->
buf_size
,
bta
->
buf_cpu
,
bta
->
dma
);
bta
->
buf_cpu
=
NULL
;
return
-
ENOMEM
;
}
}
return
0
;
}
...
...
sound/oss/dmasound/Kconfig
View file @
a485bc0c
# drivers/sound/dmasound/Config.in
config DMASOUND_ATARI
tristate "Atari DMA sound support"
depends on ATARI && SOUND
select DMASOUND
help
If you want to use the internal audio of your Atari in Linux, answer
Y to this question. This will provide a Sun-like /dev/audio,
...
...
@@ -15,6 +15,7 @@ config DMASOUND_ATARI
config DMASOUND_PMAC
tristate "PowerMac DMA sound support"
depends on PPC_PMAC && SOUND && I2C
select DMASOUND
help
If you want to use the internal audio of your PowerMac in Linux,
answer Y to this question. This will provide a Sun-like /dev/audio,
...
...
@@ -28,6 +29,7 @@ config DMASOUND_PMAC
config DMASOUND_PAULA
tristate "Amiga DMA sound support"
depends on (AMIGA || APUS) && SOUND
select DMASOUND
help
If you want to use the internal audio of your Amiga in Linux, answer
Y to this question. This will provide a Sun-like /dev/audio,
...
...
@@ -41,6 +43,7 @@ config DMASOUND_PAULA
config DMASOUND_Q40
tristate "Q40 sound support"
depends on Q40 && SOUND
select DMASOUND
help
If you want to use the internal audio of your Q40 in Linux, answer
Y to this question. This will provide a Sun-like /dev/audio,
...
...
@@ -53,13 +56,3 @@ config DMASOUND_Q40
config DMASOUND
tristate
depends on SOUND!=n
default m if DMASOUND_ATARI!=y && DMASOUND_AWACS!=y && DMASOUND_PAULA!=y && DMASOUND_Q40!=y && (DMASOUND_ATARI=m || DMASOUND_AWACS=m || DMASOUND_PAULA=m || DMASOUND_Q40=m)
default y if DMASOUND_ATARI=y || DMASOUND_AWACS=y || DMASOUND_PAULA=y || DMASOUND_Q40=y
help
Support built-in audio chips accessible by DMA on various machines
that have them. Note that this symbol does not affect the kernel
directly; rather, it controls whether configuration questions
enabling DMA sound drivers for various specific machine
architectures will be used.
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