Esempio n. 1
0
static void romdisk_remove(struct device_t * dev)
{
	struct block_t * blk = (struct block_t *)dev->priv;

	if(blk && unregister_block(blk))
	{
		free_device_name(blk->name);
		free(blk->priv);
		free(blk);
	}
}
Esempio n. 2
0
static bool_t spi_flash_unregister(struct resource_t * res)
{
	struct block_t * blk;
	char name[64];

	snprintf(name, sizeof(name), "%s.%d", res->name, res->id);

	blk = search_block(name);
	if(!blk)
		return FALSE;

	if(!unregister_block(blk))
		return FALSE;

	spi_device_free(((struct spi_flash_private_data_t *)blk->priv)->dev);
	free(blk->priv);
	free(blk->name);
	free(blk);
	return TRUE;
}
Esempio n. 3
0
static bool_t unregister_romdisk(const char * name)
{
	struct block_t * blk;
	struct romdisk_t * romdisk;

	if(!name)
		return FALSE;

	blk = search_block(name);
	if(!blk)
		return FALSE;

	romdisk = (struct romdisk_t *)(blk->priv);
	if(!unregister_block(blk))
		return FALSE;

	free(romdisk->name);
	free(romdisk);
	free(blk);
	return TRUE;
}
Esempio n. 4
0
static bool_t unregister_application(const char * name)
{
	struct block_t * blk;
	struct application_t * app;

	if(!name)
		return FALSE;

	blk = search_block(name);
	if(!blk)
		return FALSE;

	app = (struct application_t *)(blk->priv);
	if(!unregister_block(blk))
		return FALSE;

	free(app->name);
	free(app);
	free(blk);
	return TRUE;
}