On čtvrtek 7. března 2019 15:43:56 CET, Jan Kundrát wrote:
That commit only made sense when there were more per-child options such
as per-slave interword delay, perhaps obtained via DT. That never
happened. Instead, the inter-word delay feature got implemented during
the 5.1 cycle, but it works on a per-transfer basis rather than
per-child. This means that it is quite likely that we won't be stashing
more per-child options in that struct, and I can clean up after myself.
Sorry for noise.
This reverts commit 5c22af7eeb265413b80eb8e03ae708e1b222728c.
---
drivers/spi/spi-orion.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/drivers/spi/spi-orion.c b/drivers/spi/spi-orion.c
index eb70a9dc31ac..7d2e9bcc8b30 100644
--- a/drivers/spi/spi-orion.c
+++ b/drivers/spi/spi-orion.c
@@ -91,10 +91,6 @@ struct orion_direct_acc {
u32 size;
};
-struct orion_child_options {
- struct orion_direct_acc direct_access;
-};
-
struct orion_spi {
struct spi_master *master;
void __iomem *base;
@@ -103,7 +99,7 @@ struct orion_spi {
const struct orion_spi_dev *devdata;
int unused_hw_gpio;
- struct orion_child_options child[ORION_NUM_CHIPSELECTS];
+ struct orion_direct_acc direct_access[ORION_NUM_CHIPSELECTS];
};
static inline void __iomem *spi_reg(struct orion_spi *orion_spi, u32 reg)
@@ -442,7 +438,7 @@ orion_spi_write_read(struct spi_device
*spi, struct spi_transfer *xfer)
* Use SPI direct write mode if base address is available. Otherwise
* fall back to PIO mode for this transfer.
*/
- vaddr = orion_spi->child[cs].direct_access.vaddr;
+ vaddr = orion_spi->direct_access[cs].vaddr;
if (vaddr && xfer->tx_buf && word_len == 8) {
unsigned int cnt = count / 4;
@@ -687,7 +683,6 @@ static int orion_spi_probe(struct platform_device *pdev)
}
for_each_available_child_of_node(pdev->dev.of_node, np) {
- struct orion_direct_acc *dir_acc;
u32 cs;
int cs_gpio;
@@ -755,13 +750,14 @@ static int orion_spi_probe(struct
platform_device *pdev)
* This needs to get extended for the direct SPI-NOR / SPI-NAND
* support, once this gets implemented.
*/
- dir_acc = &spi->child[cs].direct_access;
- dir_acc->vaddr = devm_ioremap(&pdev->dev, r->start, PAGE_SIZE);
- if (!dir_acc->vaddr) {
+ spi->direct_access[cs].vaddr = devm_ioremap(&pdev->dev,
+ r->start,
+ PAGE_SIZE);
+ if (!spi->direct_access[cs].vaddr) {
status = -ENOMEM;
goto out_rel_axi_clk;
}
- dir_acc->size = PAGE_SIZE;
+ spi->direct_access[cs].size = PAGE_SIZE;
dev_info(&pdev->dev, "CS%d configured for direct access\n", cs);
}
Signed-off-by: Jan Kundrát <jan.kundrat@xxxxxxxxx>
Sorry for not including this tag. If this is not enough, I'll resend.
With kind regards,
Jan