Commit e358784297992b012e8071764d996191dd2b1a54

Authored by Marc Kleine-Budde
1 parent d5a7b406c5

can: flexcan: fix mx28 detection by rearanging OF match table

The current implemetation of of_match_device() relies that the of_device_id
table in the driver is sorted from most specific to least specific compatible.

Without this patch the mx28 is detected as the less specific p1010. This leads
to a p1010 specific workaround is activated on the mx28, which is not needed.

Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>

Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff

drivers/net/can/flexcan.c
... ... @@ -985,9 +985,9 @@
985 985 }
986 986  
987 987 static const struct of_device_id flexcan_of_match[] = {
988   - { .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, },
989   - { .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, },
990 988 { .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
  989 + { .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, },
  990 + { .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, },
991 991 { /* sentinel */ },
992 992 };
993 993 MODULE_DEVICE_TABLE(of, flexcan_of_match);