There is no need to make a kzalloc just for 16 bytes. Let's embed the data into the main data structure. Now that we are at it, lets remove all the castings and open coding of offsets for it. [Christoph, do you think dma wise we are violating any non written rules? :) thanks] Cc: Christoph Hellwig <hch@xxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx To: Ming Lei <tom.leiming@xxxxxxxxx> To: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> To: Yunke Cao <yunkec@xxxxxxxxxxxx> To: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> To: Max Staudt <mstaudt@xxxxxxxxxxxx> To: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> To: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Cc: linux-media@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> --- Changes in v3: - Split the patch in two - Add linux-usb, Alan and Christoph for the allocation change. - Link to v2: https://lore.kernel.org/r/20221214-uvc-status-alloc-v2-0-3f1cba6fc734@xxxxxxxxxxxx Changes in v2: - using __aligned(), to keep the old alignment - Adding Johnathan Cameron to:, as he has some similar experience with iio - Adding Ming Lei, as this patch kind of revert his patch - Link to v1: https://lore.kernel.org/r/20221214-uvc-status-alloc-v1-0-a0098ddc7c93@xxxxxxxxxxxx --- Ricardo Ribalda (2): media: uvcvideo: Remove void casting for the status endpoint media: uvcvideo: Do not alloc dev->status drivers/media/usb/uvc/uvc_status.c | 69 ++++++++++++-------------------------- drivers/media/usb/uvc/uvcvideo.h | 29 ++++++++++++++-- 2 files changed, 47 insertions(+), 51 deletions(-) --- base-commit: 0ec5a38bf8499f403f81cb81a0e3a60887d1993c change-id: 20221214-uvc-status-alloc-93becb783898 Best regards, -- Ricardo Ribalda <ribalda@xxxxxxxxxxxx>