IOUSBHubDevice.cpp [plain text]
#include <libkern/OSByteOrder.h>
#include <IOKit/usb/IOUSBLog.h>
#include "IOUSBHubDevice.h"
#ifndef IOUSBHUBDEVICE_USE_KPRINTF
#define IOUSBHUBDEVICE_USE_KPRINTF 0
#endif
#if IOUSBHUBDEVICE_USE_KPRINTF
#undef USBLog
#undef USBError
void kprintf(const char *format, ...)
__attribute__((format(printf, 1, 2)));
#define USBLog( LEVEL, FORMAT, ARGS... ) if ((LEVEL) <= 5) { kprintf( FORMAT "\n", ## ARGS ) ; }
#define USBError( LEVEL, FORMAT, ARGS... ) { kprintf( FORMAT "\n", ## ARGS ) ; }
#endif
#define super IOUSBDevice
#define self this
OSDefineMetaClassAndStructors( IOUSBHubDevice, IOUSBDevice )
IOUSBHubDevice*
IOUSBHubDevice::NewHubDevice()
{
IOUSBHubDevice *me = new IOUSBHubDevice;
if (!me)
return NULL;
if (!me->init())
{
me->release();
me = NULL;
}
return me;
}
bool
IOUSBHubDevice::init()
{
if (!super::init())
return false;
return true;
}
bool
IOUSBHubDevice::start(IOService *provider)
{
if (!super::start(provider))
return false;
if (!InitializeCharacteristics())
return false;
return true;
}
bool
IOUSBHubDevice::InitializeCharacteristics()
{
UInt32 characteristics = 0;
SetHubCharacteristics(characteristics);
return true;
}
void
IOUSBHubDevice::stop( IOService *provider )
{
super::stop(provider);
}
void
IOUSBHubDevice::free()
{
USBLog(1, "%s[%p]::free", getName(), this);
if (_expansionData)
{
IOFree(_expansionData, sizeof(ExpansionData));
_expansionData = NULL;
}
super::free();
}
void
IOUSBHubDevice::SetHubCharacteristics(UInt32 characteristics)
{
_myCharacteristics = characteristics;
}
UInt32
IOUSBHubDevice::GetHubCharacteristics()
{
return _myCharacteristics;
}
UInt32
IOUSBHubDevice::GetMaxProvidedPower()
{
return 500;
}
UInt32
IOUSBHubDevice::RequestProvidedPower(UInt32 requestedPower)
{
if (requestedPower <= 500)
return requestedPower;
else
return 500;
}
void
IOUSBHubDevice::SetPolicyMaker(IOUSBHubPolicyMaker *policyMaker)
{
_myPolicyMaker = policyMaker;
}
IOUSBHubPolicyMaker *
IOUSBHubDevice::GetPolicyMaker(void)
{
return _myPolicyMaker;
}
UInt32
IOUSBHubDevice::RequestExtraPower(UInt32 requestedPower)
{
USBLog(2, "IOUSBHubDevice[%p]::RequestExtraPower - not a root hub - no extra power", this);
return 0;
}
void
IOUSBHubDevice::ReturnExtraPower(UInt32 returnedPower)
{
return;
}
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 0);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 1);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 2);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 3);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 4);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 5);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 6);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 7);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 8);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 9);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 10);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 11);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 12);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 13);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 14);
OSMetaClassDefineReservedUnused(IOUSBHubDevice, 15);