* [PATCH] Remove __work from PIPELINE_INBAND_WORK_INITIALIZER
@ 2022-04-06 21:06 Richard Weinberger
2022-04-07 8:03 ` Bezdeka, Florian
2022-04-07 9:35 ` Jan Kiszka
0 siblings, 2 replies; 4+ messages in thread
From: Richard Weinberger @ 2022-04-06 21:06 UTC (permalink / raw)
To: xenomai; +Cc: Richard Weinberger
ipipe took a copy of the queued work, __work was used to determine how much
bytes had to get copied.
With dovetail no copy as taken and the __work parameter is no longer
useful, so we can get rid of it.
Signed-off-by: Richard Weinberger <richard@nod.at>
---
include/cobalt/kernel/dovetail/pipeline/inband_work.h | 2 +-
include/cobalt/kernel/rtdm/driver.h | 3 +--
kernel/cobalt/rtdm/drvlib.c | 3 +--
kernel/cobalt/rtdm/fd.c | 3 +--
kernel/cobalt/thread.c | 8 +++-----
kernel/drivers/udd/udd.c | 3 +--
6 files changed, 8 insertions(+), 14 deletions(-)
diff --git a/include/cobalt/kernel/dovetail/pipeline/inband_work.h b/include/cobalt/kernel/dovetail/pipeline/inband_work.h
index af3d70fc6..a69bf651f 100644
--- a/include/cobalt/kernel/dovetail/pipeline/inband_work.h
+++ b/include/cobalt/kernel/dovetail/pipeline/inband_work.h
@@ -17,7 +17,7 @@ struct pipeline_inband_work {
struct irq_work work;
};
-#define PIPELINE_INBAND_WORK_INITIALIZER(__work, __handler) \
+#define PIPELINE_INBAND_WORK_INITIALIZER(__handler) \
{ \
.work = IRQ_WORK_INIT((void (*)(struct irq_work *))__handler), \
}
diff --git a/include/cobalt/kernel/rtdm/driver.h b/include/cobalt/kernel/rtdm/driver.h
index 930da34ed..d5f3dad34 100644
--- a/include/cobalt/kernel/rtdm/driver.h
+++ b/include/cobalt/kernel/rtdm/driver.h
@@ -924,8 +924,7 @@ static inline void rtdm_nrtsig_init(rtdm_nrtsig_t *nrt_sig,
rtdm_nrtsig_handler_t handler, void *arg)
{
nrt_sig->inband_work = (struct pipeline_inband_work)
- PIPELINE_INBAND_WORK_INITIALIZER(*nrt_sig,
- __rtdm_nrtsig_execute);
+ PIPELINE_INBAND_WORK_INITIALIZER(__rtdm_nrtsig_execute);
nrt_sig->handler = handler;
nrt_sig->arg = arg;
}
diff --git a/kernel/cobalt/rtdm/drvlib.c b/kernel/cobalt/rtdm/drvlib.c
index 4ae1ed672..4eaf3a57c 100644
--- a/kernel/cobalt/rtdm/drvlib.c
+++ b/kernel/cobalt/rtdm/drvlib.c
@@ -1666,8 +1666,7 @@ static void lostage_schedule_work(struct pipeline_inband_work *inband_work)
static struct lostage_trigger_work {
struct pipeline_inband_work inband_work; /* Must be first. */
} nrt_work = {
- .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(nrt_work,
- lostage_schedule_work),
+ .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(lostage_schedule_work),
};
/**
diff --git a/kernel/cobalt/rtdm/fd.c b/kernel/cobalt/rtdm/fd.c
index bbeea06ae..3c26534f3 100644
--- a/kernel/cobalt/rtdm/fd.c
+++ b/kernel/cobalt/rtdm/fd.c
@@ -304,8 +304,7 @@ static void lostage_trigger_close(struct pipeline_inband_work *inband_work)
static struct lostage_trigger_close {
struct pipeline_inband_work inband_work; /* Must be first. */
} fd_closework = {
- .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(fd_closework,
- lostage_trigger_close),
+ .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(lostage_trigger_close),
};
static void __put_fd(struct rtdm_fd *fd, spl_t s)
diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index dfaef7564..41804b24f 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -151,7 +151,7 @@ static int map_kthread(struct xnthread *thread, struct kthread_arg *ka)
trace_cobalt_lostage_request("wakeup", current);
ka->inband_work = (struct pipeline_inband_work)
- PIPELINE_INBAND_WORK_INITIALIZER(*ka, do_parent_wakeup);
+ PIPELINE_INBAND_WORK_INITIALIZER(do_parent_wakeup);
pipeline_post_inband_work(ka);
xnlock_get_irqsave(&nklock, s);
@@ -2047,8 +2047,7 @@ void xnthread_relax(int notify, int reason)
{
struct task_struct *p = current;
struct lostage_wakeup wakework = {
- .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(wakework,
- lostage_task_wakeup),
+ .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(lostage_task_wakeup),
.task = p,
};
struct xnthread *thread = xnthread_current();
@@ -2393,8 +2392,7 @@ void __xnthread_signal(struct xnthread *thread, int sig, int arg)
return;
sigwork->inband_work = (struct pipeline_inband_work)
- PIPELINE_INBAND_WORK_INITIALIZER(*sigwork,
- lostage_task_signal);
+ PIPELINE_INBAND_WORK_INITIALIZER(lostage_task_signal);
sigwork->task = xnthread_host_task(thread);
sigwork->signo = sig;
sigwork->sigval = sig == SIGDEBUG ? arg | sigdebug_marker : arg;
diff --git a/kernel/drivers/udd/udd.c b/kernel/drivers/udd/udd.c
index d263afc72..958208ec7 100644
--- a/kernel/drivers/udd/udd.c
+++ b/kernel/drivers/udd/udd.c
@@ -552,8 +552,7 @@ static void switch_irq_line(rtdm_irq_t *irqh, int enable, rtdm_event_t *done)
return;
rq->inband_work = (struct pipeline_inband_work)
- PIPELINE_INBAND_WORK_INITIALIZER(*rq,
- lostage_irqswitch_line);
+ PIPELINE_INBAND_WORK_INITIALIZER(lostage_irqswitch_line);
rq->irqh = irqh;
rq->enabled = enable;
rq->done = done;
--
2.26.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] Remove __work from PIPELINE_INBAND_WORK_INITIALIZER
2022-04-06 21:06 [PATCH] Remove __work from PIPELINE_INBAND_WORK_INITIALIZER Richard Weinberger
@ 2022-04-07 8:03 ` Bezdeka, Florian
2022-04-07 8:04 ` Richard Weinberger
2022-04-07 9:35 ` Jan Kiszka
1 sibling, 1 reply; 4+ messages in thread
From: Bezdeka, Florian @ 2022-04-07 8:03 UTC (permalink / raw)
To: xenomai, richard
Hi Richard,
On Wed, 2022-04-06 at 23:06 +0200, Richard Weinberger via Xenomai
wrote:
> ipipe took a copy of the queued work, __work was used to determine how much
> bytes had to get copied.
> With dovetail no copy as taken and the __work parameter is no longer
^^ is
> useful, so we can get rid of it.
The rest LGTM. Commit message could be fixed up on merge as long as Jan
does not insist on sending out a v2.
Regards,
Florian
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Remove __work from PIPELINE_INBAND_WORK_INITIALIZER
2022-04-07 8:03 ` Bezdeka, Florian
@ 2022-04-07 8:04 ` Richard Weinberger
0 siblings, 0 replies; 4+ messages in thread
From: Richard Weinberger @ 2022-04-07 8:04 UTC (permalink / raw)
To: Bezdeka, Florian; +Cc: xenomai, richard
On Thu, Apr 7, 2022 at 10:03 AM Bezdeka, Florian via Xenomai
<xenomai@xenomai.org> wrote:
>
> Hi Richard,
>
> On Wed, 2022-04-06 at 23:06 +0200, Richard Weinberger via Xenomai
> wrote:
> > ipipe took a copy of the queued work, __work was used to determine how much
> > bytes had to get copied.
> > With dovetail no copy as taken and the __work parameter is no longer
> ^^ is
> > useful, so we can get rid of it.
>
> The rest LGTM. Commit message could be fixed up on merge as long as Jan
> does not insist on sending out a v2.
I'll happily send a v2. :-)
--
Thanks,
//richard
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Remove __work from PIPELINE_INBAND_WORK_INITIALIZER
2022-04-06 21:06 [PATCH] Remove __work from PIPELINE_INBAND_WORK_INITIALIZER Richard Weinberger
2022-04-07 8:03 ` Bezdeka, Florian
@ 2022-04-07 9:35 ` Jan Kiszka
1 sibling, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2022-04-07 9:35 UTC (permalink / raw)
To: Richard Weinberger, xenomai
On 06.04.22 23:06, Richard Weinberger via Xenomai wrote:
> ipipe took a copy of the queued work, __work was used to determine how much
> bytes had to get copied.
> With dovetail no copy as taken and the __work parameter is no longer
> useful, so we can get rid of it.
>
> Signed-off-by: Richard Weinberger <richard@nod.at>
> ---
> include/cobalt/kernel/dovetail/pipeline/inband_work.h | 2 +-
> include/cobalt/kernel/rtdm/driver.h | 3 +--
> kernel/cobalt/rtdm/drvlib.c | 3 +--
> kernel/cobalt/rtdm/fd.c | 3 +--
> kernel/cobalt/thread.c | 8 +++-----
> kernel/drivers/udd/udd.c | 3 +--
> 6 files changed, 8 insertions(+), 14 deletions(-)
>
> diff --git a/include/cobalt/kernel/dovetail/pipeline/inband_work.h b/include/cobalt/kernel/dovetail/pipeline/inband_work.h
> index af3d70fc6..a69bf651f 100644
> --- a/include/cobalt/kernel/dovetail/pipeline/inband_work.h
> +++ b/include/cobalt/kernel/dovetail/pipeline/inband_work.h
> @@ -17,7 +17,7 @@ struct pipeline_inband_work {
> struct irq_work work;
> };
>
> -#define PIPELINE_INBAND_WORK_INITIALIZER(__work, __handler) \
> +#define PIPELINE_INBAND_WORK_INITIALIZER(__handler) \
> { \
> .work = IRQ_WORK_INIT((void (*)(struct irq_work *))__handler), \
> }
> diff --git a/include/cobalt/kernel/rtdm/driver.h b/include/cobalt/kernel/rtdm/driver.h
> index 930da34ed..d5f3dad34 100644
> --- a/include/cobalt/kernel/rtdm/driver.h
> +++ b/include/cobalt/kernel/rtdm/driver.h
> @@ -924,8 +924,7 @@ static inline void rtdm_nrtsig_init(rtdm_nrtsig_t *nrt_sig,
> rtdm_nrtsig_handler_t handler, void *arg)
> {
> nrt_sig->inband_work = (struct pipeline_inband_work)
> - PIPELINE_INBAND_WORK_INITIALIZER(*nrt_sig,
> - __rtdm_nrtsig_execute);
> + PIPELINE_INBAND_WORK_INITIALIZER(__rtdm_nrtsig_execute);
> nrt_sig->handler = handler;
> nrt_sig->arg = arg;
> }
> diff --git a/kernel/cobalt/rtdm/drvlib.c b/kernel/cobalt/rtdm/drvlib.c
> index 4ae1ed672..4eaf3a57c 100644
> --- a/kernel/cobalt/rtdm/drvlib.c
> +++ b/kernel/cobalt/rtdm/drvlib.c
> @@ -1666,8 +1666,7 @@ static void lostage_schedule_work(struct pipeline_inband_work *inband_work)
> static struct lostage_trigger_work {
> struct pipeline_inband_work inband_work; /* Must be first. */
> } nrt_work = {
> - .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(nrt_work,
> - lostage_schedule_work),
> + .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(lostage_schedule_work),
> };
>
> /**
> diff --git a/kernel/cobalt/rtdm/fd.c b/kernel/cobalt/rtdm/fd.c
> index bbeea06ae..3c26534f3 100644
> --- a/kernel/cobalt/rtdm/fd.c
> +++ b/kernel/cobalt/rtdm/fd.c
> @@ -304,8 +304,7 @@ static void lostage_trigger_close(struct pipeline_inband_work *inband_work)
> static struct lostage_trigger_close {
> struct pipeline_inband_work inband_work; /* Must be first. */
> } fd_closework = {
> - .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(fd_closework,
> - lostage_trigger_close),
> + .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(lostage_trigger_close),
> };
>
> static void __put_fd(struct rtdm_fd *fd, spl_t s)
> diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
> index dfaef7564..41804b24f 100644
> --- a/kernel/cobalt/thread.c
> +++ b/kernel/cobalt/thread.c
> @@ -151,7 +151,7 @@ static int map_kthread(struct xnthread *thread, struct kthread_arg *ka)
> trace_cobalt_lostage_request("wakeup", current);
>
> ka->inband_work = (struct pipeline_inband_work)
> - PIPELINE_INBAND_WORK_INITIALIZER(*ka, do_parent_wakeup);
> + PIPELINE_INBAND_WORK_INITIALIZER(do_parent_wakeup);
> pipeline_post_inband_work(ka);
>
> xnlock_get_irqsave(&nklock, s);
> @@ -2047,8 +2047,7 @@ void xnthread_relax(int notify, int reason)
> {
> struct task_struct *p = current;
> struct lostage_wakeup wakework = {
> - .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(wakework,
> - lostage_task_wakeup),
> + .inband_work = PIPELINE_INBAND_WORK_INITIALIZER(lostage_task_wakeup),
> .task = p,
> };
> struct xnthread *thread = xnthread_current();
> @@ -2393,8 +2392,7 @@ void __xnthread_signal(struct xnthread *thread, int sig, int arg)
> return;
>
> sigwork->inband_work = (struct pipeline_inband_work)
> - PIPELINE_INBAND_WORK_INITIALIZER(*sigwork,
> - lostage_task_signal);
> + PIPELINE_INBAND_WORK_INITIALIZER(lostage_task_signal);
> sigwork->task = xnthread_host_task(thread);
> sigwork->signo = sig;
> sigwork->sigval = sig == SIGDEBUG ? arg | sigdebug_marker : arg;
> diff --git a/kernel/drivers/udd/udd.c b/kernel/drivers/udd/udd.c
> index d263afc72..958208ec7 100644
> --- a/kernel/drivers/udd/udd.c
> +++ b/kernel/drivers/udd/udd.c
> @@ -552,8 +552,7 @@ static void switch_irq_line(rtdm_irq_t *irqh, int enable, rtdm_event_t *done)
> return;
>
> rq->inband_work = (struct pipeline_inband_work)
> - PIPELINE_INBAND_WORK_INITIALIZER(*rq,
> - lostage_irqswitch_line);
> + PIPELINE_INBAND_WORK_INITIALIZER(lostage_irqswitch_line);
> rq->irqh = irqh;
> rq->enabled = enable;
> rq->done = done;
Thanks, applied (with that spelling fix).
Jan
--
Siemens AG, Technology
Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-04-07 9:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-06 21:06 [PATCH] Remove __work from PIPELINE_INBAND_WORK_INITIALIZER Richard Weinberger
2022-04-07 8:03 ` Bezdeka, Florian
2022-04-07 8:04 ` Richard Weinberger
2022-04-07 9:35 ` Jan Kiszka
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.