Skip to content

Commit

Permalink
apps: Remove manual assignment of ops and priv to rproc struct
Browse files Browse the repository at this point in the history
This is handled by default, remove instances from apps. In cases
where there is nothing left in the init() callback remove it as
it is now optional.

Signed-off-by: Andrew Davis <afd@ti.com>
  • Loading branch information
glneo authored and arnopo committed May 16, 2024
1 parent babba1b commit e03d09a
Show file tree
Hide file tree
Showing 8 changed files with 12 additions and 28 deletions.
2 changes: 1 addition & 1 deletion apps/examples/load_fw/zynqmp_apu_lcm_rproc_example.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ static struct remoteproc *apu_rproc_init(struct remoteproc *rproc,
return NULL;
}

(void)ops;
LPRINTF("%s: node id: %d\n\r", __func__, cpu_id);
priv = metal_allocate_memory(sizeof(*priv));
if (!priv)
return NULL;
memset(priv, 0, sizeof(*priv));
priv->rproc = rproc;
priv->cpu_id = cpu_id;
priv->rproc->ops = ops;
priv->rproc->priv = priv;
rproc->state = RPROC_READY;
return priv->rproc;
Expand Down
2 changes: 1 addition & 1 deletion apps/examples/load_fw/zynqmp_r5_lcm_rproc_example.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,14 @@ struct remoteproc *r5_rproc_init(struct remoteproc *rproc,
return NULL;
}

(void)ops;
xil_printf("rproc init: node id: %d\r\n", cpu_id);
priv = metal_allocate_memory(sizeof(*priv));
if (!priv)
return NULL;
memset(priv, 0, sizeof(*priv));
priv->rproc = rproc;
priv->cpu_id = cpu_id;
priv->rproc->ops = ops;
priv->rproc->priv = priv;
priv->rpu_base = RPU_BASE_ADDR;
metal_io_init(&priv->rpu_io, (void *)RPU_BASE_ADDR, &priv->rpu_base,
Expand Down
2 changes: 1 addition & 1 deletion apps/examples/load_fw/zynqmp_rpu_lcm_rproc_example.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ static struct remoteproc *rpu_rproc_init(struct remoteproc *rproc,
return NULL;
}

(void)ops;
LPRINTF("%s: node id: %d\n\r", __func__, cpu_id);
priv = metal_allocate_memory(sizeof(*priv));
if (!priv)
return NULL;
memset(priv, 0, sizeof(*priv));
priv->rproc = rproc;
priv->cpu_id = cpu_id;
priv->rproc->ops = ops;
priv->rproc->priv = priv;
rproc->state = RPROC_READY;
return priv->rproc;
Expand Down
15 changes: 1 addition & 14 deletions apps/machine/microblaze_generic/zynqmp_mb_a53_rproc.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,6 @@
#include <openamp/rpmsg_virtio.h>
#include "platform_info.h"

static struct remoteproc *
zynqmp_mb_a53_proc_init(struct remoteproc *rproc,
const struct remoteproc_ops *ops, void *arg)
{
struct remoteproc_priv *prproc = arg;

if (!rproc || !prproc || !ops)
return NULL;
rproc->priv = prproc;
rproc->ops = ops;
return rproc;
}

static inline void zynqmp_mb_a53_proc_remove(struct remoteproc *rproc)
{
(void)rproc;
Expand Down Expand Up @@ -108,7 +95,7 @@ static int zynqmp_mb_a53_proc_notify(struct remoteproc *rproc, uint32_t id)
* notification operation and remote processor management operations.
*/
const struct remoteproc_ops zynqmp_mb_a53_proc_ops = {
.init = zynqmp_mb_a53_proc_init,
.init = NULL,
.remove = zynqmp_mb_a53_proc_remove,
.mmap = zynqmp_mb_a53_proc_mmap,
.notify = zynqmp_mb_a53_proc_notify,
Expand Down
5 changes: 2 additions & 3 deletions apps/machine/zynq7/zynq_a9_rproc.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,20 +52,19 @@ zynq_a9_proc_init(struct remoteproc *rproc,
unsigned int irq_vect;
int ret;

if (!rproc || !prproc || !ops)
(void)ops;
if (!rproc || !prproc)
return NULL;
ret = metal_device_open(prproc->gic_bus_name, prproc->gic_name,
&dev);
if (ret) {
xil_printf("failed to open GIC device: %d.\r\n", ret);
return NULL;
}
rproc->priv = prproc;
prproc->gic_dev = dev;
prproc->gic_io = metal_device_io_region(dev, 0);
if (!prproc->gic_io)
goto err1;
rproc->ops = ops;
atomic_flag_test_and_set(&prproc->nokick);

/* Register interrupt handler and enable interrupt */
Expand Down
5 changes: 2 additions & 3 deletions apps/machine/zynqmp/zynqmp_linux_r5_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,9 @@ zynqmp_linux_r5_proc_init(struct remoteproc *rproc,
metal_phys_addr_t mem_pa;
int ret;

if (!rproc || !prproc || !ops)
(void)ops;
if (!rproc || !prproc)
return NULL;
rproc->priv = prproc;
rproc->ops = ops;
prproc->ipi_dev = NULL;
prproc->shm_dev = NULL;
/* Get shared memory device */
Expand Down
5 changes: 2 additions & 3 deletions apps/machine/zynqmp_r5/zynqmp_r5_a53_rproc.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ zynqmp_r5_a53_proc_init(struct remoteproc *rproc,
unsigned int irq_vect;
int ret;

if (!rproc || !prproc || !ops)
(void)ops;
if (!rproc || !prproc)
return NULL;
ret = metal_device_open(prproc->kick_dev_bus_name,
prproc->kick_dev_name,
Expand All @@ -74,7 +75,6 @@ zynqmp_r5_a53_proc_init(struct remoteproc *rproc,
xil_printf("failed to open polling device: %d.\r\n", ret);
return NULL;
}
rproc->priv = prproc;
prproc->kick_dev = kick_dev;
prproc->kick_io = metal_device_io_region(kick_dev, 0);
if (!prproc->kick_io)
Expand All @@ -91,7 +91,6 @@ zynqmp_r5_a53_proc_init(struct remoteproc *rproc,
(void)irq_vect;
metal_io_write32(prproc->kick_io, 0, !POLL_STOP);
#endif /* !RPMSG_NO_IPI */
rproc->ops = ops;

return rproc;
err1:
Expand Down
4 changes: 2 additions & 2 deletions apps/system/linux/machine/generic/platform_info.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,9 +247,10 @@ linux_proc_init(struct remoteproc *rproc,
struct vring_ipi_info *ipi;
int ret;

(void)ops;
if (!rproc || !prproc)
return NULL;
rproc->priv = prproc;

/* Create shared memory io */
ret = metal_shmem_open(prproc->shm_file, prproc->shm_size, &io);
if (ret) {
Expand Down Expand Up @@ -281,7 +282,6 @@ linux_proc_init(struct remoteproc *rproc,
}
metal_irq_register(ipi->fd, linux_proc_irq_handler, ipi);
metal_irq_enable(ipi->fd);
rproc->ops = ops;
return rproc;

err:
Expand Down

0 comments on commit e03d09a

Please sign in to comment.