CVS commit: src/sys

"Nick Hudson" <[email protected]>
Newsgroups gmane.os.netbsd.devel.cvs
Message-ID <[email protected]>
Module Name:	src
Committed By:	skrll
Date:		Sun Aug 16 19:23:06 UTC 2026

Modified Files:
	src/sys/arch/arm/broadcom: bcm2835_vcaudio.c
	src/sys/external/bsd/vchiq/dist/interface/vchi: vchi.h
	src/sys/external/bsd/vchiq/dist/interface/vchiq_arm: vchiq_2835_arm.c
	    vchiq_arm.c vchiq_core.c vchiq_core.h vchiq_if.h vchiq_shim.c

Log Message:
vchiq: Back port of the change

    commit 49bec49fd7f273ec114e2e533c1bb8f21a654aaf
    Author: Michael Zoran <[email protected]>
    Date:   Sun Oct 30 05:55:07 2016 -0700

        staging: vc04_services: remove vchiq_copy_from_user

        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: Michael Zoran <[email protected]>
        Signed-off-by: Greg Kroah-Hartman <[email protected]>


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/broadcom/bcm2835_vcaudio.c
cvs rdiff -u -r1.2 -r1.3 \
    src/sys/external/bsd/vchiq/dist/interface/vchi/vchi.h
cvs rdiff -u -r1.25 -r1.26 \
    src/sys/external/bsd/vchiq/dist/interface/vchiq_arm/vchiq_2835_arm.c
cvs rdiff -u -r1.22 -r1.23 \
    src/sys/external/bsd/vchiq/dist/interface/vchiq_arm/vchiq_arm.c
cvs rdiff -u -r1.17 -r1.18 \
    src/sys/external/bsd/vchiq/dist/interface/vchiq_arm/vchiq_core.c
cvs rdiff -u -r1.10 -r1.11 \
    src/sys/external/bsd/vchiq/dist/interface/vchiq_arm/vchiq_core.h
cvs rdiff -u -r1.4 -r1.5 \
    src/sys/external/bsd/vchiq/dist/interface/vchiq_arm/vchiq_if.h
cvs rdiff -u -r1.8 -r1.9 \
    src/sys/external/bsd/vchiq/dist/interface/vchiq_arm/vchiq_shim.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.