

- frontend driver initializes static xenbus_driver with _ids, _probe, _remove, 
_resume, _otherend_changed

    - initialization calls xenbus_register_frontend(xenbus_driver)

        - xenbus_register_frontend sets read_otherend details to read_backend_details
	then calls xenbus_register_driver_common(xenbus_driver, xenbus_frontend)

	     - xenbus_register_driver_common sets underlying driver name to xenbus_driver name
	     underlying driver bus to xenbus_frontend's bus, driver's probe to xenbus_dev_probe
	     driver's remove to xenbus_dev_remove then calls driver_register

