Re: [PATCH] mm: convert return type of handle_mm_fault() caller to vm_fault_t
Hi Souptick, Thank you for the patch! Yet something to improve: [auto build test ERROR on v4.17] [cannot apply to linus/master powerpc/next sparc-next/master next-20180614] [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/Souptick-Joarder/mm-convert-return-type-of-handle_mm_fault-caller-to-vm_fault_t/20180615-030636 config: powerpc-defconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=powerpc All errors (new ones prefixed by >>): >> arch/powerpc/mm/copro_fault.c:36:5: error: conflicting types for >> 'copro_handle_mm_fault' int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea, ^ In file included from arch/powerpc/mm/copro_fault.c:27:0: arch/powerpc/include/asm/copro.h:18:5: note: previous declaration of 'copro_handle_mm_fault' was here int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea, ^ In file included from include/linux/linkage.h:7:0, from include/linux/kernel.h:7, from include/asm-generic/bug.h:18, from arch/powerpc/include/asm/bug.h:128, from include/linux/bug.h:5, from arch/powerpc/include/asm/mmu.h:126, from arch/powerpc/include/asm/lppaca.h:36, from arch/powerpc/include/asm/paca.h:21, from arch/powerpc/include/asm/current.h:16, from include/linux/sched.h:12, from arch/powerpc/mm/copro_fault.c:23: arch/powerpc/mm/copro_fault.c:101:19: error: conflicting types for 'copro_handle_mm_fault' EXPORT_SYMBOL_GPL(copro_handle_mm_fault); ^ include/linux/export.h:65:21: note: in definition of macro '___EXPORT_SYMBOL' extern typeof(sym) sym; \ ^~~ arch/powerpc/mm/copro_fault.c:101:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' EXPORT_SYMBOL_GPL(copro_handle_mm_fault); ^ In file included from arch/powerpc/mm/copro_fault.c:27:0: arch/powerpc/include/asm/copro.h:18:5: note: previous declaration of 'copro_handle_mm_fault' was here int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea, ^ vim +/copro_handle_mm_fault +36 arch/powerpc/mm/copro_fault.c 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 30 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 31 /* 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 32 * This ought to be kept in sync with the powerpc specific do_page_fault 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 33 * function. Currently, there are a few corner cases that we haven't had 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 34 * to handle fortunately. 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 35 */ e83d01697 arch/powerpc/mm/copro_fault.c Ian Munsie 2014-10-08 @36 int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea, 7c71e54a4 arch/powerpc/mm/copro_fault.c Souptick Joarder 2018-06-15 37unsigned long dsisr, vm_fault_t *flt) 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 38 { 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 39struct vm_area_struct *vma; 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 40unsigned long is_write; 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 41int ret; 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 42 60ee03194 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2009-02-17 43if (mm == NULL) 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 44return -EFAULT; 60ee03194 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2009-02-17 45 60ee03194 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2009-02-17 46if (mm->pgd == NULL) 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 47return -EFAULT; 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 48 7cd58e438 arch/powerpc/platforms/cell/spu_fault.c Jeremy Kerr2007-12-20 49down_read(>mmap_sem); 60ee03194 arch/powerpc/platforms
[PATCH] mm: convert return type of handle_mm_fault() caller to vm_fault_t
Use new return type vm_fault_t for fault handler. For now, this is just documenting that the function returns a VM_FAULT value rather than an errno. Once all instances are converted, vm_fault_t will become a distinct type. Ref-> commit 1c8f422059ae ("mm: change return type to vm_fault_t") In this patch all the caller of handle_mm_fault() are changed to return vm_fault_t type. Signed-off-by: Souptick Joarder --- arch/alpha/mm/fault.c | 3 ++- arch/arc/mm/fault.c | 4 +++- arch/arm/mm/fault.c | 7 --- arch/arm64/mm/fault.c | 6 +++--- arch/hexagon/mm/vm_fault.c| 2 +- arch/ia64/mm/fault.c | 2 +- arch/m68k/mm/fault.c | 4 ++-- arch/microblaze/mm/fault.c| 2 +- arch/mips/mm/fault.c | 2 +- arch/nds32/mm/fault.c | 2 +- arch/nios2/mm/fault.c | 2 +- arch/openrisc/mm/fault.c | 2 +- arch/parisc/mm/fault.c| 2 +- arch/powerpc/mm/copro_fault.c | 2 +- arch/powerpc/mm/fault.c | 7 --- arch/riscv/mm/fault.c | 3 ++- arch/s390/mm/fault.c | 13 - arch/sh/mm/fault.c| 4 ++-- arch/sparc/mm/fault_32.c | 3 ++- arch/sparc/mm/fault_64.c | 3 ++- arch/um/kernel/trap.c | 2 +- arch/unicore32/mm/fault.c | 9 + arch/x86/mm/fault.c | 5 +++-- arch/xtensa/mm/fault.c| 2 +- drivers/iommu/amd_iommu_v2.c | 2 +- drivers/iommu/intel-svm.c | 4 +++- mm/hmm.c | 8 mm/ksm.c | 2 +- 28 files changed, 62 insertions(+), 47 deletions(-) diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index cd3c572..2a979ee 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c @@ -87,7 +87,8 @@ struct vm_area_struct * vma; struct mm_struct *mm = current->mm; const struct exception_table_entry *fixup; - int fault, si_code = SEGV_MAPERR; + int si_code = SEGV_MAPERR; + vm_fault_t fault; siginfo_t info; unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE; diff --git a/arch/arc/mm/fault.c b/arch/arc/mm/fault.c index a0b7bd6..3a18d33 100644 --- a/arch/arc/mm/fault.c +++ b/arch/arc/mm/fault.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -66,7 +67,8 @@ void do_page_fault(unsigned long address, struct pt_regs *regs) struct task_struct *tsk = current; struct mm_struct *mm = tsk->mm; siginfo_t info; - int fault, ret; + int ret; + vm_fault_t fault; int write = regs->ecr_cause & ECR_C_PROTV_STORE; /* ST/EX */ unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE; diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index b75eada..758abcb 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c @@ -219,12 +219,12 @@ static inline bool access_error(unsigned int fsr, struct vm_area_struct *vma) return vma->vm_flags & mask ? false : true; } -static int __kprobes +static vm_fault_t __kprobes __do_page_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr, unsigned int flags, struct task_struct *tsk) { struct vm_area_struct *vma; - int fault; + vm_fault_t fault; vma = find_vma(mm, addr); fault = VM_FAULT_BADMAP; @@ -259,7 +259,8 @@ static inline bool access_error(unsigned int fsr, struct vm_area_struct *vma) { struct task_struct *tsk; struct mm_struct *mm; - int fault, sig, code; + int sig, code; + vm_fault_t fault; unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE; if (notify_page_fault(regs, fsr)) diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 2af3dd8..8da263b 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -371,12 +371,12 @@ static void do_bad_area(unsigned long addr, unsigned int esr, struct pt_regs *re #define VM_FAULT_BADMAP0x01 #define VM_FAULT_BADACCESS 0x02 -static int __do_page_fault(struct mm_struct *mm, unsigned long addr, +static vm_fault_t __do_page_fault(struct mm_struct *mm, unsigned long addr, unsigned int mm_flags, unsigned long vm_flags, struct task_struct *tsk) { struct vm_area_struct *vma; - int fault; + vm_fault_t fault; vma = find_vma(mm, addr); fault = VM_FAULT_BADMAP; @@ -419,7 +419,7 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr, struct task_struct *tsk; struct mm_struct *mm; struct siginfo si; - int fault, major = 0; + vm_fault_t fault, major = 0; unsigned long vm_flags = VM_READ | VM_WRITE; unsigned int mm_flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE; diff --git a/arch/hexagon/mm/vm_fault.c b/arch/hexagon/mm/vm_fault.c index 3eec33c..5d1de6c 100644 ---
I will definately enlighten you more as soon as I hear from you
Good Morning, Although, I am not comfortable discussing the content of my mail on the Internet owing to lots of unsolicited/Spam mails on the net nowadays. However, I have made up my mind to will my late Husband's funds to you so you can use it for charity duties and good work to humanity. The amounts are relatively huge, but please get back to me for further information. I will definately enlighten you more as soon as I hear from you. Best of wishes to you, Mrs. Rania Hassya -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 3/4] dmaengine: fsl-edma: remove all the edma common code
Hi Angelo, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17 next-20180614] [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/Angelo-Dureghello/dmaengine-fsl-edma-add-config-and-makefile-changes-for-mcf-edma/20180613-005443 config: x86_64-randconfig-s5-06141436 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): WARNING: modpost: missing MODULE_LICENSE() in drivers/dma/fsl-edma-common.o see include/linux/module.h for more information >> ERROR: "fsl_edma_issue_pending" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_terminate_all" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_resume" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_pause" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_slave_config" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_prep_dma_cyclic" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_prep_slave_sg" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_tx_status" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_free_chan_resources" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_alloc_chan_resources" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_free_desc" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_setup_regs" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_xfer_desc" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "edma_writeb" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "edma_readl" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "to_fsl_edma_chan" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_cleanup_vchan" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "fsl_edma_disable_request" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "edma_writel" [drivers/dma/fsl-edma.ko] undefined! >> ERROR: "edma_writew" [drivers/dma/fsl-edma.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3 1/4] dmaengine: fsl-edma: add config and makefile changes for mcf-edma
On 12-06-18, 18:34, Angelo Dureghello wrote: > This patch adds Kconfig and makefile changes to add ColdFire > mcf5441x family edma support. > A new fsl-edma-common module has been added, to collect common > code to fsl-edma. I think the way you send patch series has some issue and threading is broken, so the patches are all over my inbox. Can you please repost with threading fixed > > Signed-off-by: Angelo Dureghello > --- > Changes for v2: > - patch splitted into 4 > - add fsl-edma-common > > Changes for v3: > - remove Kconfig FSL_EDMA_COMMON and set fsl-edma-common.o as > additional object entry where needed. > --- > drivers/dma/Kconfig | 13 + > drivers/dma/Makefile | 3 ++- > 2 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig > index 6d61cd023633..c7d45e69f021 100644 > --- a/drivers/dma/Kconfig > +++ b/drivers/dma/Kconfig > @@ -220,6 +220,7 @@ config FSL_EDMA > depends on OF > select DMA_ENGINE > select DMA_VIRTUAL_CHANNELS > + select FSL_EDMA_COMMON > help > Support the Freescale eDMA engine with programmable channel > multiplexing capability for DMA request sources(slot). > @@ -327,6 +328,18 @@ config LPC18XX_DMAMUX > Enable support for DMA on NXP LPC18xx/43xx platforms > with PL080 and multiplexed DMA request lines. > > +config MCF_EDMA > + tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs" > + depends on M5441x > + select DMA_ENGINE > + select DMA_VIRTUAL_CHANNELS > + select FSL_EDMA_COMMON > + help > + Support the Freescale ColdFire eDMA engine, 64-channel > + implementation that performs complex data transfers with > + minimal intervention from a host processor. > + This module can be found on Freescale ColdFire mcf5441x SoCs. > + > config MMP_PDMA > bool "MMP PDMA support" > depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST > diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile > index 0f62a4d49aab..cce5e3400580 100644 > --- a/drivers/dma/Makefile > +++ b/drivers/dma/Makefile > @@ -32,7 +32,8 @@ obj-$(CONFIG_DW_AXI_DMAC) += dw-axi-dmac/ > obj-$(CONFIG_DW_DMAC_CORE) += dw/ > obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o > obj-$(CONFIG_FSL_DMA) += fsldma.o > -obj-$(CONFIG_FSL_EDMA) += fsl-edma.o > +obj-$(CONFIG_FSL_EDMA) += fsl-edma.o fsl-edma-common.o > +obj-$(CONFIG_MCF_EDMA) += mcf-edma.o fsl-edma-common.o > obj-$(CONFIG_FSL_RAID) += fsl_raid.o > obj-$(CONFIG_HSU_DMA) += hsu/ > obj-$(CONFIG_IMG_MDC_DMA) += img-mdc-dma.o > -- > 2.17.0 -- ~Vinod -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html