On Fri, Jul 16, 2021 at 01:44:45PM -0700, Tom Rix wrote: > > On 7/16/21 6:54 AM, Martin Hundebøll wrote: > > From: Martin Hundebøll <mhu@xxxxxxxxxx> > > > > The Max10 BMC on the Silicom n5010 PAC is slightly different than the > > existing BMCs, so use a dedicated feature revision detect it. > > > > Signed-off-by: Martin Hundebøll <mhu@xxxxxxxxxx> > > Reviewed-by: Moritz Fischer <mdf@xxxxxxxxxx> > > --- > > > > Changes since v4: > > * Moved spi board_info structure from global/static scope > > to function/stack scope > > > > Changes since v3: > > * Changed "BMC's" to "BMCs" > > * Added Moritz' Reviewed-by > > > > Changes since v2: > > * None > > > > Changes since v1: > > * use feature revision from struct dfl_device instead of reading it > > from io-mem > > > > drivers/spi/spi-altera-dfl.c | 21 ++++++++++++--------- > > 1 file changed, 12 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/spi/spi-altera-dfl.c b/drivers/spi/spi-altera-dfl.c > > index 39a3e1a032e0..44fc9ee13fc7 100644 > > --- a/drivers/spi/spi-altera-dfl.c > > +++ b/drivers/spi/spi-altera-dfl.c > > @@ -104,13 +104,6 @@ static const struct regmap_config indirect_regbus_cfg = { > > .reg_read = indirect_bus_reg_read, > > }; > > -static struct spi_board_info m10_bmc_info = { > > - .modalias = "m10-d5005", > > - .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 +123,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 = { 0 }; > > struct device *dev = &dfl_dev->dev; > > struct spi_master *master; > > struct altera_spi *hw; > > @@ -170,9 +164,18 @@ 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) > > + strscpy(board_info.modalias, "m10-n5010", SPI_NAME_SIZE); > > + else > > + strscpy(board_info.modalias, "m10-d5005", SPI_NAME_SIZE); > > + > > + board_info.max_speed_hz = 12500000; > > + board_info.bus_num = 0; > > + board_info.chip_select = 0; > > + > > + 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); > > } > > Looks good to me. > > Reviewed-by: Tom Rix <trix@xxxxxxxxxx> > > > return 0; > Applied to for-next, Thanks