On 01/19/2023 10:53 AM, 'Amit Kumar Mahapatra' via BCM-KERNEL-FEEDBACK-LIST,PDL wrote: > diff --git a/drivers/spi/spi-bcm63xx-hsspi.c > b/drivers/spi/spi-bcm63xx-hsspi.c > index b871fd810d80..dc179c4677d4 100644 > --- a/drivers/spi/spi-bcm63xx-hsspi.c > +++ b/drivers/spi/spi-bcm63xx-hsspi.c > @@ -130,7 +130,7 @@ static void bcm63xx_hsspi_set_cs(struct bcm63xx_hsspi > *bs, unsigned int cs, > static void bcm63xx_hsspi_set_clk(struct bcm63xx_hsspi *bs, > struct spi_device *spi, int hz) > { > - unsigned int profile = spi->chip_select; > + unsigned int profile = spi_get_chipselect(spi, 0); > u32 reg; > > reg = DIV_ROUND_UP(2048, DIV_ROUND_UP(bs->speed_hz, hz)); > @@ -157,7 +157,7 @@ static void bcm63xx_hsspi_set_clk(struct bcm63xx_hsspi > *bs, > static int bcm63xx_hsspi_do_txrx(struct spi_device *spi, struct > spi_transfer *t) > { > struct bcm63xx_hsspi *bs = spi_master_get_devdata(spi->master); > - unsigned int chip_select = spi->chip_select; > + unsigned int chip_select = spi_get_chipselect(spi, 0); > u16 opcode = 0; > int pending = t->len; > int step_size = HSSPI_BUFFER_LEN; > @@ -165,7 +165,7 @@ static int bcm63xx_hsspi_do_txrx(struct spi_device > *spi, struct spi_transfer *t) > u8 *rx = t->rx_buf; > > bcm63xx_hsspi_set_clk(bs, spi, t->speed_hz); > - bcm63xx_hsspi_set_cs(bs, spi->chip_select, true); > + bcm63xx_hsspi_set_cs(bs, spi_get_chipselect(spi, 0), true); > > if (tx && rx) > opcode = HSSPI_OP_READ_WRITE; > @@ -228,14 +228,14 @@ static int bcm63xx_hsspi_setup(struct spi_device > *spi) > u32 reg; > > reg = __raw_readl(bs->regs + > - HSSPI_PROFILE_SIGNAL_CTRL_REG(spi->chip_select)); > + HSSPI_PROFILE_SIGNAL_CTRL_REG(spi_get_chipselect(spi, 0))); > reg &= ~(SIGNAL_CTRL_LAUNCH_RISING | SIGNAL_CTRL_LATCH_RISING); > if (spi->mode & SPI_CPHA) > reg |= SIGNAL_CTRL_LAUNCH_RISING; > else > reg |= SIGNAL_CTRL_LATCH_RISING; > __raw_writel(reg, bs->regs + > - HSSPI_PROFILE_SIGNAL_CTRL_REG(spi->chip_select)); > + HSSPI_PROFILE_SIGNAL_CTRL_REG(spi_get_chipselect(spi, 0))); > > mutex_lock(&bs->bus_mutex); > reg = __raw_readl(bs->regs + HSSPI_GLOBAL_CTRL_REG); > @@ -243,16 +243,16 @@ static int bcm63xx_hsspi_setup(struct spi_device > *spi) > /* only change actual polarities if there is no transfer */ > if ((reg & GLOBAL_CTRL_CS_POLARITY_MASK) == bs->cs_polarity) { > if (spi->mode & SPI_CS_HIGH) > - reg |= BIT(spi->chip_select); > + reg |= BIT(spi_get_chipselect(spi, 0)); > else > - reg &= ~BIT(spi->chip_select); > + reg &= ~BIT(spi_get_chipselect(spi, 0)); > __raw_writel(reg, bs->regs + HSSPI_GLOBAL_CTRL_REG); > } > > if (spi->mode & SPI_CS_HIGH) > - bs->cs_polarity |= BIT(spi->chip_select); > + bs->cs_polarity |= BIT(spi_get_chipselect(spi, 0)); > else > - bs->cs_polarity &= ~BIT(spi->chip_select); > + bs->cs_polarity &= ~BIT(spi_get_chipselect(spi, 0)); > > mutex_unlock(&bs->bus_mutex); > > @@ -283,7 +283,7 @@ static int bcm63xx_hsspi_transfer_one(struct > spi_master *master, > * e. At the end restore the polarities again to their default values. > */ > > - dummy_cs = !spi->chip_select; > + dummy_cs = !spi_get_chipselect(spi, 0); > bcm63xx_hsspi_set_cs(bs, dummy_cs, true); > > list_for_each_entry(t, &msg->transfers, transfer_list) { > @@ -296,7 +296,7 @@ static int bcm63xx_hsspi_transfer_one(struct > spi_master *master, > spi_transfer_delay_exec(t); > > if (t->cs_change) > - bcm63xx_hsspi_set_cs(bs, spi->chip_select, false); > + bcm63xx_hsspi_set_cs(bs, spi_get_chipselect(spi, 0), false); > } > > mutex_lock(&bs->bus_mutex); For bcm63xx-hsspi driver, Acked-by: William Zhang