コード例 #1
0
int DriverCtrl::load(int u4NetIf)
{
    char driver_status[PROPERTY_VALUE_MAX];
    const DriverParameter *tarDrv = &aDriverParameter[u4NetIf];

    LOGD("Load_driver %d", u4NetIf);

#ifdef LOAD_MODULE_ONCE

    if (!checkLoaded(tarDrv->acModuleTag, tarDrv->acPropName)){
        if (sModuleCtrl->insmod( tarDrv->acModulePath, tarDrv->acModuleArg) < 0)
            goto error;
    }

    property_set(tarDrv->acPropName, "ok");
#else
    if (checkLoaded(tarDrv->acModuleTag, tarDrv->acPropName))
        return 0;

    if (sModuleCtrl->insmod(tarDrv->acModuleName, tarDrv->acModuleArg) < 0)
        goto error;

    if (strcmp(tarDrv->acFirmwareLoader,"") == 0) {
        property_set(tarDrv->acPropName, "ok");
    } else {
        property_set("ctl.start", tarDrv->acFirmwareLoader);
    }
#endif
    return 0;
error:
    return -1;

}
コード例 #2
0
int DriverCtrl::unload(int u4NetIf)
{
    int count = UNLOAD_CHK_COUNT; /* wait at most 10 seconds for completion */
    const DriverParameter *tarDrv = &aDriverParameter[u4NetIf];

    char legacyModuleName[32];
    char legacyModuleTag[32];
    char *end;

    LOGD("Unload_driver %d", u4NetIf);

    LOGD("rmmod %s", tarDrv->acModuleName);
    if (sModuleCtrl->rmmod(tarDrv->acModuleName) == 0) {
        while (count-- > 0) {
            if (!checkLoaded(tarDrv->acModuleTag, tarDrv->acPropName))
                break;
            usleep(UNLOAD_CHK_DELAY);
        }
        if (count) {
            property_set(tarDrv->acPropName, "unloaded");
            return 0;
        }
    }

    //For legacy driver module
    sprintf(legacyModuleName, "%s", tarDrv->acModuleName);
    end = strchr(legacyModuleName, '_');
    if(!end) {
        LOGD("unable to locate legacy module name");
        return -1;
    }
    *end = '\0';
    sprintf(legacyModuleTag, "%s ", legacyModuleName);

    LOGD("rmmod %s", legacyModuleName);
    if (sModuleCtrl->rmmod(legacyModuleName) == 0) {
        while (count-- > 0) {
            if (!checkLoaded(legacyModuleTag, tarDrv->acPropName))
                break;
            usleep(UNLOAD_CHK_DELAY);
        }
        if (count) {
            property_set(tarDrv->acPropName, "unloaded");
            return 0;
        }
    }

    return -1;
}
コード例 #3
0
ファイル: Texture.cpp プロジェクト: DeFuex/Tire-D-
void Texture::unuse()
{
	if (!checkLoaded()) return;

	glActiveTexture(GL_TEXTURE0 + _slot);
	glBindTexture(GL_TEXTURE_2D, 0);
	
	_slot = -1;
}
コード例 #4
0
ファイル: Texture.cpp プロジェクト: DeFuex/Tire-D-
void Texture::use(int slot)
{
	if (!checkLoaded()) return;

	_slot = slot;

	glActiveTexture(GL_TEXTURE0 + slot);
	glBindTexture(GL_TEXTURE_2D, _textureID);
}
コード例 #5
0
ファイル: qlcfixturedef.cpp プロジェクト: PML369/qlcplus
QString QLCFixtureDef::author()
{
    checkLoaded();
    return m_author;
}
コード例 #6
0
ファイル: qlcfixturedef.cpp プロジェクト: PML369/qlcplus
QString QLCFixtureDef::type()
{
    checkLoaded();
    return m_type;
}