net: Replace all spi->chip_select and spi->cs_gpiod references with function call
authorAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
Fri, 10 Mar 2023 17:32:04 +0000 (23:02 +0530)
committerMark Brown <broonie@kernel.org>
Sat, 11 Mar 2023 12:34:02 +0000 (12:34 +0000)
Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
members of struct spi_device to be an array. But changing the type of these
members to array would break the spi driver functionality. To make the
transition smoother introduced four new APIs to get/set the
spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
spi->cs_gpiod references with get or set API calls.
While adding multi-cs support in further patches the chip_select & cs_gpiod
members of the spi_device structure would be converted to arrays & the
"idx" parameter of the APIs would be used as array index i.e.,
spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.

Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20230310173217.3429788-3-amit.kumar-mahapatra@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/net/ethernet/adi/adin1110.c
drivers/net/ethernet/asix/ax88796c_main.c
drivers/net/ethernet/davicom/dm9051.c
drivers/net/ethernet/qualcomm/qca_debug.c
drivers/net/ieee802154/ca8210.c
drivers/net/wan/slic_ds26522.c
drivers/net/wireless/marvell/libertas/if_spi.c
drivers/net/wireless/silabs/wfx/bus_spi.c
drivers/net/wireless/st/cw1200/cw1200_spi.c

index 3f316a0f41580c47372b435d19061f6d6d6a184d..f5c2d7a9abc10f6a4f6656faa69c6ca9512b97bb 100644 (file)
@@ -515,7 +515,7 @@ static int adin1110_register_mdiobus(struct adin1110_priv *priv,
                return -ENOMEM;
 
        snprintf(priv->mii_bus_name, MII_BUS_ID_SIZE, "%s-%u",
-                priv->cfg->name, priv->spidev->chip_select);
+                priv->cfg->name, spi_get_chipselect(priv->spidev, 0));
 
        mii_bus->name = priv->mii_bus_name;
        mii_bus->read = adin1110_mdio_read;
index 21376c79f67118db71ac06966bcdd226b57e3b82..e551ffaed20d5abb88cac7446b1517a9ec135129 100644 (file)
@@ -1006,7 +1006,7 @@ static int ax88796c_probe(struct spi_device *spi)
        ax_local->mdiobus->parent = &spi->dev;
 
        snprintf(ax_local->mdiobus->id, MII_BUS_ID_SIZE,
-                "ax88796c-%s.%u", dev_name(&spi->dev), spi->chip_select);
+                "ax88796c-%s.%u", dev_name(&spi->dev), spi_get_chipselect(spi, 0));
 
        ret = devm_mdiobus_register(&spi->dev, ax_local->mdiobus);
        if (ret < 0) {
index de7105a847479af067c50ba830c74d3fcbf14390..70728b2e5f18c63ae29128f4c4a1b36d1b9b126d 100644 (file)
@@ -1123,7 +1123,7 @@ static int dm9051_mdio_register(struct board_info *db)
        db->mdiobus->phy_mask = (u32)~BIT(1);
        db->mdiobus->parent = &spi->dev;
        snprintf(db->mdiobus->id, MII_BUS_ID_SIZE,
-                "dm9051-%s.%u", dev_name(&spi->dev), spi->chip_select);
+                "dm9051-%s.%u", dev_name(&spi->dev), spi_get_chipselect(spi, 0));
 
        ret = devm_mdiobus_register(&spi->dev, db->mdiobus);
        if (ret)
index f62c39544e08601b62f3056e89ad4587b1c913a1..6f2fa2a42770aa2743f12cae7bae30408f731088 100644 (file)
@@ -119,7 +119,7 @@ qcaspi_info_show(struct seq_file *s, void *what)
        seq_printf(s, "SPI mode         : %x\n",
                   qca->spi_dev->mode);
        seq_printf(s, "SPI chip select  : %u\n",
-                  (unsigned int)qca->spi_dev->chip_select);
+                  (unsigned int)spi_get_chipselect(qca->spi_dev, 0));
        seq_printf(s, "SPI legacy mode  : %u\n",
                   (unsigned int)qca->legacy_mode);
        seq_printf(s, "SPI burst length : %u\n",
index e1a569b99e4a6a071acf0488070298134bd40aab..7093a07141bbdbd77e94b4974ebf5a0130ea8b34 100644 (file)
@@ -2967,7 +2967,7 @@ static int ca8210_test_interface_init(struct ca8210_priv *priv)
                sizeof(node_name),
                "ca8210@%d_%d",
                priv->spi->master->bus_num,
-               priv->spi->chip_select
+               spi_get_chipselect(priv->spi, 0)
        );
 
        test->ca8210_dfs_spi_int = debugfs_create_file(
index 6063552cea9b239ef853eaf5887c91aba0b836ac..8a51cfcff99e5288e0a258a1172d2e06f688068b 100644 (file)
@@ -211,7 +211,7 @@ static int slic_ds26522_probe(struct spi_device *spi)
 
        ret = slic_ds26522_init_configure(spi);
        if (ret == 0)
-               pr_info("DS26522 cs%d configured\n", spi->chip_select);
+               pr_info("DS26522 cs%d configured\n", spi_get_chipselect(spi, 0));
 
        return ret;
 }
index ff1c7ec8c450ba449d85085777b35667e64cff23..1225fc0e3352f5d055fdd5e733155b312005f043 100644 (file)
@@ -1051,7 +1051,7 @@ static int if_spi_init_card(struct if_spi_card *card)
                                "spi->max_speed_hz=%d\n",
                                card->card_id, card->card_rev,
                                card->spi->master->bus_num,
-                               card->spi->chip_select,
+                               spi_get_chipselect(card->spi, 0),
                                card->spi->max_speed_hz);
                err = if_spi_prog_helper_firmware(card, helper);
                if (err)
index 7fb1afb8ed31e57e935d611872811194d5846214..160b90114aad70406ee43d00eff0a5171f10b868 100644 (file)
@@ -208,7 +208,7 @@ static int wfx_spi_probe(struct spi_device *func)
 
        /* Trace below is also displayed by spi_setup() if compiled with DEBUG */
        dev_dbg(&func->dev, "SPI params: CS=%d, mode=%d bits/word=%d speed=%d\n",
-               func->chip_select, func->mode, func->bits_per_word, func->max_speed_hz);
+               spi_get_chipselect(func, 0), func->mode, func->bits_per_word, func->max_speed_hz);
        if (func->bits_per_word != 16 && func->bits_per_word != 8)
                dev_warn(&func->dev, "unusual bits/word value: %d\n", func->bits_per_word);
        if (func->max_speed_hz > 50000000)
index fe0d220da44d0e019967a3c219cdd8d6d8d9dc74..c82c0688b5490287dfeec20eec376f9acc52ae35 100644 (file)
@@ -378,7 +378,7 @@ static int cw1200_spi_probe(struct spi_device *func)
        func->mode = SPI_MODE_0;
 
        pr_info("cw1200_wlan_spi: Probe called (CS %d M %d BPW %d CLK %d)\n",
-               func->chip_select, func->mode, func->bits_per_word,
+               spi_get_chipselect(func, 0), func->mode, func->bits_per_word,
                func->max_speed_hz);
 
        if (cw1200_spi_on(plat_data)) {