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
79cd7c1c
Commit
79cd7c1c
authored
Dec 01, 2002
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://linuxusb.bkbits.net/pci_hp-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
ab78bec6
9c076a26
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
56 additions
and
44 deletions
+56
-44
drivers/hotplug/Makefile
drivers/hotplug/Makefile
+5
-4
drivers/hotplug/cpci_hotplug_core.c
drivers/hotplug/cpci_hotplug_core.c
+4
-11
drivers/hotplug/cpci_hotplug_pci.c
drivers/hotplug/cpci_hotplug_pci.c
+4
-4
drivers/hotplug/ibmphp_ebda.c
drivers/hotplug/ibmphp_ebda.c
+8
-8
drivers/hotplug/pci_hotplug_core.c
drivers/hotplug/pci_hotplug_core.c
+31
-12
include/linux/pci.h
include/linux/pci.h
+4
-5
No files found.
drivers/hotplug/Makefile
View file @
79cd7c1c
...
@@ -8,13 +8,17 @@ obj-$(CONFIG_HOTPLUG_PCI) += pci_hotplug.o
...
@@ -8,13 +8,17 @@ obj-$(CONFIG_HOTPLUG_PCI) += pci_hotplug.o
obj-$(CONFIG_HOTPLUG_PCI_COMPAQ)
+=
cpqphp.o
obj-$(CONFIG_HOTPLUG_PCI_COMPAQ)
+=
cpqphp.o
obj-$(CONFIG_HOTPLUG_PCI_IBM)
+=
ibmphp.o
obj-$(CONFIG_HOTPLUG_PCI_IBM)
+=
ibmphp.o
obj-$(CONFIG_HOTPLUG_PCI_ACPI)
+=
acpiphp.o
obj-$(CONFIG_HOTPLUG_PCI_ACPI)
+=
acpiphp.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI)
+=
cpci_hotplug.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI_ZT5550)
+=
cpcihp_zt5550.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI_ZT5550)
+=
cpcihp_zt5550.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI_GENERIC)
+=
cpcihp_generic.o
obj-$(CONFIG_HOTPLUG_PCI_CPCI_GENERIC)
+=
cpcihp_generic.o
pci_hotplug-objs
:=
pci_hotplug_core.o
\
pci_hotplug-objs
:=
pci_hotplug_core.o
\
pci_hotplug_util.o
pci_hotplug_util.o
ifdef
CONFIG_HOTPLUG_PCI_CPCI
pci_hotplug-objs
+=
cpci_hotplug_core.o
\
cpci_hotplug_pci.o
endif
cpqphp-objs
:=
cpqphp_core.o
\
cpqphp-objs
:=
cpqphp_core.o
\
cpqphp_ctrl.o
\
cpqphp_ctrl.o
\
cpqphp_proc.o
\
cpqphp_proc.o
\
...
@@ -31,9 +35,6 @@ acpiphp-objs := acpiphp_core.o \
...
@@ -31,9 +35,6 @@ acpiphp-objs := acpiphp_core.o \
acpiphp_pci.o
\
acpiphp_pci.o
\
acpiphp_res.o
acpiphp_res.o
cpci_hotplug-objs
:=
cpci_hotplug_core.o
\
cpci_hotplug_pci.o
ifdef
CONFIG_HOTPLUG_PCI_ACPI
ifdef
CONFIG_HOTPLUG_PCI_ACPI
EXTRA_CFLAGS
+=
-D_LINUX
-I
$(TOPDIR)
/drivers/acpi
EXTRA_CFLAGS
+=
-D_LINUX
-I
$(TOPDIR)
/drivers/acpi
ifdef
CONFIG_ACPI_DEBUG
ifdef
CONFIG_ACPI_DEBUG
...
...
drivers/hotplug/cpci_hotplug_core.c
View file @
79cd7c1c
...
@@ -891,16 +891,17 @@ cleanup_slots(void)
...
@@ -891,16 +891,17 @@ cleanup_slots(void)
return
;
return
;
}
}
static
int
__init
int
__init
cpci_hotplug_init
(
void
)
cpci_hotplug_init
(
int
debug
)
{
{
spin_lock_init
(
&
list_lock
);
spin_lock_init
(
&
list_lock
);
cpci_debug
=
debug
;
info
(
DRIVER_DESC
" version: "
DRIVER_VERSION
);
info
(
DRIVER_DESC
" version: "
DRIVER_VERSION
);
return
0
;
return
0
;
}
}
static
void
__exit
void
__exit
cpci_hotplug_exit
(
void
)
cpci_hotplug_exit
(
void
)
{
{
/*
/*
...
@@ -909,14 +910,6 @@ cpci_hotplug_exit(void)
...
@@ -909,14 +910,6 @@ cpci_hotplug_exit(void)
cleanup_slots
();
cleanup_slots
();
}
}
module_init
(
cpci_hotplug_init
);
module_exit
(
cpci_hotplug_exit
);
MODULE_AUTHOR
(
DRIVER_AUTHOR
);
MODULE_DESCRIPTION
(
DRIVER_DESC
);
MODULE_LICENSE
(
"GPL"
);
MODULE_PARM
(
cpci_debug
,
"i"
);
MODULE_PARM_DESC
(
cpci_debug
,
"Debugging mode"
);
EXPORT_SYMBOL_GPL
(
cpci_hp_register_controller
);
EXPORT_SYMBOL_GPL
(
cpci_hp_register_controller
);
EXPORT_SYMBOL_GPL
(
cpci_hp_unregister_controller
);
EXPORT_SYMBOL_GPL
(
cpci_hp_unregister_controller
);
...
...
drivers/hotplug/cpci_hotplug_pci.c
View file @
79cd7c1c
...
@@ -572,16 +572,16 @@ static int unconfigure_visit_pci_bus_phase2(struct pci_bus_wrapped *wrapped_bus,
...
@@ -572,16 +572,16 @@ static int unconfigure_visit_pci_bus_phase2(struct pci_bus_wrapped *wrapped_bus,
}
}
static
struct
pci_visit
configure_functions
=
{
static
struct
pci_visit
configure_functions
=
{
visit_pci_dev:
configure_visit_pci_dev
,
.
visit_pci_dev
=
configure_visit_pci_dev
,
};
};
static
struct
pci_visit
unconfigure_functions_phase1
=
{
static
struct
pci_visit
unconfigure_functions_phase1
=
{
post_visit_pci_dev:
unconfigure_visit_pci_dev_phase1
.
post_visit_pci_dev
=
unconfigure_visit_pci_dev_phase1
};
};
static
struct
pci_visit
unconfigure_functions_phase2
=
{
static
struct
pci_visit
unconfigure_functions_phase2
=
{
post_visit_pci_bus:
unconfigure_visit_pci_bus_phase2
,
.
post_visit_pci_bus
=
unconfigure_visit_pci_bus_phase2
,
post_visit_pci_dev:
unconfigure_visit_pci_dev_phase2
.
post_visit_pci_dev
=
unconfigure_visit_pci_dev_phase2
};
};
...
...
drivers/hotplug/ibmphp_ebda.c
View file @
79cd7c1c
...
@@ -1240,11 +1240,11 @@ void ibmphp_free_ebda_pci_rsrc_queue (void)
...
@@ -1240,11 +1240,11 @@ void ibmphp_free_ebda_pci_rsrc_queue (void)
static
struct
pci_device_id
id_table
[]
__devinitdata
=
{
static
struct
pci_device_id
id_table
[]
__devinitdata
=
{
{
{
vendor:
PCI_VENDOR_ID_IBM
,
.
vendor
=
PCI_VENDOR_ID_IBM
,
device:
HPC_DEVICE_ID
,
.
device
=
HPC_DEVICE_ID
,
subvendor:
PCI_VENDOR_ID_IBM
,
.
subvendor
=
PCI_VENDOR_ID_IBM
,
subdevice:
HPC_SUBSYSTEM_ID
,
.
subdevice
=
HPC_SUBSYSTEM_ID
,
class:
((
PCI_CLASS_SYSTEM_PCI_HOTPLUG
<<
8
)
|
0x00
),
.
class
=
((
PCI_CLASS_SYSTEM_PCI_HOTPLUG
<<
8
)
|
0x00
),
},
{}
},
{}
};
};
...
@@ -1252,9 +1252,9 @@ MODULE_DEVICE_TABLE(pci, id_table);
...
@@ -1252,9 +1252,9 @@ MODULE_DEVICE_TABLE(pci, id_table);
static
int
ibmphp_probe
(
struct
pci_dev
*
,
const
struct
pci_device_id
*
);
static
int
ibmphp_probe
(
struct
pci_dev
*
,
const
struct
pci_device_id
*
);
static
struct
pci_driver
ibmphp_driver
=
{
static
struct
pci_driver
ibmphp_driver
=
{
name:
"ibmphp"
,
.
name
=
"ibmphp"
,
id_table:
id_table
,
.
id_table
=
id_table
,
probe:
ibmphp_probe
,
.
probe
=
ibmphp_probe
,
};
};
int
ibmphp_register_pci
(
void
)
int
ibmphp_register_pci
(
void
)
...
...
drivers/hotplug/pci_hotplug_core.c
View file @
79cd7c1c
...
@@ -60,8 +60,8 @@
...
@@ -60,8 +60,8 @@
/* local variables */
/* local variables */
static
int
debug
;
static
int
debug
;
#define DRIVER_VERSION "0.
4
"
#define DRIVER_VERSION "0.
5
"
#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>"
#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>
, Scott Murray <scottm@somanetworks.com>
"
#define DRIVER_DESC "PCI Hot Plug PCI Core"
#define DRIVER_DESC "PCI Hot Plug PCI Core"
...
@@ -89,7 +89,7 @@ static int pcihpfs_mount_count; /* times we have mounted our fs */
...
@@ -89,7 +89,7 @@ static int pcihpfs_mount_count; /* times we have mounted our fs */
static
spinlock_t
mount_lock
;
/* protects our mount_count */
static
spinlock_t
mount_lock
;
/* protects our mount_count */
static
spinlock_t
list_lock
;
static
spinlock_t
list_lock
;
LIST_HEAD
(
pci_hotplug_slot_list
);
static
LIST_HEAD
(
pci_hotplug_slot_list
);
/* these strings match up with the values in pci_bus_speed */
/* these strings match up with the values in pci_bus_speed */
static
char
*
pci_bus_speed_strings
[]
=
{
static
char
*
pci_bus_speed_strings
[]
=
{
...
@@ -121,6 +121,14 @@ static struct proc_dir_entry *slotdir = NULL;
...
@@ -121,6 +121,14 @@ static struct proc_dir_entry *slotdir = NULL;
static
const
char
*
slotdir_name
=
"slots"
;
static
const
char
*
slotdir_name
=
"slots"
;
#endif
#endif
#ifdef CONFIG_HOTPLUG_PCI_CPCI
extern
int
cpci_hotplug_init
(
int
debug
);
extern
void
cpci_hotplug_exit
(
void
);
#else
static
inline
int
cpci_hotplug_init
(
int
debug
)
{
return
0
;
}
static
inline
void
cpci_hotplug_exit
(
void
)
{
}
#endif
static
struct
inode
*
pcihpfs_get_inode
(
struct
super_block
*
sb
,
int
mode
,
dev_t
dev
)
static
struct
inode
*
pcihpfs_get_inode
(
struct
super_block
*
sb
,
int
mode
,
dev_t
dev
)
{
{
struct
inode
*
inode
=
new_inode
(
sb
);
struct
inode
*
inode
=
new_inode
(
sb
);
...
@@ -311,19 +319,19 @@ static struct file_operations presence_file_operations = {
...
@@ -311,19 +319,19 @@ static struct file_operations presence_file_operations = {
/* file ops for the "max bus speed" files */
/* file ops for the "max bus speed" files */
static
ssize_t
max_bus_speed_read_file
(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
loff_t
*
offset
);
static
ssize_t
max_bus_speed_read_file
(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
loff_t
*
offset
);
static
struct
file_operations
max_bus_speed_file_operations
=
{
static
struct
file_operations
max_bus_speed_file_operations
=
{
read:
max_bus_speed_read_file
,
.
read
=
max_bus_speed_read_file
,
write:
default_write_file
,
.
write
=
default_write_file
,
open:
default_open
,
.
open
=
default_open
,
llseek:
default_file_lseek
,
.
llseek
=
default_file_lseek
,
};
};
/* file ops for the "current bus speed" files */
/* file ops for the "current bus speed" files */
static
ssize_t
cur_bus_speed_read_file
(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
loff_t
*
offset
);
static
ssize_t
cur_bus_speed_read_file
(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
loff_t
*
offset
);
static
struct
file_operations
cur_bus_speed_file_operations
=
{
static
struct
file_operations
cur_bus_speed_file_operations
=
{
read:
cur_bus_speed_read_file
,
.
read
=
cur_bus_speed_read_file
,
write:
default_write_file
,
.
write
=
default_write_file
,
open:
default_open
,
.
open
=
default_open
,
llseek:
default_file_lseek
,
.
llseek
=
default_file_lseek
,
};
};
/* file ops for the "test" files */
/* file ops for the "test" files */
...
@@ -1273,19 +1281,30 @@ static int __init pci_hotplug_init (void)
...
@@ -1273,19 +1281,30 @@ static int __init pci_hotplug_init (void)
goto
exit
;
goto
exit
;
}
}
result
=
cpci_hotplug_init
(
debug
);
if
(
result
)
{
err
(
"cpci_hotplug_init with error %d
\n
"
,
result
);
goto
error_fs
;
}
#ifdef CONFIG_PROC_FS
#ifdef CONFIG_PROC_FS
/* create mount point for pcihpfs */
/* create mount point for pcihpfs */
slotdir
=
proc_mkdir
(
slotdir_name
,
proc_bus_pci_dir
);
slotdir
=
proc_mkdir
(
slotdir_name
,
proc_bus_pci_dir
);
#endif
#endif
info
(
DRIVER_DESC
" version: "
DRIVER_VERSION
"
\n
"
);
info
(
DRIVER_DESC
" version: "
DRIVER_VERSION
"
\n
"
);
goto
exit
;
error_fs:
unregister_filesystem
(
&
pcihpfs_type
);
exit:
exit:
return
result
;
return
result
;
}
}
static
void
__exit
pci_hotplug_exit
(
void
)
static
void
__exit
pci_hotplug_exit
(
void
)
{
{
cpci_hotplug_exit
();
unregister_filesystem
(
&
pcihpfs_type
);
unregister_filesystem
(
&
pcihpfs_type
);
#ifdef CONFIG_PROC_FS
#ifdef CONFIG_PROC_FS
...
...
include/linux/pci.h
View file @
79cd7c1c
...
@@ -383,7 +383,6 @@ struct pci_dev {
...
@@ -383,7 +383,6 @@ struct pci_dev {
u8
rom_base_reg
;
/* which config register controls the ROM */
u8
rom_base_reg
;
/* which config register controls the ROM */
struct
pci_driver
*
driver
;
/* which driver has allocated this device */
struct
pci_driver
*
driver
;
/* which driver has allocated this device */
void
*
driver_data
;
/* data private to the driver */
u64
dma_mask
;
/* Mask of the bits of bus address this
u64
dma_mask
;
/* Mask of the bits of bus address this
device implements. Normally this is
device implements. Normally this is
0xffffffff. You only need to change
0xffffffff. You only need to change
...
@@ -787,17 +786,17 @@ static inline int pci_module_init(struct pci_driver *drv)
...
@@ -787,17 +786,17 @@ static inline int pci_module_init(struct pci_driver *drv)
pci_resource_start((dev),(bar)) + 1))
pci_resource_start((dev),(bar)) + 1))
/* Similar to the helpers above, these manipulate per-pci_dev
/* Similar to the helpers above, these manipulate per-pci_dev
* driver-specific data.
Currently stored as pci_dev::driver_data,
* driver-specific data.
They are really just a wrapper around
*
a void pointer, but it is not present on older kerne
ls.
*
the generic device structure functions of these cal
ls.
*/
*/
static
inline
void
*
pci_get_drvdata
(
struct
pci_dev
*
pdev
)
static
inline
void
*
pci_get_drvdata
(
struct
pci_dev
*
pdev
)
{
{
return
pdev
->
driver_data
;
return
dev_get_drvdata
(
&
pdev
->
dev
)
;
}
}
static
inline
void
pci_set_drvdata
(
struct
pci_dev
*
pdev
,
void
*
data
)
static
inline
void
pci_set_drvdata
(
struct
pci_dev
*
pdev
,
void
*
data
)
{
{
pdev
->
driver_data
=
data
;
dev_set_drvdata
(
&
pdev
->
dev
,
data
)
;
}
}
/*
/*
...
...
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