cleanup_data
cleanup_data_t cleanup_data;
rd.data = (void *)&cleanup_data;
cleanup_data.flags = flags;
cleanup_data.rm = rm;
cleanup_data_t *cleanup_data = data;
if (call_minor_init(cleanup_data->rm->modptr) ==
if (cleanup_data->rm->remove->flags & RM_NOINTERPOSE)
(cleanup_data->rm->remove->callback_fcn)(devpath);
(cleanup_data->rm->remove->callback_fcn)(devpath);
struct cleanup cleanup_data[x]; \
cleanup_data[cleanup_count].arg = x; \
cleanup_data[cleanup_count].func = y; \
if ((--cleanup_count) && x && (cleanup_data[cleanup_count].func)) \
cleanup_data[cleanup_count].func(cleanup_data[cleanup_count].arg);
if (cleanup_data[cleanup_count].func) \
cleanup_data[cleanup_count].func(cleanup_data[cleanup_count].arg);
goto cleanup_data;
goto cleanup_data;
goto cleanup_data;
goto cleanup_data;
cleanup_data:;
goto cleanup_data;
cleanup_data: