On Mon, 17 Jul 2023 12:06:38 +0800 Matt Johnston wrote: > +/* Returns the 48 bit Provisioned Id from an i3c_device_info.pid */ > +static void pid_to_addr(u64 pid, u8 addr[PID_SIZE]) > +{ > + pid = cpu_to_be64(pid); > + memcpy(addr, ((u8 *)&pid) + 2, PID_SIZE); > +} put_unaligned_be48() ? That or you need a local variable or something, because otherwise sparse is not happy (build test with C=1).