
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.glpk@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.
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.
Best regards
Heinrich