On Thu, Feb 14, 2019 at 06:22:12PM +0300, Sergei Shtylyov wrote: > On 02/14/2019 03:12 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 -- heikki