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

Lothar Waßmann LW at KARO-electronics.de
Mon Oct 7 04:17:03 EDT 2013


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 at pengutronix.de> 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 at karo-electronics.de
___________________________________________________________



More information about the linux-arm-kernel mailing list