start
This function is called automatically by the system to tell the driver to start vending services to the rest of the system.
Declaration
virtual bool start(
IOService *provider);Parameters
- provider:
This is the service provider nub that provides access to the hardware resources.
Return Value
Returns true on success
Overview
The start() implementation in IOAudioDevice starts by calling start() on its superclass. It then calls initHardware() which the subclass should override to properly initialize itself and the hardware. If that call succeeds, it sets up power management if the family is supposed to manage power (checking the familyManagePower variable). Then finally it calls registerService() to make the IOAudioDevice visible in the IORegistry.
See Also
Miscellaneous
activateAudioEngine(IOAudioEngine *)activateAudioEngine(IOAudioEngine *, bool)addTimerEventattachAudioPortaudioEngineStartingaudioEngineStoppedcompletePowerStateChangecompletePowerStateChangeActiondeactivateAllAudioEnginesdetachAllAudioPortsdispatchTimerEventsflushAudioControlsfreegetCommandGategetPendingPowerStategetPowerStategetWorkLoopinitinitHardwareinitiatePowerStateChangeperformPowerStateChangeprotectedCompletePowerStateChangeprotectedSetPowerStateremoveAllTimerEventsremoveTimerEventsetConfigurationApplicationBundlesetDeviceCanBeDefaultsetDeviceNamesetDeviceShortNamesetFamilyManagePowersetIdleAudioSleepTimesetManufacturerNamesetPowerStatesetPowerStateActionstoptimerFiredwaitForPendingPowerStateChange