.. | .. |
---|
67 | 67 | u32 number; |
---|
68 | 68 | u8 is_a_board; |
---|
69 | 69 | u8 state; |
---|
| 70 | + u8 attention_save; |
---|
70 | 71 | u8 presence_save; |
---|
| 72 | + u8 latch_save; |
---|
71 | 73 | u8 pwr_save; |
---|
72 | 74 | struct controller *ctrl; |
---|
73 | 75 | const struct hpc_ops *hpc_ops; |
---|
74 | | - struct hotplug_slot *hotplug_slot; |
---|
| 76 | + struct hotplug_slot hotplug_slot; |
---|
75 | 77 | struct list_head slot_list; |
---|
76 | 78 | struct delayed_work work; /* work for button event */ |
---|
77 | 79 | struct mutex lock; |
---|
.. | .. |
---|
162 | 164 | u8 shpchp_handle_presence_change(u8 hp_slot, struct controller *ctrl); |
---|
163 | 165 | u8 shpchp_handle_power_fault(u8 hp_slot, struct controller *ctrl); |
---|
164 | 166 | int shpchp_configure_device(struct slot *p_slot); |
---|
165 | | -int shpchp_unconfigure_device(struct slot *p_slot); |
---|
| 167 | +void shpchp_unconfigure_device(struct slot *p_slot); |
---|
166 | 168 | void cleanup_slots(struct controller *ctrl); |
---|
167 | 169 | void shpchp_queue_pushbutton_work(struct work_struct *work); |
---|
168 | 170 | int shpc_init(struct controller *ctrl, struct pci_dev *pdev); |
---|
169 | 171 | |
---|
170 | 172 | static inline const char *slot_name(struct slot *slot) |
---|
171 | 173 | { |
---|
172 | | - return hotplug_slot_name(slot->hotplug_slot); |
---|
| 174 | + return hotplug_slot_name(&slot->hotplug_slot); |
---|
173 | 175 | } |
---|
174 | 176 | |
---|
175 | 177 | struct ctrl_reg { |
---|
.. | .. |
---|
207 | 209 | |
---|
208 | 210 | static inline struct slot *get_slot(struct hotplug_slot *hotplug_slot) |
---|
209 | 211 | { |
---|
210 | | - return hotplug_slot->private; |
---|
| 212 | + return container_of(hotplug_slot, struct slot, hotplug_slot); |
---|
211 | 213 | } |
---|
212 | 214 | |
---|
213 | 215 | static inline struct slot *shpchp_find_slot(struct controller *ctrl, u8 device) |
---|