create_hw_property_data (hw);
create_hw_port_data (hw);
create_hw_event_data (hw);
+ create_hw_handle_data (hw);
+ create_hw_instance_data (hw);
return hw;
}
/* give the object a chance to tidy up */
me->base_of_hw->to_delete (me);
+ delete_hw_instance_data (me);
+ delete_hw_handle_data (me);
delete_hw_event_data (me);
delete_hw_port_data (me);
delete_hw_property_data (me);
delete_hw_alloc_data (me);
/* finally */
- zfree (me->base_of_hw);
zfree (me);
}
+void
+set_hw_delete (struct hw *hw, hw_delete_callback method)
+{
+ hw->base_of_hw->to_delete = method;
+}
+
/* Go through the devices various reg properties for those that
specify attach addresses */