Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: fsl-espi: remove unused linearization code

After introducing direct transfers between hardware and transfer
buffers remove all code which is unused now.

This includes getting rid of the 64k linearization buffer.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Heiner Kallweit and committed by
Mark Brown
d54ef057 dcb425f3

-80
-80
drivers/spi/spi-fsl-espi.c
··· 95 95 struct device *dev; 96 96 void __iomem *reg_base; 97 97 98 - const void *tx; 99 - void *rx; 100 - 101 98 struct list_head *m_transfers; 102 99 struct spi_transfer *tx_t; 103 100 unsigned int tx_pos; ··· 104 107 bool rx_done; 105 108 106 109 bool swab; 107 - unsigned int rx_len; 108 - unsigned int tx_len; 109 110 unsigned int rxskip; 110 111 111 - u8 *local_buf; 112 112 spinlock_t lock; 113 113 114 114 u32 spibrg; /* SPIBRG input clock */ ··· 148 154 u8 val) 149 155 { 150 156 iowrite8(val, espi->reg_base + offset); 151 - } 152 - 153 - static void fsl_espi_memcpy_swab(void *to, const void *from, 154 - struct spi_message *m, 155 - struct spi_transfer *t) 156 - { 157 - struct fsl_espi *espi = spi_master_get_devdata(m->spi->master); 158 - unsigned int len = t->len; 159 - 160 - if (!espi->swab) { 161 - memcpy(to, from, len); 162 - return; 163 - } 164 - 165 - while (len) 166 - if (len >= 4) { 167 - *(u32 *)to = swahb32p(from); 168 - to += 4; 169 - from += 4; 170 - len -= 4; 171 - } else { 172 - *(u16 *)to = swab16p(from); 173 - to += 2; 174 - from += 2; 175 - len -= 2; 176 - } 177 - } 178 - 179 - static void fsl_espi_copy_to_buf(struct spi_message *m, 180 - struct fsl_espi *espi) 181 - { 182 - struct spi_transfer *t; 183 - u8 *buf = espi->local_buf; 184 - 185 - list_for_each_entry(t, &m->transfers, transfer_list) { 186 - if (t->tx_buf) 187 - fsl_espi_memcpy_swab(buf, t->tx_buf, m, t); 188 - /* In RXSKIP mode controller shifts out zeros internally */ 189 - else if (!espi->rxskip) 190 - memset(buf, 0, t->len); 191 - buf += t->len; 192 - } 193 - } 194 - 195 - static void fsl_espi_copy_from_buf(struct spi_message *m, 196 - struct fsl_espi *espi) 197 - { 198 - struct spi_transfer *t; 199 - u8 *buf = espi->local_buf; 200 - 201 - list_for_each_entry(t, &m->transfers, transfer_list) { 202 - if (t->rx_buf) 203 - fsl_espi_memcpy_swab(t->rx_buf, buf, m, t); 204 - buf += t->len; 205 - } 206 157 } 207 158 208 159 static int fsl_espi_check_message(struct spi_message *m) ··· 360 421 u32 mask, spcom; 361 422 int ret; 362 423 363 - espi->rx_len = t->len; 364 - espi->tx_len = t->len; 365 - 366 - espi->tx = t->tx_buf; 367 - espi->rx = t->rx_buf; 368 - 369 424 reinit_completion(&espi->done); 370 425 371 426 /* Set SPCOM[CS] and SPCOM[TRANLEN] field */ ··· 369 436 /* configure RXSKIP mode */ 370 437 if (espi->rxskip) { 371 438 spcom |= SPCOM_RXSKIP(espi->rxskip); 372 - espi->tx_len = espi->rxskip; 373 - espi->rx_len = t->len - espi->rxskip; 374 439 rx_len = t->len - espi->rxskip; 375 - espi->rx = t->rx_buf + espi->rxskip; 376 440 if (t->rx_nbits == SPI_NBITS_DUAL) 377 441 spcom |= SPCOM_DO; 378 442 } ··· 427 497 if (espi->rxskip) 428 498 espi->rx_t = list_next_entry(espi->rx_t, transfer_list); 429 499 430 - fsl_espi_copy_to_buf(m, espi); 431 500 fsl_espi_setup_transfer(spi, trans); 432 501 433 502 ret = fsl_espi_bufs(spi, trans); ··· 440 511 static int fsl_espi_do_one_msg(struct spi_master *master, 441 512 struct spi_message *m) 442 513 { 443 - struct fsl_espi *espi = spi_master_get_devdata(m->spi->master); 444 514 unsigned int delay_usecs = 0, rx_nbits = 0; 445 515 struct spi_transfer *t, trans = {}; 446 516 int ret; ··· 462 534 trans.speed_hz = t->speed_hz; 463 535 trans.bits_per_word = t->bits_per_word; 464 536 trans.delay_usecs = delay_usecs; 465 - trans.tx_buf = espi->local_buf; 466 - trans.rx_buf = espi->local_buf; 467 537 trans.rx_nbits = rx_nbits; 468 538 469 539 if (trans.len) ··· 698 772 master->max_speed_hz = DIV_ROUND_UP(espi->spibrg, 4); 699 773 700 774 init_completion(&espi->done); 701 - 702 - espi->local_buf = devm_kmalloc(dev, SPCOM_TRANLEN_MAX, GFP_KERNEL); 703 - if (!espi->local_buf) { 704 - ret = -ENOMEM; 705 - goto err_probe; 706 - } 707 775 708 776 espi->reg_base = devm_ioremap_resource(dev, mem); 709 777 if (IS_ERR(espi->reg_base)) {