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
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
Hide 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
...
@@ -1322,8 +1322,7 @@ int ideprobe_init (void)
...
@@ -1322,8 +1322,7 @@ 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
void
__unregister_host
(
struct
hpsb_highlevel
*
hl
,
struct
hpsb_host
*
host
)
{
unsigned
long
flags
;
struct
list_head
*
lh
,
*
next
;
struct
hpsb_address_serve
*
as
;
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
);
list_for_each_safe
(
lh
,
next
,
&
hl
->
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
->
addr_list
);
kfree
(
as
);
}
}
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
)
static
int
highlevel_for_each_host_unreg
(
struct
hpsb_host
*
host
,
void
*
__data
)
{
{
struct
hpsb_highlevel
*
hl
=
__data
;
struct
hpsb_highlevel
*
hl
=
__data
;
hl
->
remove_host
(
host
);
__unregister_host
(
hl
,
host
);
hpsb_destroy_hostinfo
(
hl
,
host
);
return
0
;
return
0
;
}
}
void
hpsb_unregister_highlevel
(
struct
hpsb_highlevel
*
hl
)
void
hpsb_unregister_highlevel
(
struct
hpsb_highlevel
*
hl
)
{
{
struct
list_head
*
lh
,
*
next
;
struct
hpsb_address_serve
*
as
;
unsigned
long
flags
;
write_lock_irqsave
(
&
addr_space_lock
,
flags
);
list_for_each_safe
(
lh
,
next
,
&
hl
->
addr_list
)
{
as
=
list_entry
(
lh
,
struct
hpsb_address_serve
,
addr_list
);
list_del
(
&
as
->
as_list
);
kfree
(
as
);
}
write_unlock_irqrestore
(
&
addr_space_lock
,
flags
);
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,8 +309,7 @@ void hpsb_unregister_highlevel(struct hpsb_highlevel *hl)
...
@@ -293,8 +309,7 @@ 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
);
}
}
int
hpsb_register_addrspace
(
struct
hpsb_highlevel
*
hl
,
struct
hpsb_host
*
host
,
int
hpsb_register_addrspace
(
struct
hpsb_highlevel
*
hl
,
struct
hpsb_host
*
host
,
...
@@ -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