[PATCH] acpiphp - slot management fix - V4

o This patch removes IDs (for slots management).
o This patch removes the slot register/unregister processes
  from the init/exit phases. Instead, adds these processes
  in the bridge add/cleanup phases.
o Currently, this change doesn't have any meanings. But
  these changes are needed to support p2p bridge(with
  hotplug slot)

Signed-off-by: MUNEDA Takahiro <muneda.takahiro@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
MUNEDA Takahiro
2006-02-23 17:56:08 -08:00
committed by Greg Kroah-Hartman
parent 63e5f248c4
commit e27da38141
3 changed files with 78 additions and 89 deletions

View File

@@ -60,10 +60,7 @@ struct acpiphp_slot;
* struct slot - slot information for each *physical* slot
*/
struct slot {
u8 number;
struct hotplug_slot *hotplug_slot;
struct list_head slot_list;
struct acpiphp_slot *acpi_slot;
};
@@ -119,9 +116,9 @@ struct acpiphp_slot {
struct acpiphp_bridge *bridge; /* parent */
struct list_head funcs; /* one slot may have different
objects (i.e. for each function) */
struct slot *slot;
struct mutex crit_sect;
u32 id; /* slot id (serial #) for hotplug core */
u8 device; /* pci device# */
u32 sun; /* ACPI _SUN (slot unique number) */
@@ -229,12 +226,13 @@ struct acpiphp_dock_station {
/* acpiphp_core.c */
extern int acpiphp_register_attention(struct acpiphp_attention_info*info);
extern int acpiphp_unregister_attention(struct acpiphp_attention_info *info);
extern int acpiphp_register_hotplug_slot(struct acpiphp_slot *slot);
extern void acpiphp_unregister_hotplug_slot(struct acpiphp_slot *slot);
/* acpiphp_glue.c */
extern int acpiphp_glue_init (void);
extern void acpiphp_glue_exit (void);
extern int acpiphp_get_num_slots (void);
extern struct acpiphp_slot *get_slot_from_id (int id);
typedef int (*acpiphp_callback)(struct acpiphp_slot *slot, void *data);
void handle_hotplug_event_func(acpi_handle, u32, void*);