[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