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
d84c369b
Commit
d84c369b
authored
Feb 02, 2004
by
Vojtech Pavlik
Browse files
Options
Browse Files
Download
Plain Diff
Merge suse.cz:/home/vojtech/bk/linus into suse.cz:/home/vojtech/bk/input
parents
0a19ea8e
b1c76c1c
Changes
20
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
159 additions
and
144 deletions
+159
-144
arch/sparc64/kernel/power.c
arch/sparc64/kernel/power.c
+2
-2
drivers/block/ll_rw_blk.c
drivers/block/ll_rw_blk.c
+2
-0
drivers/ide/Kconfig
drivers/ide/Kconfig
+6
-0
drivers/ide/Makefile
drivers/ide/Makefile
+27
-11
drivers/ide/ide-generic.c
drivers/ide/ide-generic.c
+34
-0
drivers/ide/ide-probe.c
drivers/ide/ide-probe.c
+4
-23
drivers/ide/ide-proc.c
drivers/ide/ide-proc.c
+3
-1
drivers/ide/ide.c
drivers/ide/ide.c
+7
-44
drivers/ide/legacy/Makefile
drivers/ide/legacy/Makefile
+0
-7
drivers/ide/pci/Makefile
drivers/ide/pci/Makefile
+0
-1
drivers/ide/pci/cmd640.c
drivers/ide/pci/cmd640.c
+1
-1
drivers/ide/ppc/Makefile
drivers/ide/ppc/Makefile
+0
-6
drivers/ide/setup-pci.c
drivers/ide/setup-pci.c
+1
-1
drivers/ieee1394/highlevel.c
drivers/ieee1394/highlevel.c
+33
-36
drivers/ieee1394/sbp2.c
drivers/ieee1394/sbp2.c
+29
-7
drivers/ieee1394/sbp2.h
drivers/ieee1394/sbp2.h
+3
-0
drivers/pci/probe.c
drivers/pci/probe.c
+5
-1
fs/compat_ioctl.c
fs/compat_ioctl.c
+1
-0
include/linux/compat_ioctl.h
include/linux/compat_ioctl.h
+0
-1
include/linux/ide.h
include/linux/ide.h
+1
-2
No files found.
arch/sparc64/kernel/power.c
View file @
d84c369b
...
@@ -29,8 +29,8 @@ static int button_pressed;
...
@@ -29,8 +29,8 @@ static int button_pressed;
static
irqreturn_t
power_handler
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
power_handler
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
if
(
button_pressed
==
0
)
{
if
(
button_pressed
==
0
)
{
wake_up
(
&
powerd_wait
);
button_pressed
=
1
;
button_pressed
=
1
;
wake_up
(
&
powerd_wait
);
}
}
/* FIXME: Check registers for status... */
/* FIXME: Check registers for status... */
...
@@ -86,10 +86,10 @@ static int powerd(void *__unused)
...
@@ -86,10 +86,10 @@ static int powerd(void *__unused)
remove_wait_queue
(
&
powerd_wait
,
&
wait
);
remove_wait_queue
(
&
powerd_wait
,
&
wait
);
/* Ok, down we go... */
/* Ok, down we go... */
button_pressed
=
0
;
if
(
execve
(
"/sbin/shutdown"
,
argv
,
envp
)
<
0
)
{
if
(
execve
(
"/sbin/shutdown"
,
argv
,
envp
)
<
0
)
{
printk
(
"powerd: shutdown execution failed
\n
"
);
printk
(
"powerd: shutdown execution failed
\n
"
);
add_wait_queue
(
&
powerd_wait
,
&
wait
);
add_wait_queue
(
&
powerd_wait
,
&
wait
);
button_pressed
=
0
;
goto
again
;
goto
again
;
}
}
return
0
;
return
0
;
...
...
drivers/block/ll_rw_blk.c
View file @
d84c369b
...
@@ -145,6 +145,8 @@ void blk_queue_activity_fn(request_queue_t *q, activity_fn *fn, void *data)
...
@@ -145,6 +145,8 @@ void blk_queue_activity_fn(request_queue_t *q, activity_fn *fn, void *data)
q
->
activity_data
=
data
;
q
->
activity_data
=
data
;
}
}
EXPORT_SYMBOL
(
blk_queue_activity_fn
);
/**
/**
* blk_queue_prep_rq - set a prepare_request function for queue
* blk_queue_prep_rq - set a prepare_request function for queue
* @q: queue
* @q: queue
...
...
drivers/ide/Kconfig
View file @
d84c369b
...
@@ -296,6 +296,12 @@ config IDE_TASKFILE_IO
...
@@ -296,6 +296,12 @@ config IDE_TASKFILE_IO
comment "IDE chipset support/bugfixes"
comment "IDE chipset support/bugfixes"
config IDE_GENERIC
tristate "generic/default IDE chipset support"
default y
help
If unsure, say Y.
config BLK_DEV_CMD640
config BLK_DEV_CMD640
bool "CMD640 chipset bugfix/support"
bool "CMD640 chipset bugfix/support"
depends on X86
depends on X86
...
...
drivers/ide/Makefile
View file @
d84c369b
...
@@ -13,22 +13,38 @@ EXTRA_CFLAGS += -Idrivers/ide
...
@@ -13,22 +13,38 @@ EXTRA_CFLAGS += -Idrivers/ide
obj-$(CONFIG_BLK_DEV_IDE)
+=
pci/
obj-$(CONFIG_BLK_DEV_IDE)
+=
pci/
ide-core-y
+=
ide.o ide-default.o ide-io.o ide-iops.o ide-lib.o ide-probe.o
\
ide-taskfile.o
ide-core-$(CONFIG_BLK_DEV_CMD640)
+=
pci/cmd640.o
# Core IDE code - must come before legacy
# Core IDE code - must come before legacy
ide-core-$(CONFIG_BLK_DEV_IDEPCI)
+=
setup-pci.o
ide-core-$(CONFIG_BLK_DEV_IDEDMA_PCI)
+=
ide-dma.o
ide-core-$(CONFIG_BLK_DEV_IDE_TCQ)
+=
ide-tcq.o
ide-core-$(CONFIG_PROC_FS)
+=
ide-proc.o
ide-core-$(CONFIG_BLK_DEV_IDEPNP)
+=
ide-pnp.o
# built-in only drivers from legacy/
ide-core-$(CONFIG_BLK_DEV_IDE_PC9800)
+=
legacy/pc9800.o
ide-core-$(CONFIG_BLK_DEV_BUDDHA)
+=
legacy/buddha.o
ide-core-$(CONFIG_BLK_DEV_FALCON_IDE)
+=
legacy/falconide.o
ide-core-$(CONFIG_BLK_DEV_GAYLE)
+=
legacy/gayle.o
ide-core-$(CONFIG_BLK_DEV_MAC_IDE)
+=
legacy/macide.o
ide-core-$(CONFIG_BLK_DEV_Q40IDE)
+=
legacy/q40ide.o
# built-in only drivers from ppc/
ide-core-$(CONFIG_BLK_DEV_MPC8xx_IDE)
+=
ppc/mpc8xx.o
ide-core-$(CONFIG_BLK_DEV_IDE_PMAC)
+=
ppc/pmac.o
ide-core-$(CONFIG_BLK_DEV_IDE_SWARM)
+=
ppc/swarm.o
obj-$(CONFIG_BLK_DEV_IDE)
+=
ide-core.o
obj-$(CONFIG_IDE_GENERIC)
+=
ide-generic.o
obj-$(CONFIG_BLK_DEV_IDE)
+=
ide-io.o ide-probe.o ide-iops.o ide-taskfile.o ide.o ide-lib.o ide-default.o
obj-$(CONFIG_BLK_DEV_IDEDISK)
+=
ide-disk.o
obj-$(CONFIG_BLK_DEV_IDEDISK)
+=
ide-disk.o
obj-$(CONFIG_BLK_DEV_IDECD)
+=
ide-cd.o
obj-$(CONFIG_BLK_DEV_IDECD)
+=
ide-cd.o
obj-$(CONFIG_BLK_DEV_IDETAPE)
+=
ide-tape.o
obj-$(CONFIG_BLK_DEV_IDETAPE)
+=
ide-tape.o
obj-$(CONFIG_BLK_DEV_IDEFLOPPY)
+=
ide-floppy.o
obj-$(CONFIG_BLK_DEV_IDEFLOPPY)
+=
ide-floppy.o
obj-$(CONFIG_BLK_DEV_IDEPCI)
+=
setup-pci.o
obj-$(CONFIG_BLK_DEV_IDE)
+=
legacy/ arm/
obj-$(CONFIG_BLK_DEV_IDEDMA_PCI)
+=
ide-dma.o
obj-$(CONFIG_BLK_DEV_IDE_TCQ)
+=
ide-tcq.o
obj-$(CONFIG_BLK_DEV_IDEPNP)
+=
ide-pnp.o
ifeq
($(CONFIG_BLK_DEV_IDE),y)
obj-$(CONFIG_PROC_FS)
+=
ide-proc.o
endif
obj-$(CONFIG_BLK_DEV_IDE)
+=
legacy/ ppc/ arm/
obj-$(CONFIG_BLK_DEV_HD)
+=
legacy/
obj-$(CONFIG_BLK_DEV_HD)
+=
legacy/
drivers/ide/ide-generic.c
0 → 100644
View file @
d84c369b
/*
* generic/default IDE host driver
*
* Copyright (C) 2004 Bartlomiej Zolnierkiewicz
* This code was split off from ide.c. See it for original copyrights.
*
* May be copied or modified under the terms of the GNU General Public License.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/ide.h>
static
int
__init
ide_generic_init
(
void
)
{
MOD_INC_USE_COUNT
;
if
(
ide_hwifs
[
0
].
io_ports
[
IDE_DATA_OFFSET
])
ide_get_lock
(
NULL
,
NULL
);
/* for atari only */
(
void
)
ideprobe_init
();
if
(
ide_hwifs
[
0
].
io_ports
[
IDE_DATA_OFFSET
])
ide_release_lock
();
/* for atari only */
#ifdef CONFIG_PROC_FS
create_proc_ide_interfaces
();
#endif
return
0
;
}
module_init
(
ide_generic_init
);
MODULE_LICENSE
(
"GPL"
);
drivers/ide/ide-probe.c
View file @
d84c369b
...
@@ -1323,7 +1323,6 @@ int ideprobe_init (void)
...
@@ -1323,7 +1323,6 @@ int ideprobe_init (void)
unsigned
int
index
;
unsigned
int
index
;
int
probe
[
MAX_HWIFS
];
int
probe
[
MAX_HWIFS
];
MOD_INC_USE_COUNT
;
memset
(
probe
,
0
,
MAX_HWIFS
*
sizeof
(
int
));
memset
(
probe
,
0
,
MAX_HWIFS
*
sizeof
(
int
));
for
(
index
=
0
;
index
<
MAX_HWIFS
;
++
index
)
for
(
index
=
0
;
index
<
MAX_HWIFS
;
++
index
)
probe
[
index
]
=
!
ide_hwifs
[
index
].
present
;
probe
[
index
]
=
!
ide_hwifs
[
index
].
present
;
...
@@ -1343,32 +1342,14 @@ int ideprobe_init (void)
...
@@ -1343,32 +1342,14 @@ int ideprobe_init (void)
int
unit
;
int
unit
;
if
(
!
hwif
->
present
)
if
(
!
hwif
->
present
)
continue
;
continue
;
if
(
hwif
->
chipset
==
ide_unknown
||
hwif
->
chipset
==
ide_forced
)
hwif
->
chipset
=
ide_generic
;
for
(
unit
=
0
;
unit
<
MAX_DRIVES
;
++
unit
)
for
(
unit
=
0
;
unit
<
MAX_DRIVES
;
++
unit
)
if
(
hwif
->
drives
[
unit
].
present
)
if
(
hwif
->
drives
[
unit
].
present
)
ata_attach
(
&
hwif
->
drives
[
unit
]);
ata_attach
(
&
hwif
->
drives
[
unit
]);
}
}
}
}
if
(
!
ide_probe
)
ide_probe
=
&
ideprobe_init
;
MOD_DEC_USE_COUNT
;
return
0
;
return
0
;
}
}
#ifdef MODULE
EXPORT_SYMBOL_GPL
(
ideprobe_init
);
int
init_module
(
void
)
{
unsigned
int
index
;
for
(
index
=
0
;
index
<
MAX_HWIFS
;
++
index
)
ide_unregister
(
index
);
ideprobe_init
();
create_proc_ide_interfaces
();
return
0
;
}
void
cleanup_module
(
void
)
{
ide_probe
=
NULL
;
}
MODULE_LICENSE
(
"GPL"
);
#endif
/* MODULE */
drivers/ide/ide-proc.c
View file @
d84c369b
...
@@ -348,8 +348,10 @@ static int proc_ide_read_imodel
...
@@ -348,8 +348,10 @@ static int proc_ide_read_imodel
int
len
;
int
len
;
const
char
*
name
;
const
char
*
name
;
/*
* Neither ide_unknown nor ide_forced should be set at this point.
*/
switch
(
hwif
->
chipset
)
{
switch
(
hwif
->
chipset
)
{
case
ide_unknown
:
name
=
"(none)"
;
break
;
case
ide_generic
:
name
=
"generic"
;
break
;
case
ide_generic
:
name
=
"generic"
;
break
;
case
ide_pci
:
name
=
"pci"
;
break
;
case
ide_pci
:
name
=
"pci"
;
break
;
case
ide_cmd640
:
name
=
"cmd640"
;
break
;
case
ide_cmd640
:
name
=
"cmd640"
;
break
;
...
...
drivers/ide/ide.c
View file @
d84c369b
...
@@ -153,7 +153,6 @@
...
@@ -153,7 +153,6 @@
#include <linux/cdrom.h>
#include <linux/cdrom.h>
#include <linux/seq_file.h>
#include <linux/seq_file.h>
#include <linux/device.h>
#include <linux/device.h>
#include <linux/kmod.h>
#include <asm/byteorder.h>
#include <asm/byteorder.h>
#include <asm/irq.h>
#include <asm/irq.h>
...
@@ -191,8 +190,6 @@ int noautodma = 1;
...
@@ -191,8 +190,6 @@ int noautodma = 1;
EXPORT_SYMBOL
(
noautodma
);
EXPORT_SYMBOL
(
noautodma
);
EXPORT_SYMBOL
(
ide_bus_type
);
EXPORT_SYMBOL
(
ide_bus_type
);
int
(
*
ide_probe
)(
void
);
/*
/*
* This is declared extern in ide.h, for access by other IDE modules:
* This is declared extern in ide.h, for access by other IDE modules:
*/
*/
...
@@ -443,21 +440,6 @@ u8 ide_dump_status (ide_drive_t *drive, const char *msg, u8 stat)
...
@@ -443,21 +440,6 @@ u8 ide_dump_status (ide_drive_t *drive, const char *msg, u8 stat)
EXPORT_SYMBOL
(
ide_dump_status
);
EXPORT_SYMBOL
(
ide_dump_status
);
void
ide_probe_module
(
void
)
{
if
(
!
ide_probe
)
{
#if defined(CONFIG_KMOD) && defined(CONFIG_BLK_DEV_IDE_MODULE)
(
void
)
request_module
(
"ide-probe-mod"
);
#endif
/* (CONFIG_KMOD) && (CONFIG_BLK_DEV_IDE_MODULE) */
}
else
{
(
void
)
ide_probe
();
}
}
EXPORT_SYMBOL
(
ide_probe_module
);
static
int
ide_open
(
struct
inode
*
inode
,
struct
file
*
filp
)
static
int
ide_open
(
struct
inode
*
inode
,
struct
file
*
filp
)
{
{
return
-
ENXIO
;
return
-
ENXIO
;
...
@@ -1033,7 +1015,7 @@ int ide_register_hw (hw_regs_t *hw, ide_hwif_t **hwifp)
...
@@ -1033,7 +1015,7 @@ int ide_register_hw (hw_regs_t *hw, ide_hwif_t **hwifp)
hwif
->
chipset
=
hw
->
chipset
;
hwif
->
chipset
=
hw
->
chipset
;
if
(
!
initializing
)
{
if
(
!
initializing
)
{
ide_probe_module
(
);
probe_hwif_init
(
hwif
);
#ifdef CONFIG_PROC_FS
#ifdef CONFIG_PROC_FS
create_proc_ide_interfaces
();
create_proc_ide_interfaces
();
#endif
#endif
...
@@ -2179,7 +2161,7 @@ int __init ide_setup (char *s)
...
@@ -2179,7 +2161,7 @@ int __init ide_setup (char *s)
memcpy
(
hwif
->
io_ports
,
hwif
->
hw
.
io_ports
,
sizeof
(
hwif
->
io_ports
));
memcpy
(
hwif
->
io_ports
,
hwif
->
hw
.
io_ports
,
sizeof
(
hwif
->
io_ports
));
hwif
->
irq
=
vals
[
2
];
hwif
->
irq
=
vals
[
2
];
hwif
->
noprobe
=
0
;
hwif
->
noprobe
=
0
;
hwif
->
chipset
=
ide_
generic
;
hwif
->
chipset
=
ide_
forced
;
goto
done
;
goto
done
;
case
0
:
goto
bad_option
;
case
0
:
goto
bad_option
;
...
@@ -2276,28 +2258,6 @@ static void __init probe_for_hwifs (void)
...
@@ -2276,28 +2258,6 @@ static void __init probe_for_hwifs (void)
#endif
/* CONFIG_BLK_DEV_IDEPNP */
#endif
/* CONFIG_BLK_DEV_IDEPNP */
}
}
void
__init
ide_init_builtin_drivers
(
void
)
{
/*
* Probe for special PCI and other "known" interface chipsets
*/
probe_for_hwifs
();
#ifdef CONFIG_BLK_DEV_IDE
if
(
ide_hwifs
[
0
].
io_ports
[
IDE_DATA_OFFSET
])
ide_get_lock
(
NULL
,
NULL
);
/* for atari only */
(
void
)
ideprobe_init
();
if
(
ide_hwifs
[
0
].
io_ports
[
IDE_DATA_OFFSET
])
ide_release_lock
();
/* for atari only */
#endif
/* CONFIG_BLK_DEV_IDE */
#ifdef CONFIG_PROC_FS
proc_ide_create
();
#endif
}
/*
/*
* Actually unregister the subdriver. Called with the
* Actually unregister the subdriver. Called with the
* request lock dropped.
* request lock dropped.
...
@@ -2558,7 +2518,6 @@ EXPORT_SYMBOL(ide_fops);
...
@@ -2558,7 +2518,6 @@ EXPORT_SYMBOL(ide_fops);
*/
*/
EXPORT_SYMBOL
(
ide_lock
);
EXPORT_SYMBOL
(
ide_lock
);
EXPORT_SYMBOL
(
ide_probe
);
struct
bus_type
ide_bus_type
=
{
struct
bus_type
ide_bus_type
=
{
.
name
=
"ide"
,
.
name
=
"ide"
,
...
@@ -2601,9 +2560,13 @@ int __init ide_init (void)
...
@@ -2601,9 +2560,13 @@ int __init ide_init (void)
#endif
#endif
initializing
=
1
;
initializing
=
1
;
ide_init_builtin_drivers
();
/* Probe for special PCI and other "known" interface chipsets. */
probe_for_hwifs
();
initializing
=
0
;
initializing
=
0
;
#ifdef CONFIG_PROC_FS
proc_ide_create
();
#endif
return
0
;
return
0
;
}
}
...
...
drivers/ide/legacy/Makefile
View file @
d84c369b
...
@@ -2,17 +2,10 @@
...
@@ -2,17 +2,10 @@
obj-$(CONFIG_BLK_DEV_ALI14XX)
+=
ali14xx.o
obj-$(CONFIG_BLK_DEV_ALI14XX)
+=
ali14xx.o
obj-$(CONFIG_BLK_DEV_DTC2278)
+=
dtc2278.o
obj-$(CONFIG_BLK_DEV_DTC2278)
+=
dtc2278.o
obj-$(CONFIG_BLK_DEV_HT6560B)
+=
ht6560b.o
obj-$(CONFIG_BLK_DEV_HT6560B)
+=
ht6560b.o
obj-$(CONFIG_BLK_DEV_IDE_PC9800)
+=
pc9800.o
obj-$(CONFIG_BLK_DEV_PDC4030)
+=
pdc4030.o
obj-$(CONFIG_BLK_DEV_PDC4030)
+=
pdc4030.o
obj-$(CONFIG_BLK_DEV_QD65XX)
+=
qd65xx.o
obj-$(CONFIG_BLK_DEV_QD65XX)
+=
qd65xx.o
obj-$(CONFIG_BLK_DEV_UMC8672)
+=
umc8672.o
obj-$(CONFIG_BLK_DEV_UMC8672)
+=
umc8672.o
obj-$(CONFIG_BLK_DEV_BUDDHA)
+=
buddha.o
obj-$(CONFIG_BLK_DEV_FALCON_IDE)
+=
falconide.o
obj-$(CONFIG_BLK_DEV_GAYLE)
+=
gayle.o
obj-$(CONFIG_BLK_DEV_MAC_IDE)
+=
macide.o
obj-$(CONFIG_BLK_DEV_Q40IDE)
+=
q40ide.o
obj-$(CONFIG_BLK_DEV_IDECS)
+=
ide-cs.o
obj-$(CONFIG_BLK_DEV_IDECS)
+=
ide-cs.o
# Last of all
# Last of all
...
...
drivers/ide/pci/Makefile
View file @
d84c369b
...
@@ -3,7 +3,6 @@ obj-$(CONFIG_BLK_DEV_ADMA100) += adma100.o
...
@@ -3,7 +3,6 @@ obj-$(CONFIG_BLK_DEV_ADMA100) += adma100.o
obj-$(CONFIG_BLK_DEV_AEC62XX)
+=
aec62xx.o
obj-$(CONFIG_BLK_DEV_AEC62XX)
+=
aec62xx.o
obj-$(CONFIG_BLK_DEV_ALI15X3)
+=
alim15x3.o
obj-$(CONFIG_BLK_DEV_ALI15X3)
+=
alim15x3.o
obj-$(CONFIG_BLK_DEV_AMD74XX)
+=
amd74xx.o
obj-$(CONFIG_BLK_DEV_AMD74XX)
+=
amd74xx.o
obj-$(CONFIG_BLK_DEV_CMD640)
+=
cmd640.o
obj-$(CONFIG_BLK_DEV_CMD64X)
+=
cmd64x.o
obj-$(CONFIG_BLK_DEV_CMD64X)
+=
cmd64x.o
obj-$(CONFIG_BLK_DEV_CS5520)
+=
cs5520.o
obj-$(CONFIG_BLK_DEV_CS5520)
+=
cs5520.o
obj-$(CONFIG_BLK_DEV_CS5530)
+=
cs5530.o
obj-$(CONFIG_BLK_DEV_CS5530)
+=
cs5530.o
...
...
drivers/ide/pci/cmd640.c
View file @
d84c369b
...
@@ -419,7 +419,7 @@ static void __init setup_device_ptrs (void)
...
@@ -419,7 +419,7 @@ static void __init setup_device_ptrs (void)
cmd_hwif1
=
&
ide_hwifs
[
1
];
/* default, if not found below */
cmd_hwif1
=
&
ide_hwifs
[
1
];
/* default, if not found below */
for
(
i
=
0
;
i
<
MAX_HWIFS
;
i
++
)
{
for
(
i
=
0
;
i
<
MAX_HWIFS
;
i
++
)
{
ide_hwif_t
*
hwif
=
&
ide_hwifs
[
i
];
ide_hwif_t
*
hwif
=
&
ide_hwifs
[
i
];
if
(
hwif
->
chipset
==
ide_unknown
||
hwif
->
chipset
==
ide_
generic
)
{
if
(
hwif
->
chipset
==
ide_unknown
||
hwif
->
chipset
==
ide_
forced
)
{
if
(
hwif
->
io_ports
[
IDE_DATA_OFFSET
]
==
0x1f0
)
if
(
hwif
->
io_ports
[
IDE_DATA_OFFSET
]
==
0x1f0
)
cmd_hwif0
=
hwif
;
cmd_hwif0
=
hwif
;
else
if
(
hwif
->
io_ports
[
IDE_DATA_OFFSET
]
==
0x170
)
else
if
(
hwif
->
io_ports
[
IDE_DATA_OFFSET
]
==
0x170
)
...
...
drivers/ide/ppc/Makefile
deleted
100644 → 0
View file @
0a19ea8e
obj-$(CONFIG_BLK_DEV_MPC8xx_IDE)
+=
mpc8xx.o
obj-$(CONFIG_BLK_DEV_IDE_PMAC)
+=
pmac.o
obj-$(CONFIG_BLK_DEV_IDE_SWARM)
+=
swarm.o
EXTRA_CFLAGS
:=
-Idrivers
/ide
drivers/ide/setup-pci.c
View file @
d84c369b
...
@@ -59,7 +59,7 @@ static ide_hwif_t *ide_match_hwif(unsigned long io_base, u8 bootable, const char
...
@@ -59,7 +59,7 @@ static ide_hwif_t *ide_match_hwif(unsigned long io_base, u8 bootable, const char
for
(
h
=
0
;
h
<
MAX_HWIFS
;
++
h
)
{
for
(
h
=
0
;
h
<
MAX_HWIFS
;
++
h
)
{
hwif
=
&
ide_hwifs
[
h
];
hwif
=
&
ide_hwifs
[
h
];
if
(
hwif
->
io_ports
[
IDE_DATA_OFFSET
]
==
io_base
)
{
if
(
hwif
->
io_ports
[
IDE_DATA_OFFSET
]
==
io_base
)
{
if
(
hwif
->
chipset
==
ide_
generic
)
if
(
hwif
->
chipset
==
ide_
forced
)
return
hwif
;
/* a perfect match */
return
hwif
;
/* a perfect match */
}
}
}
}
...
...
drivers/ieee1394/highlevel.c
View file @
d84c369b
...
@@ -261,30 +261,46 @@ void hpsb_register_highlevel(struct hpsb_highlevel *hl)
...
@@ -261,30 +261,46 @@ void hpsb_register_highlevel(struct hpsb_highlevel *hl)
return
;
return
;
}
}
static
int
highlevel_for_each_host_unreg
(
struct
hpsb_host
*
host
,
void
*
__data
)
static
void
__unregister_host
(
struct
hpsb_highlevel
*
hl
,
struct
hpsb_host
*
host
)
{
struct
hpsb_highlevel
*
hl
=
__data
;
hl
->
remove_host
(
host
);
hpsb_destroy_hostinfo
(
hl
,
host
);
return
0
;
}
void
hpsb_unregister_highlevel
(
struct
hpsb_highlevel
*
hl
)
{
{
unsigned
long
flags
;
struct
list_head
*
lh
,
*
next
;
struct
list_head
*
lh
,
*
next
;
struct
hpsb_address_serve
*
as
;
struct
hpsb_address_serve
*
as
;
unsigned
long
flags
;
if
(
hl
->
remove_host
)
hl
->
remove_host
(
host
);
/* Remove any addresses that are matched for this highlevel driver
* and this particular host. */
write_lock_irqsave
(
&
addr_space_lock
,
flags
);
write_lock_irqsave
(
&
addr_space_lock
,
flags
);
list_for_each_safe
(
lh
,
next
,
&
hl
->
addr_list
)
{
list_for_each_safe
(
lh
,
next
,
&
hl
->
addr_list
)
{
as
=
list_entry
(
lh
,
struct
hpsb_address_serve
,
addr_list
);
as
=
list_entry
(
lh
,
struct
hpsb_address_serve
,
addr_list
);
if
(
as
->
host
!=
host
)
continue
;
if
(
!
list_empty
(
&
as
->
addr_list
))
{
list_del
(
&
as
->
as_list
);
list_del
(
&
as
->
as_list
);
list_del
(
&
as
->
addr_list
);
kfree
(
as
);
kfree
(
as
);
}
}
}
write_unlock_irqrestore
(
&
addr_space_lock
,
flags
);
write_unlock_irqrestore
(
&
addr_space_lock
,
flags
);
hpsb_destroy_hostinfo
(
hl
,
host
);
}
static
int
highlevel_for_each_host_unreg
(
struct
hpsb_host
*
host
,
void
*
__data
)
{
struct
hpsb_highlevel
*
hl
=
__data
;
__unregister_host
(
hl
,
host
);
return
0
;
}
void
hpsb_unregister_highlevel
(
struct
hpsb_highlevel
*
hl
)
{
write_lock
(
&
hl_irqs_lock
);
write_lock
(
&
hl_irqs_lock
);
list_del
(
&
hl
->
irq_list
);
list_del
(
&
hl
->
irq_list
);
write_unlock
(
&
hl_irqs_lock
);
write_unlock
(
&
hl_irqs_lock
);
...
@@ -293,7 +309,6 @@ void hpsb_unregister_highlevel(struct hpsb_highlevel *hl)
...
@@ -293,7 +309,6 @@ void hpsb_unregister_highlevel(struct hpsb_highlevel *hl)
list_del
(
&
hl
->
hl_list
);
list_del
(
&
hl
->
hl_list
);
up_write
(
&
hl_drivers_sem
);
up_write
(
&
hl_drivers_sem
);
if
(
hl
->
remove_host
)
nodemgr_for_each_host
(
hl
,
highlevel_for_each_host_unreg
);
nodemgr_for_each_host
(
hl
,
highlevel_for_each_host_unreg
);
}
}
...
@@ -435,29 +450,11 @@ void highlevel_add_host(struct hpsb_host *host)
...
@@ -435,29 +450,11 @@ void highlevel_add_host(struct hpsb_host *host)
void
highlevel_remove_host
(
struct
hpsb_host
*
host
)
void
highlevel_remove_host
(
struct
hpsb_host
*
host
)
{
{
struct
hpsb_highlevel
*
hl
;
struct
hpsb_highlevel
*
hl
;
struct
list_head
*
lh
,
*
next
;
struct
hpsb_address_serve
*
as
;
unsigned
long
flags
;
down_read
(
&
hl_drivers_sem
);
down_read
(
&
hl_drivers_sem
);
list_for_each_entry
(
hl
,
&
hl_drivers
,
hl_list
)
{
list_for_each_entry
(
hl
,
&
hl_drivers
,
hl_list
)
if
(
hl
->
remove_host
)
{
__unregister_host
(
hl
,
host
);
hl
->
remove_host
(
host
);
hpsb_destroy_hostinfo
(
hl
,
host
);
}
}
up_read
(
&
hl_drivers_sem
);
up_read
(
&
hl_drivers_sem
);
/* Free up 1394 address space left behind by high level drivers. */
write_lock_irqsave
(
&
addr_space_lock
,
flags
);
list_for_each_safe
(
lh
,
next
,
&
host
->
addr_space
)
{
as
=
list_entry
(
lh
,
struct
hpsb_address_serve
,
as_list
);
if
(
!
list_empty
(
&
as
->
addr_list
))
{
list_del
(
&
as
->
addr_list
);
kfree
(
as
);
}
}
write_unlock_irqrestore
(
&
addr_space_lock
,
flags
);
}
}
void
highlevel_host_reset
(
struct
hpsb_host
*
host
)
void
highlevel_host_reset
(
struct
hpsb_host
*
host
)
...
...
drivers/ieee1394/sbp2.c
View file @
d84c369b
...
@@ -745,6 +745,7 @@ static struct sbp2scsi_host_info *sbp2_add_host(struct hpsb_host *host)
...
@@ -745,6 +745,7 @@ static struct sbp2scsi_host_info *sbp2_add_host(struct hpsb_host *host)
SBP2_ERR
(
"failed to add scsi host"
);
SBP2_ERR
(
"failed to add scsi host"
);
scsi_host_put
(
hi
->
scsi_host
);
scsi_host_put
(
hi
->
scsi_host
);
hpsb_destroy_hostinfo
(
&
sbp2_highlevel
,
host
);
hpsb_destroy_hostinfo
(
&
sbp2_highlevel
,
host
);
return
NULL
;
}
}
return
hi
;
return
hi
;
...
@@ -990,6 +991,9 @@ static int sbp2_start_device(struct scsi_id_instance_data *scsi_id)
...
@@ -990,6 +991,9 @@ static int sbp2_start_device(struct scsi_id_instance_data *scsi_id)
return
PTR_ERR
(
sdev
);
return
PTR_ERR
(
sdev
);
}
}
sdev
->
hostdata
=
scsi_id
;
scsi_id
->
sdev
=
sdev
;
return
0
;
return
0
;
}
}
...
@@ -999,7 +1003,6 @@ static int sbp2_start_device(struct scsi_id_instance_data *scsi_id)
...
@@ -999,7 +1003,6 @@ static int sbp2_start_device(struct scsi_id_instance_data *scsi_id)
static
void
sbp2_remove_device
(
struct
scsi_id_instance_data
*
scsi_id
)
static
void
sbp2_remove_device
(
struct
scsi_id_instance_data
*
scsi_id
)
{
{
struct
sbp2scsi_host_info
*
hi
=
scsi_id
->
hi
;
struct
sbp2scsi_host_info
*
hi
=
scsi_id
->
hi
;
struct
scsi_device
*
sdev
;
SBP2_DEBUG
(
"sbp2_remove_device"
);
SBP2_DEBUG
(
"sbp2_remove_device"
);
...
@@ -1007,12 +1010,9 @@ static void sbp2_remove_device(struct scsi_id_instance_data *scsi_id)
...
@@ -1007,12 +1010,9 @@ static void sbp2_remove_device(struct scsi_id_instance_data *scsi_id)
sbp2scsi_complete_all_commands
(
scsi_id
,
DID_NO_CONNECT
);
sbp2scsi_complete_all_commands
(
scsi_id
,
DID_NO_CONNECT
);
/* Remove it from the scsi layer now */
/* Remove it from the scsi layer now */
/* XXX(hch): why can't we simply cache the scsi_device
if
(
scsi_id
->
sdev
)
{
in struct scsi_id_instance_data? */
scsi_remove_device
(
scsi_id
->
sdev
);
sdev
=
scsi_device_lookup
(
hi
->
scsi_host
,
0
,
scsi_id
->
id
,
0
);
scsi_device_put
(
scsi_id
->
sdev
);
if
(
sdev
)
{
scsi_remove_device
(
sdev
);
scsi_device_put
(
sdev
);
}
}
sbp2util_remove_command_orb_pool
(
scsi_id
);
sbp2util_remove_command_orb_pool
(
scsi_id
);
...
@@ -2849,6 +2849,27 @@ static const char *sbp2scsi_info (struct Scsi_Host *host)
...
@@ -2849,6 +2849,27 @@ static const char *sbp2scsi_info (struct Scsi_Host *host)
return
"SCSI emulation for IEEE-1394 SBP-2 Devices"
;
return
"SCSI emulation for IEEE-1394 SBP-2 Devices"
;
}
}
static
ssize_t
sbp2_sysfs_ieee1394_guid_show
(
struct
device
*
dev
,
char
*
buf
)
{
struct
scsi_device
*
sdev
;
struct
scsi_id_instance_data
*
scsi_id
;
if
(
!
(
sdev
=
to_scsi_device
(
dev
)))
return
0
;
if
(
!
(
scsi_id
=
sdev
->
hostdata
))
return
0
;
return
sprintf
(
buf
,
"%016Lx
\n
"
,
(
unsigned
long
long
)
scsi_id
->
ne
->
guid
);
}
static
DEVICE_ATTR
(
ieee1394_guid
,
S_IRUGO
,
sbp2_sysfs_ieee1394_guid_show
,
NULL
);
static
struct
device_attribute
*
sbp2_sysfs_sdev_attrs
[]
=
{
&
dev_attr_ieee1394_guid
,
NULL
};
MODULE_AUTHOR
(
"Ben Collins <bcollins@debian.org>"
);
MODULE_AUTHOR
(
"Ben Collins <bcollins@debian.org>"
);
MODULE_DESCRIPTION
(
"IEEE-1394 SBP-2 protocol driver"
);
MODULE_DESCRIPTION
(
"IEEE-1394 SBP-2 protocol driver"
);
MODULE_SUPPORTED_DEVICE
(
SBP2_DEVICE_NAME
);
MODULE_SUPPORTED_DEVICE
(
SBP2_DEVICE_NAME
);
...
@@ -2871,6 +2892,7 @@ static Scsi_Host_Template scsi_driver_template = {
...
@@ -2871,6 +2892,7 @@ static Scsi_Host_Template scsi_driver_template = {
.
cmd_per_lun
=
SBP2_MAX_CMDS_PER_LUN
,
.
cmd_per_lun
=
SBP2_MAX_CMDS_PER_LUN
,
.
can_queue
=
SBP2_MAX_SCSI_QUEUE
,
.
can_queue
=
SBP2_MAX_SCSI_QUEUE
,
.
emulated
=
1
,
.
emulated
=
1
,
.
sdev_attrs
=
sbp2_sysfs_sdev_attrs
,
};
};
static
int
sbp2_module_init
(
void
)
static
int
sbp2_module_init
(
void
)
...
...
drivers/ieee1394/sbp2.h
View file @
d84c369b
...
@@ -410,6 +410,9 @@ struct scsi_id_instance_data {
...
@@ -410,6 +410,9 @@ struct scsi_id_instance_data {
/* A backlink to our host_info */
/* A backlink to our host_info */
struct
sbp2scsi_host_info
*
hi
;
struct
sbp2scsi_host_info
*
hi
;
/* The scsi_device associated with this scsi_id */
struct
scsi_device
*
sdev
;
/* Device specific workarounds/brokeness */
/* Device specific workarounds/brokeness */
u32
workarounds
;
u32
workarounds
;
};
};
...
...
drivers/pci/probe.c
View file @
d84c369b
...
@@ -53,8 +53,12 @@ postcore_initcall(pcibus_class_init);
...
@@ -53,8 +53,12 @@ postcore_initcall(pcibus_class_init);
static
ssize_t
pci_bus_show_cpuaffinity
(
struct
class_device
*
class_dev
,
char
*
buf
)
static
ssize_t
pci_bus_show_cpuaffinity
(
struct
class_device
*
class_dev
,
char
*
buf
)
{
{
cpumask_t
cpumask
=
pcibus_to_cpumask
((
to_pci_bus
(
class_dev
))
->
number
);
cpumask_t
cpumask
=
pcibus_to_cpumask
((
to_pci_bus
(
class_dev
))
->
number
);
int
ret
;
return
sprintf
(
buf
,
"%lx
\n
"
,
(
unsigned
long
)
cpumask
);
ret
=
cpumask_snprintf
(
buf
,
PAGE_SIZE
,
cpumask
);
if
(
ret
<
PAGE_SIZE
)
buf
[
ret
++
]
=
'\n'
;
return
ret
;
}
}
static
CLASS_DEVICE_ATTR
(
cpuaffinity
,
S_IRUGO
,
pci_bus_show_cpuaffinity
,
NULL
);
static
CLASS_DEVICE_ATTR
(
cpuaffinity
,
S_IRUGO
,
pci_bus_show_cpuaffinity
,
NULL
);
...
...
fs/compat_ioctl.c
View file @
d84c369b
...
@@ -3093,6 +3093,7 @@ HANDLE_IOCTL(SIOCSIFPFLAGS, dev_ifsioc)
...
@@ -3093,6 +3093,7 @@ HANDLE_IOCTL(SIOCSIFPFLAGS, dev_ifsioc)
HANDLE_IOCTL
(
SIOCGIFPFLAGS
,
dev_ifsioc
)
HANDLE_IOCTL
(
SIOCGIFPFLAGS
,
dev_ifsioc
)
HANDLE_IOCTL
(
SIOCGIFTXQLEN
,
dev_ifsioc
)
HANDLE_IOCTL
(
SIOCGIFTXQLEN
,
dev_ifsioc
)
HANDLE_IOCTL
(
SIOCSIFTXQLEN
,
dev_ifsioc
)
HANDLE_IOCTL
(
SIOCSIFTXQLEN
,
dev_ifsioc
)
HANDLE_IOCTL
(
TUNSETIFF
,
dev_ifsioc
)
HANDLE_IOCTL
(
SIOCETHTOOL
,
ethtool_ioctl
)
HANDLE_IOCTL
(
SIOCETHTOOL
,
ethtool_ioctl
)
HANDLE_IOCTL
(
SIOCBONDENSLAVE
,
bond_ioctl
)
HANDLE_IOCTL
(
SIOCBONDENSLAVE
,
bond_ioctl
)
HANDLE_IOCTL
(
SIOCBONDRELEASE
,
bond_ioctl
)
HANDLE_IOCTL
(
SIOCBONDRELEASE
,
bond_ioctl
)
...
...
include/linux/compat_ioctl.h
View file @
d84c369b
...
@@ -192,7 +192,6 @@ COMPATIBLE_IOCTL(SCSI_IOCTL_GET_PCI)
...
@@ -192,7 +192,6 @@ COMPATIBLE_IOCTL(SCSI_IOCTL_GET_PCI)
/* Big T */
/* Big T */
COMPATIBLE_IOCTL
(
TUNSETNOCSUM
)
COMPATIBLE_IOCTL
(
TUNSETNOCSUM
)
COMPATIBLE_IOCTL
(
TUNSETDEBUG
)
COMPATIBLE_IOCTL
(
TUNSETDEBUG
)
COMPATIBLE_IOCTL
(
TUNSETIFF
)
COMPATIBLE_IOCTL
(
TUNSETPERSIST
)
COMPATIBLE_IOCTL
(
TUNSETPERSIST
)
COMPATIBLE_IOCTL
(
TUNSETOWNER
)
COMPATIBLE_IOCTL
(
TUNSETOWNER
)
/* Big V */
/* Big V */
...
...
include/linux/ide.h
View file @
d84c369b
...
@@ -279,7 +279,7 @@ typedef enum { ide_unknown, ide_generic, ide_pci,
...
@@ -279,7 +279,7 @@ typedef enum { ide_unknown, ide_generic, ide_pci,
ide_pdc4030
,
ide_rz1000
,
ide_trm290
,
ide_pdc4030
,
ide_rz1000
,
ide_trm290
,
ide_cmd646
,
ide_cy82c693
,
ide_4drives
,
ide_cmd646
,
ide_cy82c693
,
ide_4drives
,
ide_pmac
,
ide_etrax100
,
ide_acorn
,
ide_pmac
,
ide_etrax100
,
ide_acorn
,
ide_pc9800
ide_pc9800
,
ide_forced
}
hwif_chipset_t
;
}
hwif_chipset_t
;
/*
/*
...
@@ -1231,7 +1231,6 @@ typedef struct ide_devices_s {
...
@@ -1231,7 +1231,6 @@ typedef struct ide_devices_s {
*/
*/
#ifndef _IDE_C
#ifndef _IDE_C
extern
ide_hwif_t
ide_hwifs
[];
/* master data repository */
extern
ide_hwif_t
ide_hwifs
[];
/* master data repository */
extern
int
(
*
ide_probe
)(
void
);
extern
ide_devices_t
*
idedisk
;
extern
ide_devices_t
*
idedisk
;
extern
ide_devices_t
*
idecd
;
extern
ide_devices_t
*
idecd
;
...
...
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