• Michael Zoran's avatar
    staging: vc04_services: remove vchiq_copy_from_user · 49bec49f
    Michael Zoran authored
    The vchiq_copy_from_user function is not portable
    and is consider "bad practice."  Replace this function
    with a callback based mechanism that is passed downward
    on the stack.  When it is actually time to copy the data,
    the callback is called to copy the data into the message.
    
    This callback is provided internally for userland calls
    through ioctls on the device.
    
    NOTE: Internal clients will need to be modified to work
    with the new internal API.
    
    Test Run:
    vchiq_test -p 1
    vchiq_test -f 10
    
    Both tests pass.
    
    Internal API Changes:
    
    Change vchi_msg_queue to:
    int32_t
    vchi_msg_queue(VCHI_SERVICE_HANDLE_T handle,
    	       ssize_t (*copy_callback)(void *context, void *dest,
    				        size_t offset, size_t maxsize),
    	       void *context,
    	       uint32_t data_size );
    
    Remove:
    vchi_msg_queuev_ex
    vchi_msg_queuev
    
    These functions were not implemented anyway so no need to fix them. It's
    easier to just remove them.
    Signed-off-by: default avatarMichael Zoran <mzoran@crowfest.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    49bec49f
vchiq_2835_arm.c 16.1 KB