Removing the BROKEN condition on vc04_services/vchiq?

Michael Zoran mzoran at crowfest.net
Wed Oct 26 23:38:24 PDT 2016


On Thu, 2016-10-27 at 07:36 +0200, Greg KH wrote:
>> > In file included from
> >
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c:34:0:
> > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c: In
> > function ‘parse_rx_slots’:
> >
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c:1622:2
> 9:
> > warning: cast from pointer to integer of different size [-Wpointer-
> to-
> > int-cast]
> >    DEBUG_VALUE(PARSE_HEADER, (int)header);
> >                              ^
> >
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:189:33
> :
> > note: in definition of macro ‘DEBUG_VALUE’
> >   do { debug_ptr[DEBUG_ ## d] = (v); dsb(sy); } while (0)
> >                                  ^
> 
> why does the firmware care or matter about this?
> 

I need to investigate it more, but I think the firmware and the driver
have a shared logging mechanism.  I think it might be used in Raspbian
to get the boot error logs from the pre-boot environment.

At any rate, it's in the shared memory between the firmware and the
kernel, and if I remove that part of the shared structure or change the
size of any of the fields, the whole driver breaks.

If it's important to have 0 warnings, I can probably just #ifdef out
that 1 line, or remove the warning by casting it to a long first.





More information about the linux-rpi-kernel mailing list