free ( refcnt );
}
}
+
+/**
+ * Do not free reference-counted object
+ *
+ * @v refcnt Reference counter
+ *
+ * This is meant for initializing a reference counter structure in a
+ * statically allocated object.
+ */
+void ref_no_free ( struct refcnt *refcnt __unused ) {
+ /* Do nothing */
+}
#include <ipxe/uaccess.h>
#include <ipxe/init.h>
-/**
- * Free embedded image
- *
- * @v refcnt Reference counter
- */
-static void __attribute__ (( unused ))
-embedded_image_free ( struct refcnt *refcnt __unused ) {
- /* Do nothing */
-}
-
/* Raw image data for all embedded images */
#undef EMBED
#define EMBED( _index, _path, _name ) \
/* Image structures for all embedded images */
#undef EMBED
#define EMBED( _index, _path, _name ) { \
- .refcnt = REF_INIT ( embedded_image_free ), \
+ .refcnt = REF_INIT ( ref_no_free ), \
.name = _name, \
.data = ( userptr_t ) ( embedded_image_ ## _index ## _data ), \
.len = ( size_t ) embedded_image_ ## _index ## _len, \
extern struct refcnt * ref_get ( struct refcnt *refcnt );
extern void ref_put ( struct refcnt *refcnt );
+extern void ref_no_free ( struct refcnt *refcnt );
#endif /* _IPXE_REFCNT_H */