On 14-01-20, 10:56, Arnd Bergmann wrote:
My point was that you cannot mix __iomem accesses with pointer
accesses. As I understood it, the current version uses a pointer to a
The current version is stupid as I misunderstood the whole __iomem
thing and just dropped it :)
hardware mailbox with structured data, so you have to use ioremap()
to get a token you can pass into ioread(), but (some of) the new
transport types would just be backed by regular RAM, on which this
is not a well-defined operation and you have to use memremap()
and memcpy() instead.
Okay, I think I understand that a bit now. So here are the things
which I may need to do now:
- Maybe move payload to struct scmi_mailbox structure, as that is the
transport dependent structure..
- Do ioremap, etc in mailbox.c only instead of driver.c
- Provide more ops in struct scmi_transport_ops to provide read/write
helpers to the payload and implement the ones based on
ioread/iowrite in mailbox.c ..
Am I thinking in the right direction now ?
--
viresh
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel