It is good to me. On Fri, Jun 25, 2021 at 09:42:11AM +0200, Martin Hundebøll wrote: > From: Martin Hundebøll <mhu@xxxxxxxxxx> > > The Max10 BMC on the Silicom n5010 PAC is slightly different than the > existing BMC's, so use a dedicated feature revision detect it. > > Signed-off-by: Martin Hundebøll <mhu@xxxxxxxxxx> > --- > > Changes since v1: > * use feature revision from struct dfl_device instead of reading it > from io-mem > > drivers/spi/spi-altera-dfl.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-altera-dfl.c b/drivers/spi/spi-altera-dfl.c > index 3e32e4fe5895..f6cf7c8d9dac 100644 > --- a/drivers/spi/spi-altera-dfl.c > +++ b/drivers/spi/spi-altera-dfl.c > @@ -111,6 +111,13 @@ static struct spi_board_info m10_bmc_info = { > .chip_select = 0, > }; > > +static struct spi_board_info m10_n5010_bmc_info = { > + .modalias = "m10-n5010", > + .max_speed_hz = 12500000, > + .bus_num = 0, > + .chip_select = 0, > +}; > + > static void config_spi_master(void __iomem *base, struct spi_master *master) > { > u64 v; > @@ -130,6 +137,7 @@ static void config_spi_master(void __iomem *base, struct spi_master *master) > > static int dfl_spi_altera_probe(struct dfl_device *dfl_dev) > { > + struct spi_board_info *board_info = &m10_bmc_info; > struct device *dev = &dfl_dev->dev; > struct spi_master *master; > struct altera_spi *hw; > @@ -172,9 +180,12 @@ static int dfl_spi_altera_probe(struct dfl_device *dfl_dev) > goto exit; > } > > - if (!spi_new_device(master, &m10_bmc_info)) { > + if (dfl_dev->revision == FME_FEATURE_REV_MAX10_SPI_N5010) > + board_info = &m10_n5010_bmc_info; > + > + if (!spi_new_device(master, board_info)) { > dev_err(dev, "%s failed to create SPI device: %s\n", > - __func__, m10_bmc_info.modalias); > + __func__, board_info->modalias); > } > > return 0; > -- > 2.31.0