RE: [PATCH v6 5/5] MIPS: ranchu: Add Ranchu as a new generic-based board

From: Miodrag Dinic
Date: Fri Nov 03 2017 - 10:10:14 EST


Hi Paul,

> > We can not remove the forward declaration because we need to define
> > __mips_mach_ranchu (which is done by MIPS_MACHINE(ranchu)) before ranchu_of_match.
>
> Why? Why do you need to set the struct of_device_id data field? The generic
> code only provides the match data to the machine fixup_fdt callback which you
> don't implement, so the value is never used.

Oooh, yes you are right. This was a leftover when we started porting Ranchu as a legacy platform.
We will fix it in V8. Thank you.

Kind regards,
Miodrag

________________________________________
From: Paul Burton [paul.burton@xxxxxxxx]
Sent: Thursday, November 2, 2017 9:49 PM
To: Miodrag Dinic
Cc: Aleksandar Markovic; linux-mips@xxxxxxxxxxxxxx; Goran Ferenc; Aleksandar Markovic; David S. Miller; Douglas Leung; Greg Kroah-Hartman; James Hogan; linux-kernel@xxxxxxxxxxxxxxx; Mauro Carvalho Chehab; Miodrag Dinic; Paul Burton; Petar Jovanovic; Raghu Gandham; Ralf Baechle; Randy Dunlap
Subject: Re: [PATCH v6 5/5] MIPS: ranchu: Add Ranchu as a new generic-based board

Hi Miodrag,

On Thu, Nov 02, 2017 at 06:47:05AM -0700, Miodrag Dinic wrote:
> > > +static const struct of_device_id ranchu_of_match[];
> > > +
> > > +MIPS_MACHINE(ranchu) = {
> > > + .matches = ranchu_of_match,
> > > + .measure_hpt_freq = ranchu_measure_hpt_freq,
> > > +};
> > > +
> > > +static const struct of_device_id ranchu_of_match[] = {
> > > + {
> > > + .compatible = "mti,ranchu",
> > > + .data = &__mips_mach_ranchu,
> > > + },
> > > +};
> >
> > Could you move ranchu_of_match before the MIPS_MACHINE & drop the forward
> > declaration? That would feel tidier to me. It could also be marked as
> > __initdata.
>
> We can not remove the forward declaration because we need to define
> __mips_mach_ranchu (which is done by MIPS_MACHINE(ranchu)) before ranchu_of_match.

Why? Why do you need to set the struct of_device_id data field? The generic
code only provides the match data to the machine fixup_fdt callback which you
don't implement, so the value is never used.

Thanks,
Paul