From: kernel test robot <lkp@intel.com> To: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>, Geert Uytterhoeven <geert+renesas@glider.be>, Rob Herring <robh+dt@kernel.org>, Fabrizio Castro <fabrizio.castro.jz@renesas.com>, Wolfgang Grandegger <wg@grandegger.com>, Marc Kleine-Budde <mkl@pengutronix.de>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Philipp Zabel <p.zabel@pengutronix.de>, linux-can@vger.kernel.org Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org, netdev@vger.kernel.org Subject: Re: [PATCH v3 2/3] can: rcar_canfd: Add support for RZ/G2L family Date: Sun, 25 Jul 2021 13:39:37 +0800 [thread overview] Message-ID: <202107251336.iD47PRoA-lkp@intel.com> (raw) In-Reply-To: <20210721194951.30983-3-prabhakar.mahadev-lad.rj@bp.renesas.com> [-- Attachment #1: Type: text/plain, Size: 10231 bytes --] Hi Lad, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on renesas-devel/next] [also build test WARNING on v5.14-rc2 next-20210723] [cannot apply to mkl-can-next/testing robh/for-next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Lad-Prabhakar/Renesas-RZ-G2L-CANFD-support/20210722-035332 base: https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next config: arm64-randconfig-r031-20210723 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 9625ca5b602616b2f5584e8a49ba93c52c141e40) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://github.com/0day-ci/linux/commit/082d605e73c5922419a736aa9ecd3a76c0241bf7 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Lad-Prabhakar/Renesas-RZ-G2L-CANFD-support/20210722-035332 git checkout 082d605e73c5922419a736aa9ecd3a76c0241bf7 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> drivers/net/can/rcar/rcar_canfd.c:1699:12: warning: cast to smaller integer type 'enum rcanfd_chip_id' from 'const void *' [-Wvoid-pointer-to-enum-cast] chip_id = (enum rcanfd_chip_id)of_device_get_match_data(&pdev->dev); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +1699 drivers/net/can/rcar/rcar_canfd.c 1686 1687 static int rcar_canfd_probe(struct platform_device *pdev) 1688 { 1689 void __iomem *addr; 1690 u32 sts, ch, fcan_freq; 1691 struct rcar_canfd_global *gpriv; 1692 struct device_node *of_child; 1693 unsigned long channels_mask = 0; 1694 int err, ch_irq, g_irq; 1695 int g_err_irq, g_recc_irq; 1696 bool fdmode = true; /* CAN FD only mode - default */ 1697 enum rcanfd_chip_id chip_id; 1698 > 1699 chip_id = (enum rcanfd_chip_id)of_device_get_match_data(&pdev->dev); 1700 1701 if (of_property_read_bool(pdev->dev.of_node, "renesas,no-can-fd")) 1702 fdmode = false; /* Classical CAN only mode */ 1703 1704 of_child = of_get_child_by_name(pdev->dev.of_node, "channel0"); 1705 if (of_child && of_device_is_available(of_child)) 1706 channels_mask |= BIT(0); /* Channel 0 */ 1707 1708 of_child = of_get_child_by_name(pdev->dev.of_node, "channel1"); 1709 if (of_child && of_device_is_available(of_child)) 1710 channels_mask |= BIT(1); /* Channel 1 */ 1711 1712 if (chip_id == RENESAS_RCAR_GEN3) { 1713 ch_irq = platform_get_irq_byname_optional(pdev, "ch_int"); 1714 if (ch_irq < 0) { 1715 /* For backward compatibility get irq by index */ 1716 ch_irq = platform_get_irq(pdev, 0); 1717 if (ch_irq < 0) 1718 return ch_irq; 1719 } 1720 1721 g_irq = platform_get_irq_byname_optional(pdev, "g_int"); 1722 if (g_irq < 0) { 1723 /* For backward compatibility get irq by index */ 1724 g_irq = platform_get_irq(pdev, 1); 1725 if (g_irq < 0) 1726 return g_irq; 1727 } 1728 } else { 1729 g_err_irq = platform_get_irq_byname(pdev, "g_err"); 1730 if (g_err_irq < 0) 1731 return g_err_irq; 1732 1733 g_recc_irq = platform_get_irq_byname(pdev, "g_recc"); 1734 if (g_recc_irq < 0) 1735 return g_recc_irq; 1736 } 1737 1738 /* Global controller context */ 1739 gpriv = devm_kzalloc(&pdev->dev, sizeof(*gpriv), GFP_KERNEL); 1740 if (!gpriv) { 1741 err = -ENOMEM; 1742 goto fail_dev; 1743 } 1744 gpriv->pdev = pdev; 1745 gpriv->channels_mask = channels_mask; 1746 gpriv->fdmode = fdmode; 1747 gpriv->chip_id = chip_id; 1748 1749 if (gpriv->chip_id == RENESAS_RZG2L) { 1750 gpriv->rstc1 = devm_reset_control_get_exclusive(&pdev->dev, "rstp_n"); 1751 if (IS_ERR(gpriv->rstc1)) 1752 return dev_err_probe(&pdev->dev, PTR_ERR(gpriv->rstc1), 1753 "failed to get rstp_n\n"); 1754 1755 gpriv->rstc2 = devm_reset_control_get_exclusive(&pdev->dev, "rstc_n"); 1756 if (IS_ERR(gpriv->rstc2)) 1757 return dev_err_probe(&pdev->dev, PTR_ERR(gpriv->rstc2), 1758 "failed to get rstc_n\n"); 1759 } 1760 1761 /* Peripheral clock */ 1762 gpriv->clkp = devm_clk_get(&pdev->dev, "fck"); 1763 if (IS_ERR(gpriv->clkp)) { 1764 err = PTR_ERR(gpriv->clkp); 1765 dev_err(&pdev->dev, "cannot get peripheral clock, error %d\n", 1766 err); 1767 goto fail_dev; 1768 } 1769 1770 /* fCAN clock: Pick External clock. If not available fallback to 1771 * CANFD clock 1772 */ 1773 gpriv->can_clk = devm_clk_get(&pdev->dev, "can_clk"); 1774 if (IS_ERR(gpriv->can_clk) || (clk_get_rate(gpriv->can_clk) == 0)) { 1775 gpriv->can_clk = devm_clk_get(&pdev->dev, "canfd"); 1776 if (IS_ERR(gpriv->can_clk)) { 1777 err = PTR_ERR(gpriv->can_clk); 1778 dev_err(&pdev->dev, 1779 "cannot get canfd clock, error %d\n", err); 1780 goto fail_dev; 1781 } 1782 gpriv->fcan = RCANFD_CANFDCLK; 1783 1784 } else { 1785 gpriv->fcan = RCANFD_EXTCLK; 1786 } 1787 fcan_freq = clk_get_rate(gpriv->can_clk); 1788 1789 if (gpriv->fcan == RCANFD_CANFDCLK && gpriv->chip_id == RENESAS_RCAR_GEN3) 1790 /* CANFD clock is further divided by (1/2) within the IP */ 1791 fcan_freq /= 2; 1792 1793 addr = devm_platform_ioremap_resource(pdev, 0); 1794 if (IS_ERR(addr)) { 1795 err = PTR_ERR(addr); 1796 goto fail_dev; 1797 } 1798 gpriv->base = addr; 1799 1800 /* Request IRQ that's common for both channels */ 1801 if (gpriv->chip_id == RENESAS_RCAR_GEN3) { 1802 err = devm_request_irq(&pdev->dev, ch_irq, 1803 rcar_canfd_channel_interrupt, 0, 1804 "canfd.ch_int", gpriv); 1805 if (err) { 1806 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1807 ch_irq, err); 1808 goto fail_dev; 1809 } 1810 1811 err = devm_request_irq(&pdev->dev, g_irq, 1812 rcar_canfd_global_interrupt, 0, 1813 "canfd.g_int", gpriv); 1814 if (err) { 1815 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1816 g_irq, err); 1817 goto fail_dev; 1818 } 1819 } else { 1820 err = devm_request_irq(&pdev->dev, g_recc_irq, 1821 rcar_canfd_global_interrupt, 0, 1822 "canfd.g_recc", gpriv); 1823 1824 if (err) { 1825 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1826 g_recc_irq, err); 1827 goto fail_dev; 1828 } 1829 1830 err = devm_request_irq(&pdev->dev, g_err_irq, 1831 rcar_canfd_global_interrupt, 0, 1832 "canfd.g_err", gpriv); 1833 if (err) { 1834 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1835 g_err_irq, err); 1836 goto fail_dev; 1837 } 1838 } 1839 1840 err = reset_control_reset(gpriv->rstc1); 1841 if (err) 1842 goto fail_dev; 1843 err = reset_control_reset(gpriv->rstc2); 1844 if (err) { 1845 reset_control_assert(gpriv->rstc1); 1846 goto fail_dev; 1847 } 1848 1849 /* Enable peripheral clock for register access */ 1850 err = clk_prepare_enable(gpriv->clkp); 1851 if (err) { 1852 dev_err(&pdev->dev, 1853 "failed to enable peripheral clock, error %d\n", err); 1854 goto fail_reset; 1855 } 1856 1857 err = rcar_canfd_reset_controller(gpriv); 1858 if (err) { 1859 dev_err(&pdev->dev, "reset controller failed\n"); 1860 goto fail_clk; 1861 } 1862 1863 /* Controller in Global reset & Channel reset mode */ 1864 rcar_canfd_configure_controller(gpriv); 1865 1866 /* Configure per channel attributes */ 1867 for_each_set_bit(ch, &gpriv->channels_mask, RCANFD_NUM_CHANNELS) { 1868 /* Configure Channel's Rx fifo */ 1869 rcar_canfd_configure_rx(gpriv, ch); 1870 1871 /* Configure Channel's Tx (Common) fifo */ 1872 rcar_canfd_configure_tx(gpriv, ch); 1873 1874 /* Configure receive rules */ 1875 rcar_canfd_configure_afl_rules(gpriv, ch); 1876 } 1877 1878 /* Configure common interrupts */ 1879 rcar_canfd_enable_global_interrupts(gpriv); 1880 1881 /* Start Global operation mode */ 1882 rcar_canfd_update_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GMDC_MASK, 1883 RCANFD_GCTR_GMDC_GOPM); 1884 1885 /* Verify mode change */ 1886 err = readl_poll_timeout((gpriv->base + RCANFD_GSTS), sts, 1887 !(sts & RCANFD_GSTS_GNOPM), 2, 500000); 1888 if (err) { 1889 dev_err(&pdev->dev, "global operational mode failed\n"); 1890 goto fail_mode; 1891 } 1892 1893 for_each_set_bit(ch, &gpriv->channels_mask, RCANFD_NUM_CHANNELS) { 1894 err = rcar_canfd_channel_probe(gpriv, ch, fcan_freq); 1895 if (err) 1896 goto fail_channel; 1897 } 1898 1899 platform_set_drvdata(pdev, gpriv); 1900 dev_info(&pdev->dev, "global operational state (clk %d, fdmode %d)\n", 1901 gpriv->fcan, gpriv->fdmode); 1902 return 0; 1903 1904 fail_channel: 1905 for_each_set_bit(ch, &gpriv->channels_mask, RCANFD_NUM_CHANNELS) 1906 rcar_canfd_channel_remove(gpriv, ch); 1907 fail_mode: 1908 rcar_canfd_disable_global_interrupts(gpriv); 1909 fail_clk: 1910 clk_disable_unprepare(gpriv->clkp); 1911 fail_reset: 1912 reset_control_assert(gpriv->rstc1); 1913 reset_control_assert(gpriv->rstc2); 1914 fail_dev: 1915 return err; 1916 } 1917 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 51713 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: Re: [PATCH v3 2/3] can: rcar_canfd: Add support for RZ/G2L family Date: Sun, 25 Jul 2021 13:39:37 +0800 [thread overview] Message-ID: <202107251336.iD47PRoA-lkp@intel.com> (raw) In-Reply-To: <20210721194951.30983-3-prabhakar.mahadev-lad.rj@bp.renesas.com> [-- Attachment #1: Type: text/plain, Size: 10509 bytes --] Hi Lad, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on renesas-devel/next] [also build test WARNING on v5.14-rc2 next-20210723] [cannot apply to mkl-can-next/testing robh/for-next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Lad-Prabhakar/Renesas-RZ-G2L-CANFD-support/20210722-035332 base: https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next config: arm64-randconfig-r031-20210723 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 9625ca5b602616b2f5584e8a49ba93c52c141e40) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://github.com/0day-ci/linux/commit/082d605e73c5922419a736aa9ecd3a76c0241bf7 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Lad-Prabhakar/Renesas-RZ-G2L-CANFD-support/20210722-035332 git checkout 082d605e73c5922419a736aa9ecd3a76c0241bf7 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> drivers/net/can/rcar/rcar_canfd.c:1699:12: warning: cast to smaller integer type 'enum rcanfd_chip_id' from 'const void *' [-Wvoid-pointer-to-enum-cast] chip_id = (enum rcanfd_chip_id)of_device_get_match_data(&pdev->dev); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +1699 drivers/net/can/rcar/rcar_canfd.c 1686 1687 static int rcar_canfd_probe(struct platform_device *pdev) 1688 { 1689 void __iomem *addr; 1690 u32 sts, ch, fcan_freq; 1691 struct rcar_canfd_global *gpriv; 1692 struct device_node *of_child; 1693 unsigned long channels_mask = 0; 1694 int err, ch_irq, g_irq; 1695 int g_err_irq, g_recc_irq; 1696 bool fdmode = true; /* CAN FD only mode - default */ 1697 enum rcanfd_chip_id chip_id; 1698 > 1699 chip_id = (enum rcanfd_chip_id)of_device_get_match_data(&pdev->dev); 1700 1701 if (of_property_read_bool(pdev->dev.of_node, "renesas,no-can-fd")) 1702 fdmode = false; /* Classical CAN only mode */ 1703 1704 of_child = of_get_child_by_name(pdev->dev.of_node, "channel0"); 1705 if (of_child && of_device_is_available(of_child)) 1706 channels_mask |= BIT(0); /* Channel 0 */ 1707 1708 of_child = of_get_child_by_name(pdev->dev.of_node, "channel1"); 1709 if (of_child && of_device_is_available(of_child)) 1710 channels_mask |= BIT(1); /* Channel 1 */ 1711 1712 if (chip_id == RENESAS_RCAR_GEN3) { 1713 ch_irq = platform_get_irq_byname_optional(pdev, "ch_int"); 1714 if (ch_irq < 0) { 1715 /* For backward compatibility get irq by index */ 1716 ch_irq = platform_get_irq(pdev, 0); 1717 if (ch_irq < 0) 1718 return ch_irq; 1719 } 1720 1721 g_irq = platform_get_irq_byname_optional(pdev, "g_int"); 1722 if (g_irq < 0) { 1723 /* For backward compatibility get irq by index */ 1724 g_irq = platform_get_irq(pdev, 1); 1725 if (g_irq < 0) 1726 return g_irq; 1727 } 1728 } else { 1729 g_err_irq = platform_get_irq_byname(pdev, "g_err"); 1730 if (g_err_irq < 0) 1731 return g_err_irq; 1732 1733 g_recc_irq = platform_get_irq_byname(pdev, "g_recc"); 1734 if (g_recc_irq < 0) 1735 return g_recc_irq; 1736 } 1737 1738 /* Global controller context */ 1739 gpriv = devm_kzalloc(&pdev->dev, sizeof(*gpriv), GFP_KERNEL); 1740 if (!gpriv) { 1741 err = -ENOMEM; 1742 goto fail_dev; 1743 } 1744 gpriv->pdev = pdev; 1745 gpriv->channels_mask = channels_mask; 1746 gpriv->fdmode = fdmode; 1747 gpriv->chip_id = chip_id; 1748 1749 if (gpriv->chip_id == RENESAS_RZG2L) { 1750 gpriv->rstc1 = devm_reset_control_get_exclusive(&pdev->dev, "rstp_n"); 1751 if (IS_ERR(gpriv->rstc1)) 1752 return dev_err_probe(&pdev->dev, PTR_ERR(gpriv->rstc1), 1753 "failed to get rstp_n\n"); 1754 1755 gpriv->rstc2 = devm_reset_control_get_exclusive(&pdev->dev, "rstc_n"); 1756 if (IS_ERR(gpriv->rstc2)) 1757 return dev_err_probe(&pdev->dev, PTR_ERR(gpriv->rstc2), 1758 "failed to get rstc_n\n"); 1759 } 1760 1761 /* Peripheral clock */ 1762 gpriv->clkp = devm_clk_get(&pdev->dev, "fck"); 1763 if (IS_ERR(gpriv->clkp)) { 1764 err = PTR_ERR(gpriv->clkp); 1765 dev_err(&pdev->dev, "cannot get peripheral clock, error %d\n", 1766 err); 1767 goto fail_dev; 1768 } 1769 1770 /* fCAN clock: Pick External clock. If not available fallback to 1771 * CANFD clock 1772 */ 1773 gpriv->can_clk = devm_clk_get(&pdev->dev, "can_clk"); 1774 if (IS_ERR(gpriv->can_clk) || (clk_get_rate(gpriv->can_clk) == 0)) { 1775 gpriv->can_clk = devm_clk_get(&pdev->dev, "canfd"); 1776 if (IS_ERR(gpriv->can_clk)) { 1777 err = PTR_ERR(gpriv->can_clk); 1778 dev_err(&pdev->dev, 1779 "cannot get canfd clock, error %d\n", err); 1780 goto fail_dev; 1781 } 1782 gpriv->fcan = RCANFD_CANFDCLK; 1783 1784 } else { 1785 gpriv->fcan = RCANFD_EXTCLK; 1786 } 1787 fcan_freq = clk_get_rate(gpriv->can_clk); 1788 1789 if (gpriv->fcan == RCANFD_CANFDCLK && gpriv->chip_id == RENESAS_RCAR_GEN3) 1790 /* CANFD clock is further divided by (1/2) within the IP */ 1791 fcan_freq /= 2; 1792 1793 addr = devm_platform_ioremap_resource(pdev, 0); 1794 if (IS_ERR(addr)) { 1795 err = PTR_ERR(addr); 1796 goto fail_dev; 1797 } 1798 gpriv->base = addr; 1799 1800 /* Request IRQ that's common for both channels */ 1801 if (gpriv->chip_id == RENESAS_RCAR_GEN3) { 1802 err = devm_request_irq(&pdev->dev, ch_irq, 1803 rcar_canfd_channel_interrupt, 0, 1804 "canfd.ch_int", gpriv); 1805 if (err) { 1806 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1807 ch_irq, err); 1808 goto fail_dev; 1809 } 1810 1811 err = devm_request_irq(&pdev->dev, g_irq, 1812 rcar_canfd_global_interrupt, 0, 1813 "canfd.g_int", gpriv); 1814 if (err) { 1815 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1816 g_irq, err); 1817 goto fail_dev; 1818 } 1819 } else { 1820 err = devm_request_irq(&pdev->dev, g_recc_irq, 1821 rcar_canfd_global_interrupt, 0, 1822 "canfd.g_recc", gpriv); 1823 1824 if (err) { 1825 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1826 g_recc_irq, err); 1827 goto fail_dev; 1828 } 1829 1830 err = devm_request_irq(&pdev->dev, g_err_irq, 1831 rcar_canfd_global_interrupt, 0, 1832 "canfd.g_err", gpriv); 1833 if (err) { 1834 dev_err(&pdev->dev, "devm_request_irq(%d) failed, error %d\n", 1835 g_err_irq, err); 1836 goto fail_dev; 1837 } 1838 } 1839 1840 err = reset_control_reset(gpriv->rstc1); 1841 if (err) 1842 goto fail_dev; 1843 err = reset_control_reset(gpriv->rstc2); 1844 if (err) { 1845 reset_control_assert(gpriv->rstc1); 1846 goto fail_dev; 1847 } 1848 1849 /* Enable peripheral clock for register access */ 1850 err = clk_prepare_enable(gpriv->clkp); 1851 if (err) { 1852 dev_err(&pdev->dev, 1853 "failed to enable peripheral clock, error %d\n", err); 1854 goto fail_reset; 1855 } 1856 1857 err = rcar_canfd_reset_controller(gpriv); 1858 if (err) { 1859 dev_err(&pdev->dev, "reset controller failed\n"); 1860 goto fail_clk; 1861 } 1862 1863 /* Controller in Global reset & Channel reset mode */ 1864 rcar_canfd_configure_controller(gpriv); 1865 1866 /* Configure per channel attributes */ 1867 for_each_set_bit(ch, &gpriv->channels_mask, RCANFD_NUM_CHANNELS) { 1868 /* Configure Channel's Rx fifo */ 1869 rcar_canfd_configure_rx(gpriv, ch); 1870 1871 /* Configure Channel's Tx (Common) fifo */ 1872 rcar_canfd_configure_tx(gpriv, ch); 1873 1874 /* Configure receive rules */ 1875 rcar_canfd_configure_afl_rules(gpriv, ch); 1876 } 1877 1878 /* Configure common interrupts */ 1879 rcar_canfd_enable_global_interrupts(gpriv); 1880 1881 /* Start Global operation mode */ 1882 rcar_canfd_update_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GMDC_MASK, 1883 RCANFD_GCTR_GMDC_GOPM); 1884 1885 /* Verify mode change */ 1886 err = readl_poll_timeout((gpriv->base + RCANFD_GSTS), sts, 1887 !(sts & RCANFD_GSTS_GNOPM), 2, 500000); 1888 if (err) { 1889 dev_err(&pdev->dev, "global operational mode failed\n"); 1890 goto fail_mode; 1891 } 1892 1893 for_each_set_bit(ch, &gpriv->channels_mask, RCANFD_NUM_CHANNELS) { 1894 err = rcar_canfd_channel_probe(gpriv, ch, fcan_freq); 1895 if (err) 1896 goto fail_channel; 1897 } 1898 1899 platform_set_drvdata(pdev, gpriv); 1900 dev_info(&pdev->dev, "global operational state (clk %d, fdmode %d)\n", 1901 gpriv->fcan, gpriv->fdmode); 1902 return 0; 1903 1904 fail_channel: 1905 for_each_set_bit(ch, &gpriv->channels_mask, RCANFD_NUM_CHANNELS) 1906 rcar_canfd_channel_remove(gpriv, ch); 1907 fail_mode: 1908 rcar_canfd_disable_global_interrupts(gpriv); 1909 fail_clk: 1910 clk_disable_unprepare(gpriv->clkp); 1911 fail_reset: 1912 reset_control_assert(gpriv->rstc1); 1913 reset_control_assert(gpriv->rstc2); 1914 fail_dev: 1915 return err; 1916 } 1917 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 51713 bytes --]
next prev parent reply other threads:[~2021-07-25 5:40 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-21 19:49 [PATCH v3 0/3] Renesas RZ/G2L CANFD support Lad Prabhakar 2021-07-21 19:49 ` [PATCH v3 1/3] dt-bindings: net: can: renesas,rcar-canfd: Document RZ/G2L SoC Lad Prabhakar 2021-07-26 22:46 ` Rob Herring 2021-07-21 19:49 ` [PATCH v3 2/3] can: rcar_canfd: Add support for RZ/G2L family Lad Prabhakar 2021-07-25 5:39 ` kernel test robot [this message] 2021-07-25 5:39 ` kernel test robot 2021-07-25 9:46 ` Marc Kleine-Budde 2021-07-25 9:46 ` Marc Kleine-Budde 2021-07-26 8:06 ` Geert Uytterhoeven 2021-07-26 8:06 ` Geert Uytterhoeven 2021-07-26 21:56 ` Lad, Prabhakar 2021-07-26 21:56 ` Lad, Prabhakar 2021-07-26 9:53 ` Geert Uytterhoeven 2021-07-26 21:58 ` Lad, Prabhakar 2021-07-21 19:49 ` [PATCH v3 3/3] arm64: dts: renesas: r9a07g044: Add CANFD node Lad Prabhakar 2021-07-22 12:53 ` kernel test robot 2021-07-22 12:53 ` kernel test robot
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=202107251336.iD47PRoA-lkp@intel.com \ --to=lkp@intel.com \ --cc=clang-built-linux@googlegroups.com \ --cc=davem@davemloft.net \ --cc=fabrizio.castro.jz@renesas.com \ --cc=geert+renesas@glider.be \ --cc=kbuild-all@lists.01.org \ --cc=kuba@kernel.org \ --cc=linux-can@vger.kernel.org \ --cc=mkl@pengutronix.de \ --cc=netdev@vger.kernel.org \ --cc=p.zabel@pengutronix.de \ --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \ --cc=robh+dt@kernel.org \ --cc=wg@grandegger.com \ /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: linkBe 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.