Ejemplo n.º 1
0
struct gbm_device *
_gbm_create_device(int fd)
{
   const struct gbm_backend *backend = NULL;
   struct gbm_device *dev = NULL;
   int i;
   const char *b;

   b = getenv("GBM_BACKEND");
   if (b)
      backend = load_backend(b);

   if (backend)
      dev = backend->create_device(fd);

   for (i = 0; i < ARRAY_SIZE(backends) && dev == NULL; ++i) {
      backend = load_backend(backends[i]);
      if (backend == NULL)
         continue;
      fprintf(stderr, "loaded module: %s\n", backends[i]);
      dev = backend->create_device(fd);
   }
   
   return dev;
}
Ejemplo n.º 2
0
int objstore_init(void)
{
	int ret;

	vol_cache = umem_cache_create("vol", sizeof(struct objstore_vol),
				      0, NULL, NULL, NULL, NULL, NULL, 0);
	if (!vol_cache)
		return ENOMEM;

	ret = vg_init();
	if (ret)
		goto err;

	ret = load_backend(&mem_backend, "mem");
	if (ret)
		goto err;

	backend = &mem_backend;

	return 0;

err:
	umem_cache_destroy(vol_cache);

	return ret;
}
Ejemplo n.º 3
0
Archivo: api.c Proyecto: Samsung/FFTF
FFTF_SET_BACKEND_RESULT fftf_set_backend(FFTFBackendId id) {
  if (id == FFTF_BACKEND_NONE) {
    FFTFCurrentBackendId = FFTF_BACKEND_NONE;
    return fftf_current_backend();
  }
  FFTF_BACKEND_ID_CHECK(id);
  if (FFTFBackends[id].path != NULL) {
    FFTFCurrentBackendId = id;
    return FFTF_SET_BACKEND_SUCCESS;
  }
  int result = load_backend(&FFTFBackends[id], 0);
  if (result == FFTF_SET_BACKEND_SUCCESS) {
    FFTFCurrentBackendId = id;
  }
  return result;
}