Received: by 10.213.65.68 with SMTP id h4csp2555534imn; Mon, 2 Apr 2018 09:37:27 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/zXbc5m5+oHu/XizY0Y74/ZHEkFg3j7IltF1O38s54dYpmYvzXgLUBa1F/+w6H/ijLycBm X-Received: by 10.167.128.2 with SMTP id j2mr7898311pfi.179.1522687047416; Mon, 02 Apr 2018 09:37:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522687047; cv=none; d=google.com; s=arc-20160816; b=WLETDbWvYpze9wC4Y3hBc5BPkshF1zdsIaBUjnSYJ3bb82bCkyyr/0LoGfuey3/5lX IfbW5ZTWvUNLgunhY8a+F9DXnAe0vXLdFyy30rxWBixwGIirTApjF2Uz4+iRMWpZuQYc kWv9EK3rmqe4x75blW9i2kwqkMJfldpj74owC6wU4oR/icjwS/PN9fX3d/E99cRoWDgZ yfAFW2CAhalaqDgoWctGfQSlheZ/HlYjvCiI/BeQ4xs8eUxqPe4xLVY/eqgF23WbjUMx UuCxiDJFss8YR/nAP7qNSdSJrwEDzQx3ks9J59wFmnL3XoEQ98etMu80/zablmUoCjo8 Xcmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=S4Nnmow8yiNn+zQD7TdJNSAi3qspxHkAgFVSZzCXc0E=; b=YWh8G30VGjgisrkXONfe6hB47z/Z/88QJwhvv8tAEC8hagriDQDkmFqeerl/cL3AHx l2C6DozXzhiZSssUIa/VS5dsvX8MNbkyumcy9Ic3YoX6rjeGq/EdlO3j/a6RHj1z43Lf dzGPrfLqi3SsXNBPoVehyeNylQRGOu1IyI8migu2bQYW0uMB574GVk228ePqe5k+JylW qK4tVKx0VEQXLyl8rDYRUl9ECAvan82ZZwLO+FYdGv89czpz+3rPp0f/bMKnMedA+SEc 1Yp+IctaH4Q+HBaeoEeYEyrTPhgriOlXMKy0ghvtkGB6u+lCJTfpVgLJ+xlS6/Efm2oD m1Rg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 12-v6si651538plb.342.2018.04.02.09.37.12; Mon, 02 Apr 2018 09:37:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752926AbeDBQf6 (ORCPT + 99 others); Mon, 2 Apr 2018 12:35:58 -0400 Received: from mga06.intel.com ([134.134.136.31]:56378 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751443AbeDBQfz (ORCPT ); Mon, 2 Apr 2018 12:35:55 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Apr 2018 09:35:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,396,1517904000"; d="scan'208";a="188026197" Received: from bee.sh.intel.com (HELO bee) ([10.239.97.14]) by orsmga004.jf.intel.com with ESMTP; 02 Apr 2018 09:35:48 -0700 Received: from kbuild by bee with local (Exim 4.84_2) (envelope-from ) id 1f32Qt-000HvJ-7M; Tue, 03 Apr 2018 00:35:47 +0800 Date: Tue, 3 Apr 2018 00:35:13 +0800 From: kbuild test robot To: Robert Jarzmik Cc: kbuild-all@01.org, Daniel Mack , Haojian Zhuang , Robert Jarzmik , Bartlomiej Zolnierkiewicz , Tejun Heo , Vinod Koul , Mauro Carvalho Chehab , Ulf Hansson , Ezequiel Garcia , Boris Brezillon , David Woodhouse , Brian Norris , Marek Vasut , Richard Weinberger , Cyrille Pitchen , Nicolas Pitre , Samuel Ortiz , Greg Kroah-Hartman , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , Mark Brown , Arnd Bergmann , Thomas Gleixner , Philippe Ombredanne , Kate Stewart , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, dmaengine@vger.kernel.org, linux-media@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, netdev@vger.kernel.org, devel@driverdev.osuosl.org, alsa-devel@alsa-project.org Subject: Re: [PATCH 12/15] dmaengine: pxa: make the filter function internal Message-ID: <201804030025.FmWPyArN%fengguang.wu@intel.com> References: <20180402142656.26815-13-robert.jarzmik@free.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180402142656.26815-13-robert.jarzmik@free.fr> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Robert, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.16] [cannot apply to arm-soc/for-next next-20180329] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Robert-Jarzmik/ARM-pxa-switch-to-DMA-slave-maps/20180402-233029 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/mtd/nand/marvell_nand.c:2621:17: sparse: undefined identifier 'pxad_filter_fn' >> drivers/mtd/nand/marvell_nand.c:2621:17: sparse: call with no type! In file included from drivers/mtd/nand/marvell_nand.c:21:0: drivers/mtd/nand/marvell_nand.c: In function 'marvell_nfc_init_dma': drivers/mtd/nand/marvell_nand.c:2621:42: error: 'pxad_filter_fn' undeclared (first use in this function); did you mean 'dma_filter_fn'? dma_request_slave_channel_compat(mask, pxad_filter_fn, ^ include/linux/dmaengine.h:1408:46: note: in definition of macro 'dma_request_slave_channel_compat' __dma_request_slave_channel_compat(&(mask), x, y, dev, name) ^ drivers/mtd/nand/marvell_nand.c:2621:42: note: each undeclared identifier is reported only once for each function it appears in dma_request_slave_channel_compat(mask, pxad_filter_fn, ^ include/linux/dmaengine.h:1408:46: note: in definition of macro 'dma_request_slave_channel_compat' __dma_request_slave_channel_compat(&(mask), x, y, dev, name) ^ vim +2621 drivers/mtd/nand/marvell_nand.c 02f26ecf Miquel Raynal 2018-01-09 2588 02f26ecf Miquel Raynal 2018-01-09 2589 static int marvell_nfc_init_dma(struct marvell_nfc *nfc) 02f26ecf Miquel Raynal 2018-01-09 2590 { 02f26ecf Miquel Raynal 2018-01-09 2591 struct platform_device *pdev = container_of(nfc->dev, 02f26ecf Miquel Raynal 2018-01-09 2592 struct platform_device, 02f26ecf Miquel Raynal 2018-01-09 2593 dev); 02f26ecf Miquel Raynal 2018-01-09 2594 struct dma_slave_config config = {}; 02f26ecf Miquel Raynal 2018-01-09 2595 struct resource *r; 02f26ecf Miquel Raynal 2018-01-09 2596 dma_cap_mask_t mask; 02f26ecf Miquel Raynal 2018-01-09 2597 struct pxad_param param; 02f26ecf Miquel Raynal 2018-01-09 2598 int ret; 02f26ecf Miquel Raynal 2018-01-09 2599 02f26ecf Miquel Raynal 2018-01-09 2600 if (!IS_ENABLED(CONFIG_PXA_DMA)) { 02f26ecf Miquel Raynal 2018-01-09 2601 dev_warn(nfc->dev, 02f26ecf Miquel Raynal 2018-01-09 2602 "DMA not enabled in configuration\n"); 02f26ecf Miquel Raynal 2018-01-09 2603 return -ENOTSUPP; 02f26ecf Miquel Raynal 2018-01-09 2604 } 02f26ecf Miquel Raynal 2018-01-09 2605 02f26ecf Miquel Raynal 2018-01-09 2606 ret = dma_set_mask_and_coherent(nfc->dev, DMA_BIT_MASK(32)); 02f26ecf Miquel Raynal 2018-01-09 2607 if (ret) 02f26ecf Miquel Raynal 2018-01-09 2608 return ret; 02f26ecf Miquel Raynal 2018-01-09 2609 02f26ecf Miquel Raynal 2018-01-09 2610 r = platform_get_resource(pdev, IORESOURCE_DMA, 0); 02f26ecf Miquel Raynal 2018-01-09 2611 if (!r) { 02f26ecf Miquel Raynal 2018-01-09 2612 dev_err(nfc->dev, "No resource defined for data DMA\n"); 02f26ecf Miquel Raynal 2018-01-09 2613 return -ENXIO; 02f26ecf Miquel Raynal 2018-01-09 2614 } 02f26ecf Miquel Raynal 2018-01-09 2615 02f26ecf Miquel Raynal 2018-01-09 2616 param.drcmr = r->start; 02f26ecf Miquel Raynal 2018-01-09 2617 param.prio = PXAD_PRIO_LOWEST; 02f26ecf Miquel Raynal 2018-01-09 2618 dma_cap_zero(mask); 02f26ecf Miquel Raynal 2018-01-09 2619 dma_cap_set(DMA_SLAVE, mask); 02f26ecf Miquel Raynal 2018-01-09 2620 nfc->dma_chan = 02f26ecf Miquel Raynal 2018-01-09 @2621 dma_request_slave_channel_compat(mask, pxad_filter_fn, 02f26ecf Miquel Raynal 2018-01-09 2622 ¶m, nfc->dev, 02f26ecf Miquel Raynal 2018-01-09 2623 "data"); 02f26ecf Miquel Raynal 2018-01-09 2624 if (!nfc->dma_chan) { 02f26ecf Miquel Raynal 2018-01-09 2625 dev_err(nfc->dev, 02f26ecf Miquel Raynal 2018-01-09 2626 "Unable to request data DMA channel\n"); 02f26ecf Miquel Raynal 2018-01-09 2627 return -ENODEV; 02f26ecf Miquel Raynal 2018-01-09 2628 } 02f26ecf Miquel Raynal 2018-01-09 2629 02f26ecf Miquel Raynal 2018-01-09 2630 r = platform_get_resource(pdev, IORESOURCE_MEM, 0); 02f26ecf Miquel Raynal 2018-01-09 2631 if (!r) 02f26ecf Miquel Raynal 2018-01-09 2632 return -ENXIO; 02f26ecf Miquel Raynal 2018-01-09 2633 02f26ecf Miquel Raynal 2018-01-09 2634 config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; 02f26ecf Miquel Raynal 2018-01-09 2635 config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; 02f26ecf Miquel Raynal 2018-01-09 2636 config.src_addr = r->start + NDDB; 02f26ecf Miquel Raynal 2018-01-09 2637 config.dst_addr = r->start + NDDB; 02f26ecf Miquel Raynal 2018-01-09 2638 config.src_maxburst = 32; 02f26ecf Miquel Raynal 2018-01-09 2639 config.dst_maxburst = 32; 02f26ecf Miquel Raynal 2018-01-09 2640 ret = dmaengine_slave_config(nfc->dma_chan, &config); 02f26ecf Miquel Raynal 2018-01-09 2641 if (ret < 0) { 02f26ecf Miquel Raynal 2018-01-09 2642 dev_err(nfc->dev, "Failed to configure DMA channel\n"); 02f26ecf Miquel Raynal 2018-01-09 2643 return ret; 02f26ecf Miquel Raynal 2018-01-09 2644 } 02f26ecf Miquel Raynal 2018-01-09 2645 02f26ecf Miquel Raynal 2018-01-09 2646 /* 02f26ecf Miquel Raynal 2018-01-09 2647 * DMA must act on length multiple of 32 and this length may be 02f26ecf Miquel Raynal 2018-01-09 2648 * bigger than the destination buffer. Use this buffer instead 02f26ecf Miquel Raynal 2018-01-09 2649 * for DMA transfers and then copy the desired amount of data to 02f26ecf Miquel Raynal 2018-01-09 2650 * the provided buffer. 02f26ecf Miquel Raynal 2018-01-09 2651 */ c495a927 Miquel Raynal 2018-01-19 2652 nfc->dma_buf = kmalloc(MAX_CHUNK_SIZE, GFP_KERNEL | GFP_DMA); 02f26ecf Miquel Raynal 2018-01-09 2653 if (!nfc->dma_buf) 02f26ecf Miquel Raynal 2018-01-09 2654 return -ENOMEM; 02f26ecf Miquel Raynal 2018-01-09 2655 02f26ecf Miquel Raynal 2018-01-09 2656 nfc->use_dma = true; 02f26ecf Miquel Raynal 2018-01-09 2657 02f26ecf Miquel Raynal 2018-01-09 2658 return 0; 02f26ecf Miquel Raynal 2018-01-09 2659 } 02f26ecf Miquel Raynal 2018-01-09 2660 :::::: The code at line 2621 was first introduced by commit :::::: 02f26ecf8c772751d4b24744d487f6b1b20e75d4 mtd: nand: add reworked Marvell NAND controller driver :::::: TO: Miquel Raynal :::::: CC: Boris Brezillon --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation