Message ID | 20230523000606.9405-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | dmaengine: pl330: rename _start to prevent build error | expand |
Context | Check | Description |
---|---|---|
conchuod/cover_letter | success | Single patches do not need cover letters |
conchuod/tree_selection | success | Guessed tree name to be fixes at HEAD 3b90b09af5be |
conchuod/fixes_present | success | Fixes tag present in non-next series |
conchuod/maintainers_pattern | success | MAINTAINERS pattern errors before the patch: 6 and now 6 |
conchuod/verify_signedoff | success | Signed-off-by tag matches author and committer |
conchuod/kdoc | success | Errors and warnings before: 0 this patch: 0 |
conchuod/build_rv64_clang_allmodconfig | success | Errors and warnings before: 8 this patch: 8 |
conchuod/module_param | success | Was 0 now: 0 |
conchuod/build_rv64_gcc_allmodconfig | success | Errors and warnings before: 8 this patch: 8 |
conchuod/build_rv32_defconfig | success | Build OK |
conchuod/dtb_warn_rv64 | success | Errors and warnings before: 3 this patch: 3 |
conchuod/header_inline | success | No static functions without inline keyword in header files |
conchuod/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 32 lines checked |
conchuod/build_rv64_nommu_k210_defconfig | success | Build OK |
conchuod/verify_fixes | success | Fixes tag looks correct |
conchuod/build_rv64_nommu_virt_defconfig | success | Build OK |
Hey Randy, On Mon, May 22, 2023 at 05:06:06PM -0700, Randy Dunlap wrote: > "_start" is used in several arches and proably should be reserved > for ARCH usage. Using it in a driver for a private symbol can cause > a build error when it conflicts with ARCH usage of the same symbol. > > Therefore rename pl330's "_start" to "_start_thread" so that there > is no conflict and no build error. _start_thread() seems pretty generic to me too, but there don't appear to be any users & it is certainly better than the one causing build issues! Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Thanks, Conor. > > drivers/dma/pl330.c:1053:13: error: '_start' redeclared as different kind of symbol > 1053 | static bool _start(struct pl330_thread *thrd) > | ^~~~~~ > In file included from ../include/linux/interrupt.h:21, > from ../drivers/dma/pl330.c:18: > arch/riscv/include/asm/sections.h:11:13: note: previous declaration of '_start' with type 'char[]' > 11 | extern char _start[]; > | ^~~~~~
On 22-05-23, 17:06, Randy Dunlap wrote: > "_start" is used in several arches and proably should be reserved > for ARCH usage. Using it in a driver for a private symbol can cause > a build error when it conflicts with ARCH usage of the same symbol. > > Therefore rename pl330's "_start" to "_start_thread" so that there > is no conflict and no build error. Why not rename to pl330_start or pl330_start_thread to ensure we will might not conflict ever!
On 5/23/23 07:08, Vinod Koul wrote: > On 22-05-23, 17:06, Randy Dunlap wrote: >> "_start" is used in several arches and proably should be reserved >> for ARCH usage. Using it in a driver for a private symbol can cause >> a build error when it conflicts with ARCH usage of the same symbol. >> >> Therefore rename pl330's "_start" to "_start_thread" so that there >> is no conflict and no build error. > > Why not rename to pl330_start or pl330_start_thread to ensure we will > might not conflict ever! > Ok, will do. Thanks.
diff -- a/drivers/dma/pl330.c b/drivers/dma/pl330.c --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -1050,7 +1050,7 @@ static bool _trigger(struct pl330_thread return true; } -static bool _start(struct pl330_thread *thrd) +static bool _start_thread(struct pl330_thread *thrd) { switch (_state(thrd)) { case PL330_STATE_FAULT_COMPLETING: @@ -1702,7 +1702,7 @@ static int pl330_update(struct pl330_dma thrd->req_running = -1; /* Get going again ASAP */ - _start(thrd); + _start_thread(thrd); /* For now, just make a list of callbacks to be done */ list_add_tail(&descdone->rqd, &pl330->req_done); @@ -2089,7 +2089,7 @@ static void pl330_tasklet(struct tasklet } else { /* Make sure the PL330 Channel thread is active */ spin_lock(&pch->thread->dmac->lock); - _start(pch->thread); + _start_thread(pch->thread); spin_unlock(&pch->thread->dmac->lock); } @@ -2107,7 +2107,7 @@ static void pl330_tasklet(struct tasklet if (power_down) { pch->active = true; spin_lock(&pch->thread->dmac->lock); - _start(pch->thread); + _start_thread(pch->thread); spin_unlock(&pch->thread->dmac->lock); power_down = false; }
"_start" is used in several arches and proably should be reserved for ARCH usage. Using it in a driver for a private symbol can cause a build error when it conflicts with ARCH usage of the same symbol. Therefore rename pl330's "_start" to "_start_thread" so that there is no conflict and no build error. drivers/dma/pl330.c:1053:13: error: '_start' redeclared as different kind of symbol 1053 | static bool _start(struct pl330_thread *thrd) | ^~~~~~ In file included from ../include/linux/interrupt.h:21, from ../drivers/dma/pl330.c:18: arch/riscv/include/asm/sections.h:11:13: note: previous declaration of '_start' with type 'char[]' 11 | extern char _start[]; | ^~~~~~ Fixes: b7d861d93945 ("DMA: PL330: Merge PL330 driver into drivers/dma/") Fixes: ae43b3289186 ("ARM: 8202/1: dmaengine: pl330: Add runtime Power Management support v12") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Jaswinder Singh <jassisinghbrar@gmail.com> Cc: Jaswinder Singh <jassi.brar@samsung.com> Cc: Boojin Kim <boojin.kim@samsung.com> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Vinod Koul <vkoul@kernel.org> Cc: dmaengine@vger.kernel.org Cc: linux-riscv@lists.infradead.org --- drivers/dma/pl330.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)