From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [xilinx-xlnx:lkp_test 436/504] drivers/spi/spi-xilinx.c:780 xilinx_spi_probe() error: uninitialized symbol 'cs_num'.
Date: Sun, 12 Jan 2025 02:50:52 +0800 [thread overview]
Message-ID: <202501120207.E1IAOF1M-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: git@amd.com
TO: Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
CC: Michal Simek <monstr@monstr.eu>
CC: Naga Sureshkumar Relli <naga.sureshkumar.relli@xilinx.com>
CC: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
CC: Tejas Prajapati Rameshchandra <tejaspra@xilinx.com>
CC: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
CC: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
CC: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
tree: https://github.com/Xilinx/linux-xlnx lkp_test
head: 9ac6b4acf9144465ac1408d4d799635dec0223a0
commit: 9ba98444ace4ce0cdef4aff15853a8961510016c [436/504] spi: spi-xilinx: Updated axi-qspi controller driver
:::::: branch date: 34 hours ago
:::::: commit date: 34 hours ago
config: i386-randconfig-141-20250111 (https://download.01.org/0day-ci/archive/20250112/202501120207.E1IAOF1M-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202501120207.E1IAOF1M-lkp@intel.com/
smatch warnings:
drivers/spi/spi-xilinx.c:780 xilinx_spi_probe() error: uninitialized symbol 'cs_num'.
vim +/cs_num +780 drivers/spi/spi-xilinx.c
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 582
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 583 /* This driver supports single master mode only. Hence Tx FIFO Empty
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 584 * is the only interrupt we care about.
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 585 * Receive FIFO Overrun, Transmit FIFO Underrun, Mode Fault, and Slave Mode
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 586 * Fault are not to happen.
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 587 */
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 588 static irqreturn_t xilinx_spi_irq(int irq, void *dev_id)
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 589 {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 590 struct spi_controller *ctlr = dev_id;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 591 struct xilinx_spi *xspi = spi_controller_get_devdata(dev_id);
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 592 u32 ipif_isr;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 593 u32 cr;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 594 irqreturn_t status = IRQ_NONE;
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 595
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 596 /* Get the IPIF interrupts, and clear them immediately */
86fc593599c11b6 drivers/spi/xilinx_spi.c Richard Röjfors 2009-11-13 597 ipif_isr = xspi->read_fn(xspi->regs + XIPIF_V123B_IISR_OFFSET);
86fc593599c11b6 drivers/spi/xilinx_spi.c Richard Röjfors 2009-11-13 598 xspi->write_fn(ipif_isr, xspi->regs + XIPIF_V123B_IISR_OFFSET);
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 599
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 600 cr = xspi->read_fn(xspi->regs + XSPI_CR_OFFSET);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 601 /* Enable master transaction inhibit */
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 602 cr |= XSPI_CR_TRANS_INHIBIT;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 603 xspi->write_fn(cr, xspi->regs + XSPI_CR_OFFSET);
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 604
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 605 if (ipif_isr & XSPI_INTR_TX_EMPTY) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 606 /* Transmission completed */
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 607 xspi->rx_fifo(xspi);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 608 if (xspi->bytes_to_transfer) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 609 /* There is more data to send */
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 610 xspi->tx_fifo(xspi);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 611 }
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 612 status = IRQ_HANDLED;
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 613 }
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 614
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 615 if (!xspi->bytes_to_receive && !xspi->bytes_to_transfer) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 616 /* Disable the interrupts here. */
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 617 xspi->write_fn(0x0, xspi->regs + XIPIF_V123B_DGIER_OFFSET);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 618 spi_finalize_current_transfer(ctlr);
4c9a761402d780b drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 619 }
4c9a761402d780b drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 620
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 621 /* Disable master transaction inhibit */
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 622 cr &= ~XSPI_CR_TRANS_INHIBIT;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 623 xspi->write_fn(cr, xspi->regs + XSPI_CR_OFFSET);
eae6cb31d890e28 drivers/spi/xilinx_spi.c Grant Likely 2010-10-14 624
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 625 return status;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 626 }
7cb2abd05fe1f9a drivers/spi/spi-xilinx.c Mark Brown 2013-07-05 627 static int xilinx_spi_probe(struct platform_device *pdev)
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 628 {
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 629 struct xilinx_spi *xspi;
ad3fdbcaf98dc12 drivers/spi/spi-xilinx.c Michal Simek 2013-07-08 630 struct resource *res;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 631 int ret;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 632 u32 num_cs = 0, bits_per_word = 8;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 633 u32 cs_num;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 634 struct spi_controller *ctlr;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 635 struct device_node *nc;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 636 u32 tmp, rx_bus_width, fifo_size;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 637 bool startup_block;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 638
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 639 if (of_property_read_u32(pdev->dev.of_node, "num-cs", &num_cs))
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 640 dev_info(&pdev->dev,
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 641 "Missing num-cs optional property, assuming default as <1>\n");
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 642 if (!num_cs)
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 643 num_cs = 1;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 644
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 645 if (num_cs > XILINX_SPI_MAX_CS) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 646 dev_err(&pdev->dev, "Invalid number of spi slaves\n");
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 647 return -EINVAL;
d81c0bbbf840865 drivers/spi/spi-xilinx.c Mark Brown 2013-07-03 648 }
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 649
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 650 startup_block = of_property_read_bool(pdev->dev.of_node,
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 651 "xlnx,startup-block");
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 652 ctlr = spi_alloc_master(&pdev->dev, sizeof(struct xilinx_spi));
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 653 if (!ctlr)
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 654 return -ENODEV;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 655
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 656 xspi = spi_controller_get_devdata(ctlr);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 657 ctlr->dev.of_node = pdev->dev.of_node;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 658 platform_set_drvdata(pdev, ctlr);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 659 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 660 xspi->regs = devm_ioremap_resource(&pdev->dev, res);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 661 if (IS_ERR(xspi->regs)) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 662 ret = PTR_ERR(xspi->regs);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 663 goto put_controller;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 664 }
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 665 ret = of_property_read_u32(pdev->dev.of_node, "fifo-size",
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 666 &fifo_size);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 667 if (ret < 0) {
7cb2abd05fe1f9a drivers/spi/spi-xilinx.c Mark Brown 2013-07-05 668 dev_err(&pdev->dev,
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 669 "Missing fifo size\n");
d81c0bbbf840865 drivers/spi/spi-xilinx.c Mark Brown 2013-07-03 670 return -EINVAL;
d81c0bbbf840865 drivers/spi/spi-xilinx.c Mark Brown 2013-07-03 671 }
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 672 if (of_property_read_u32(pdev->dev.of_node, "bits-per-word",
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 673 &bits_per_word))
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 674 dev_info(&pdev->dev,
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 675 "Missing bits-per-word optional property, assuming default as <8>\n");
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 676
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 677 xspi->rx_bus_width = XSPI_ONE_BITS_PER_WORD;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 678 for_each_available_child_of_node(pdev->dev.of_node, nc) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 679 if (startup_block) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 680 ret = of_property_read_u32(nc, "reg",
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 681 &cs_num);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 682 if (ret < 0)
eb25f16c6f44693 drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 683 return -EINVAL;
eb25f16c6f44693 drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 684 }
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 685 ret = of_property_read_u32(nc, "spi-rx-bus-width",
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 686 &rx_bus_width);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 687 if (!ret) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 688 xspi->rx_bus_width = rx_bus_width;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 689 break;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 690 }
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 691 }
eb25f16c6f44693 drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 692
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 693 ret = devm_clk_bulk_get_all(&pdev->dev, &xspi->clks);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 694 if (ret < 0)
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 695 return ret;
e7db06b5d5afcef drivers/spi/xilinx_spi.c David Brownell 2009-06-17 696
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 697 xspi->num_clocks = ret;
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 698
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 699 pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 700 pm_runtime_use_autosuspend(&pdev->dev);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 701 pm_runtime_enable(&pdev->dev);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 702 ret = pm_runtime_get_sync(&pdev->dev);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 703 if (ret < 0)
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 704 goto runtime_disable;
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 705
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 706 xspi->dev = &pdev->dev;
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 707
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 708 /*
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 709 * Detect endianess on the IP via loop bit in CR. Detection
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 710 * must be done before reset is sent because incorrect reset
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 711 * value generates error interrupt.
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 712 * Setup little endian helper functions first and try to use them
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 713 * and check if bit was correctly setup or not.
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 714 */
0635287a308d38b drivers/spi/spi-xilinx.c Mark Brown 2015-01-30 715 xspi->read_fn = xspi_read32;
0635287a308d38b drivers/spi/spi-xilinx.c Mark Brown 2015-01-30 716 xspi->write_fn = xspi_write32;
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 717
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 718 xspi->write_fn(XSPI_CR_LOOP, xspi->regs + XSPI_CR_OFFSET);
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 719 tmp = xspi->read_fn(xspi->regs + XSPI_CR_OFFSET);
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 720 tmp &= XSPI_CR_LOOP;
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 721 if (tmp != XSPI_CR_LOOP) {
0635287a308d38b drivers/spi/spi-xilinx.c Mark Brown 2015-01-30 722 xspi->read_fn = xspi_read32_be;
0635287a308d38b drivers/spi/spi-xilinx.c Mark Brown 2015-01-30 723 xspi->write_fn = xspi_write32_be;
86fc593599c11b6 drivers/spi/xilinx_spi.c Richard Röjfors 2009-11-13 724 }
082339bc63cccf8 drivers/spi/spi-xilinx.c Michal Simek 2013-06-04 725
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 726 xspi->buffer_size = fifo_size;
7b3b7432ae7848a drivers/spi/spi-xilinx.c Michal Simek 2013-07-09 727 xspi->irq = platform_get_irq(pdev, 0);
4db9bf548bb00d8 drivers/spi/spi-xilinx.c Lars-Peter Clausen 2016-07-15 728 if (xspi->irq < 0 && xspi->irq != -ENXIO) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 729 ret = xspi->irq;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 730 goto clk_unprepare_all;
4db9bf548bb00d8 drivers/spi/spi-xilinx.c Lars-Peter Clausen 2016-07-15 731 } else if (xspi->irq >= 0) {
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 732 /* Register for SPI Interrupt */
7b3b7432ae7848a drivers/spi/spi-xilinx.c Michal Simek 2013-07-09 733 ret = devm_request_irq(&pdev->dev, xspi->irq, xilinx_spi_irq, 0,
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 734 dev_name(&pdev->dev), ctlr);
d5af91a1faca68e drivers/spi/xilinx_spi.c Richard Röjfors 2009-11-13 735 if (ret)
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 736 goto clk_unprepare_all;
5fe11cc09ce81b0 drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 737 }
5fe11cc09ce81b0 drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 738
5fe11cc09ce81b0 drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 739 /* SPI controller initializations */
5fe11cc09ce81b0 drivers/spi/spi-xilinx.c Ricardo Ribalda 2015-01-28 740 xspi_init_hw(xspi);
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 741
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 742 pm_runtime_put(&pdev->dev);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 743
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 744 ctlr->bus_num = pdev->id;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 745 ctlr->num_chipselect = num_cs;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 746 ctlr->setup = xspi_setup;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 747 ctlr->set_cs = xspi_chipselect;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 748 ctlr->transfer_one = xspi_start_transfer;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 749 ctlr->prepare_transfer_hardware = xspi_prepare_transfer_hardware;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 750 ctlr->unprepare_transfer_hardware = xspi_unprepare_transfer_hardware;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 751 ctlr->bits_per_word_mask = SPI_BPW_MASK(bits_per_word);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 752 ctlr->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 753
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 754 xspi->bytes_per_word = bits_per_word / 8;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 755 xspi->tx_fifo = xspi_fill_tx_fifo_8;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 756 xspi->rx_fifo = xspi_read_rx_fifo_8;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 757 if (xspi->rx_bus_width == XSPI_RX_ONE_WIRE) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 758 if (xspi->bytes_per_word == XSPI_TWO_BITS_PER_WORD) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 759 xspi->tx_fifo = xspi_fill_tx_fifo_16;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 760 xspi->rx_fifo = xspi_read_rx_fifo_16;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 761 } else if (xspi->bytes_per_word == XSPI_FOUR_BITS_PER_WORD) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 762 xspi->tx_fifo = xspi_fill_tx_fifo_32;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 763 xspi->rx_fifo = xspi_read_rx_fifo_32;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 764 }
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 765 } else if (xspi->rx_bus_width == XSPI_RX_FOUR_WIRE) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 766 ctlr->mode_bits |= SPI_TX_QUAD | SPI_RX_QUAD;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 767 } else {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 768 dev_err(&pdev->dev, "Dual Mode not supported\n");
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 769 goto clk_unprepare_all;
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 770 }
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 771 xspi->cs_inactive = 0xffffffff;
ae918c02d365c88 drivers/spi/xilinx_spi.c Andrei Konovalov 2007-07-17 772
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 773 /*
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 774 * This is the work around for the startup block issue in
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 775 * the spi controller. SPI clock is passing through STARTUP
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 776 * block to FLASH. STARTUP block don't provide clock as soon
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 777 * as QSPI provides command. So first command fails.
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 778 */
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 779 if (startup_block)
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 @780 xilinx_spi_startup_block(xspi, cs_num);
8fd8821b62397f8 drivers/spi/xilinx_spi.c Grant Likely 2010-10-14 781
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 782 ret = spi_register_controller(ctlr);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 783 if (ret) {
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 784 dev_err(&pdev->dev, "spi_register_controller failed\n");
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 785 goto clk_unprepare_all;
eae6cb31d890e28 drivers/spi/xilinx_spi.c Grant Likely 2010-10-14 786 }
eae6cb31d890e28 drivers/spi/xilinx_spi.c Grant Likely 2010-10-14 787
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 788 return ret;
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 789
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 790 clk_unprepare_all:
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 791 pm_runtime_put_sync(&pdev->dev);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 792 runtime_disable:
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 793 pm_runtime_disable(&pdev->dev);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 794 pm_runtime_set_suspended(&pdev->dev);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 795 put_controller:
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 796 spi_controller_put(ctlr);
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 797
9ba98444ace4ce0 drivers/spi/spi-xilinx.c Amit Kumar Mahapatra 2024-12-05 798 return ret;
eae6cb31d890e28 drivers/spi/xilinx_spi.c Grant Likely 2010-10-14 799 }
eae6cb31d890e28 drivers/spi/xilinx_spi.c Grant Likely 2010-10-14 800
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2025-01-11 18:51 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202501120207.E1IAOF1M-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.