On 02/14/2019 06:28 PM, Heikki Krogerus wrote: >>>>> +static int tps6598x_check_mode(struct tps6598x *tps) >>>>> +{ >>>>> + char mode[5] = { }; >>>>> + int ret; >>>>> + >>>>> + ret = tps6598x_read32(tps, TPS_REG_MODE, (void *)mode); >>>> >>>> Casting pointers to 'void *' happens automagically, doesn't i? >>> >>> The third parameter in tps6598x_read32() is 'u32 *'. >> >> Then why cast to 'void *'? > > Because if we don't cast: > > drivers/usb/typec/tps6598x.c:408:43: error: passing argument 3 of ‘tps6598x_read32’ from incompatible pointer type Why not cast to 'u32 *', I meant? MBR, Sergei