On 23 August 2016 at 21:59, David Daney <ddaney@xxxxxxxxxxxxxxxxxx> wrote: > On 08/23/2016 12:46 PM, Ulf Hansson wrote: >> >> On 23 August 2016 at 19:41, David Daney <ddaney@xxxxxxxxxxxxxxxxxx> wrote: >>> >>> On 08/23/2016 07:53 AM, Ulf Hansson wrote: >>>> >>>> >>>> On 12 July 2016 at 20:18, Steven J. Hill <steven.hill@xxxxxxxxxx> wrote: >>> >>> >>> [...] >>> >>>>> +#include <asm/byteorder.h> >>>>> +#include <asm/octeon/octeon.h> >>>> >>>> >>>> >>> >>> OK, we will duplicate any needed definitions from octeon.h into the >>> driver >>> source file. >> >> >> Why can't you share it via a platfrom data header at >> include/linux/platform_data/* ? >> > > It isn't "platform_data", it is register layout definitions (thousands of > lines of them), so I don't think it it appropriate to place in > include/linux. > > I think the cleanest approach is to put the register definitions in the > driver file, which is the only user, and delete the definition header files > in arch/mips/include/... > > David. I guess we are not looking at the same header file. :-) arch/mips/include/asm/octeon/octeon.h contains declarations of functions/structs and even globally exported variables. At a closer look this header need a serious cleanup anyway... * Some of the functions/structs are not used or even implemented. ** Some of the functions/structs is used only internally by the SoC specific code, thus should be moved to a local header. *** Some of the functions/structs/exported variables is being used by several clients. The cavium mmc driver is only one of them. Kind regards Uffe