Re: [PATCH|RFC] of: let of_match_device() always return best match

From: Lothar WaÃmann
Date: Mon Oct 07 2013 - 04:17:28 EST


Hi,

Marc Kleine-Budde writes:
> On 10/05/2013 07:46 PM, Fabio Estevam wrote:
> > Hi Marc,
> >
> > On Thu, Oct 3, 2013 at 3:51 PM, Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> wrote:
> >
> >> For example:
> >>
> >> The imx28.dtsi gives this compatible string for its CAN core:
> >>
> >>> compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
> >>
> >> The flexcan driver defines:
> >>
> >>> static const struct of_device_id flexcan_of_match[] = {
> >>> { .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, },
> >>> { .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, },
> >>> { .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
> >>> { /* sentinel */ },
> >>> };
> >>
> >> The "p1010" was the first Freescale SoC with the flexcan core. But this SoC has
> >> a bug, so a workaround has to be enabled in the driver. The mx28 has this bug
> >> fixed, so we don't need this quite costly workaround.
> >
> > What about defining in imx28.dtsi:
> > compatible = "fsl,imx28-flexcan".
>
> It already works with changing only the driver.
>
IMO the change proposed by Fabio is much more sensible. If the imx28
implementation of the CAN controller is not compatible to p1010 (which
is obviously true) there is no point in having the "fsl,p1010-flexcan"
in the DT for imx28.


Lothar WaÃmann
--
___________________________________________________________

Ka-Ro electronics GmbH | PascalstraÃe 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
GeschÃftsfÃhrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | info@xxxxxxxxxxxxxxxxxxx
___________________________________________________________
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/