On 10/1/20 1:43 AM, Heinrich Schuchardt wrote: > On 9/29/20 10:20 PM, Marek Vasut wrote: >> On 9/29/20 10:03 PM, Heinrich Schuchardt wrote: >>> void * can be assigned to any pointer variable. Avoid unnecessary >>> conversions. >>> >>> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> >>> --- >>> drivers/usb/host/xhci-mem.c | 21 +++++++++------------ >>> 1 file changed, 9 insertions(+), 12 deletions(-) >>> >>> diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c >>> index 1da0524aa0..4c303ae705 100644 >>> --- a/drivers/usb/host/xhci-mem.c >>> +++ b/drivers/usb/host/xhci-mem.c >>> @@ -280,10 +280,10 @@ static struct xhci_segment *xhci_segment_alloc(void) >>> { >>> struct xhci_segment *seg; >>> >>> - seg = (struct xhci_segment *)malloc(sizeof(struct xhci_segment)); >>> + seg = malloc(sizeof(struct xhci_segment)); >> >> As far as I remember, the compiler used to complain about assignment >> from a different type without a cast ? > > Under the ANSI C standard, the cast is redundant.
U-Boot isn't compiled with -ansi to my knowledge. > void * is an incomplete type. You can assign it to any pointer and any > pointer can be assigned to it, both without casting. > > For other data types you are right. GCC will not accept an assignment > without conversion. > > In C++ you need to cast to assign void * to other types. > >> btw. you might also do a patch which does malloc(sizeof(*seg)); while at it. > > Sure if you prefer that I will respin the patch. Separate patch is fine. I'll queue this one into next shortly.