> Arnd Bergmann <arnd@xxxxxxxx> hat am 2. Februar 2018 um 16:01 geschrieben: > > > There are two incompatible definitions of 'vchiq_instance_struct', so > passing them through vchiq_initialise(), vchiq_connect() or another > such interface is broken, as shown by building the driver with link-time > optimizations: > > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_if.h:129:0: error: type of 'vchiq_initialise' does not match original declaration [-Werror=lto-type-mismatch] > extern VCHIQ_STATUS_T vchiq_initialise(VCHIQ_INSTANCE_T *pinstance); > > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c:68:0: note: 'vchiq_initialise' was previously declared here > VCHIQ_STATUS_T vchiq_initialise(VCHIQ_INSTANCE_T *instance_out) > > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c:68:0: note: code may be misoptimized unless -fno-strict-aliasing is used > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_if.h:131:0: error: type of 'vchiq_connect' does not match original declaration [-Werror=lto-type-mismatch] > extern VCHIQ_STATUS_T vchiq_connect(VCHIQ_INSTANCE_T instance); > > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c:168:0: note: 'vchiq_connect' was previously declared here > VCHIQ_STATUS_T vchiq_connect(VCHIQ_INSTANCE_T instance) > > It's possible that only one of the two sides actually access the members, > but it's clear that they need to agree on the layout. The easiest way > to achieve this appears to be to merge the two files into one. I tried > moving the structure definition into a shared header first, but ended > up running into too many interdependencies that way. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Stefan Wahren <stefan.wahren@xxxxxxxx> _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel