[PATCH 4/7] staging: vchiq_core: Factor out bulk transfer for (no/)callback mode

Umang Jain umang.jain at ideasonboard.com
Sat Aug 31 08:05:04 PDT 2024


Hi Arnd

On 23/08/24 9:11 pm, Arnd Bergmann wrote:
> On Fri, Aug 23, 2024, at 15:14, Umang Jain wrote:
>
>> +int
>> +bulk_xfer_callback_interruptible(struct vchiq_instance *instance,
>> unsigned int handle,
>> +				 void *offset, void __user *uoffset, int size,
>> +				 enum vchiq_bulk_mode mode, void *userdata,
>> +				 enum vchiq_bulk_dir dir)
> It seems you can also tighten the argument types here a bit more:
>
> - uoffset is always NULL and can be left out

Not true.

in vchiq_dev.c. it is not NULL

This should ideally be split off even more, for in-kernel usage (using 
the kernel pointers only) and for ioctl interface (that uses __user pointer)
> - userdata is either NULL or a struct mmal_msg_context, so you can use
>    that type directly.

It can be NULL, struct mmal_msg_context or a integer pointer - if coming 
through ioctl interface (vchiq_dev.c)

(Checked via checking vchiq_test code)

>
>       Arnd




More information about the linux-arm-kernel mailing list