"_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 <[email protected]>
Cc: Jaswinder Singh <[email protected]>
Cc: Jaswinder Singh <[email protected]>
Cc: Boojin Kim <[email protected]>
Cc: Krzysztof Kozlowski <[email protected]>
Cc: Russell King <[email protected]>
Cc: Vinod Koul <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
drivers/dma/pl330.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
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;
}
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 <[email protected]>
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!
--
~Vinod
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.
--
~Randy