On Sat, Apr 27, 2024 at 09:19:34PM +0200, Ramón Nordin Rodriguez wrote: > Hi, > > For me the mac driver fails to probe with the following log > [ 0.123325] SPI driver lan865x has no spi_device_id for microchip,lan8651 > > With this change the driver probes > > diff --git a/drivers/net/ethernet/microchip/lan865x/lan865x.c b/drivers/net/ethernet/microchip/lan865x/lan865x.c > index 9abefa8b9d9f..72a663f14f50 100644 > --- a/drivers/net/ethernet/microchip/lan865x/lan865x.c > +++ b/drivers/net/ethernet/microchip/lan865x/lan865x.c > @@ -364,7 +364,7 @@ static void lan865x_remove(struct spi_device *spi) > } > > static const struct of_device_id lan865x_dt_ids[] = { > - { .compatible = "microchip,lan8651", "microchip,lan8650" }, > + { .compatible = "microchip,lan865x", "microchip,lan8650" }, > { /* Sentinel */ } > }; The device tree binding says: + compatible: + oneOf: + - const: microchip,lan8650 + - items: + - const: microchip,lan8651 + - const: microchip,lan8650 So your DT node should either be: compatible = "microchip,lan8651", "microchip,lan8650"; or compatible = "microchip,lan8650" There is no mention of lan865x in the binding, so this patch is clearly wrong. What do you have in your DT node? Andrew