diff options
author | Mika Westerberg <mika.westerberg@linux.intel.com> | 2024-02-01 15:16:37 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-02-05 17:35:46 +0300 |
commit | e58db3bcd93b9e0bf5068a29f7e1a97c29926830 (patch) | |
tree | 76cdb15892a9b719910a3a99bbbb93ba1e6fd14f | |
parent | 88c2b56c2690061121cad03f0f551db465287575 (diff) | |
download | linux-e58db3bcd93b9e0bf5068a29f7e1a97c29926830.tar.xz |
spi: intel: Add default partition and name to the second chip
This should make it easier to identify the second chip and also allows
using "mtdparts=" and the like with this chip too.
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://lore.kernel.org/r/20240201121638.207632-1-mika.westerberg@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/spi/spi-intel.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/spi/spi-intel.c b/drivers/spi/spi-intel.c index 3654ae35d2db..467d39bf00b4 100644 --- a/drivers/spi/spi-intel.c +++ b/drivers/spi/spi-intel.c @@ -1346,6 +1346,7 @@ static int intel_spi_read_desc(struct intel_spi *ispi) static int intel_spi_populate_chip(struct intel_spi *ispi) { struct flash_platform_data *pdata; + struct mtd_partition *parts; struct spi_board_info chip; int ret; @@ -1376,7 +1377,23 @@ static int intel_spi_populate_chip(struct intel_spi *ispi) if (ispi->host->num_chipselect < 2) return 0; - chip.platform_data = NULL; + pdata = devm_kzalloc(ispi->dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) + return -ENOMEM; + + pdata->name = devm_kasprintf(ispi->dev, GFP_KERNEL, "%s-chip1", + dev_name(ispi->dev)); + pdata->nr_parts = 1; + parts = devm_kcalloc(ispi->dev, pdata->nr_parts, sizeof(*parts), + GFP_KERNEL); + if (!parts) + return -ENOMEM; + + parts[0].size = MTDPART_SIZ_FULL; + parts[0].name = "BIOS1"; + pdata->parts = parts; + + chip.platform_data = pdata; chip.chip_select = 1; if (!spi_new_device(ispi->host, &chip)) |