@@ -3726,12 +3726,12 @@ EXPORT_SYMBOL(drm_property_lookup_blob);
* a completely atomic update. The access to path_blob_ptr is protected by the
* caller holding a lock on the connector.
*/
-static int drm_property_replace_global_blob(struct drm_device *dev,
- struct drm_property_blob **replace,
- size_t length,
- const void *data,
- struct drm_mode_object *obj_holds_id,
- struct drm_property *prop_holds_id)
+int drm_property_replace_global_blob(struct drm_device *dev,
+ struct drm_property_blob **replace,
+ size_t length,
+ const void *data,
+ struct drm_mode_object *obj_holds_id,
+ struct drm_property *prop_holds_id)
{
struct drm_property_blob *new_blob = NULL;
struct drm_property_blob *old_blob = NULL;
@@ -3770,6 +3770,7 @@ err_created:
drm_property_unreference_blob(new_blob);
return ret;
}
+EXPORT_SYMBOL(drm_property_replace_global_blob);
/**
* drm_mode_getblob_ioctl - get the contents of a blob property value
@@ -2794,6 +2794,12 @@ struct drm_property_blob *drm_property_create_blob(struct drm_device *dev,
const void *data);
struct drm_property_blob *drm_property_lookup_blob(struct drm_device *dev,
uint32_t id);
+int drm_property_replace_global_blob(struct drm_device *dev,
+ struct drm_property_blob **replace,
+ size_t length,
+ const void *data,
+ struct drm_mode_object *obj_holds_id,
+ struct drm_property *prop_holds_id);
struct drm_property_blob *drm_property_reference_blob(struct drm_property_blob *blob);
void drm_property_unreference_blob(struct drm_property_blob *blob);
extern void drm_property_destroy(struct drm_device *dev, struct drm_property *property);
It's really part of the core blob interface, and the drm_connector.c extraction needs it too. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/drm_crtc.c | 13 +++++++------ include/drm/drm_crtc.h | 6 ++++++ 2 files changed, 13 insertions(+), 6 deletions(-)