bool printable_mem( const char* mem, int len ){ uverify( NULL != mem ); uverify( 0 <= len ); int i = 0; for( i=0; i<len; i++ ){ if( !printable_char( mem[i] ) ){ return false; } } return true; }
/** * drm_get_format_name - return a string for drm fourcc format * @format: format to compute name of * * Note that the buffer returned by this function is owned by the caller * and will need to be freed using kfree(). */ char *drm_get_format_name(uint32_t format) { char *buf = kmalloc(32, GFP_KERNEL); snprintf(buf, 32, "%c%c%c%c %s-endian (0x%08x)", printable_char(format & 0xff), printable_char((format >> 8) & 0xff), printable_char((format >> 16) & 0xff), printable_char((format >> 24) & 0x7f), format & DRM_FORMAT_BIG_ENDIAN ? "big" : "little", format); return buf; }
} return fmt; } EXPORT_SYMBOL(drm_mode_legacy_fb_format); /** * drm_get_format_name - fill a string with a drm fourcc format's name * @format: format to compute name of * @buf: caller-supplied buffer */ const char *drm_get_format_name(uint32_t format, struct drm_format_name_buf *buf) { snprintf(buf->str, sizeof(buf->str), "%c%c%c%c %s-endian (0x%08x)", printable_char(format & 0xff), printable_char((format >> 8) & 0xff), printable_char((format >> 16) & 0xff), printable_char((format >> 24) & 0x7f), format & DRM_FORMAT_BIG_ENDIAN ? "big" : "little", format); return buf->str; } EXPORT_SYMBOL(drm_get_format_name); /* * Internal function to query information for a given format. See * drm_format_info() for the public API. */ const struct drm_format_info *__drm_format_info(u32 format)