lkml.org 
[lkml]   [2020]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 1/4] remoteproc: Introduce rproc_of_parse_firmware() helper
    On Wed, May 20, 2020 at 07:10:03PM -0500, Suman Anna wrote:
    > Add a new helper function rproc_of_parse_firmware() to the remoteproc
    > core that can be used by various remoteproc drivers to look up the
    > the "firmware-name" property from a rproc device node. This property
    > is already being used by multiple drivers, so this helper can avoid
    > repeating equivalent code in remoteproc drivers.
    >
    > Signed-off-by: Suman Anna <s-anna@ti.com>
    > ---
    > v2: New patch
    >
    > drivers/remoteproc/remoteproc_core.c | 23 +++++++++++++++++++++++
    > drivers/remoteproc/remoteproc_internal.h | 2 ++
    > 2 files changed, 25 insertions(+)
    >

    Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>

    > diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
    > index 9f04c30c4aaf..c458b218d524 100644
    > --- a/drivers/remoteproc/remoteproc_core.c
    > +++ b/drivers/remoteproc/remoteproc_core.c
    > @@ -1034,6 +1034,29 @@ rproc_of_resm_mem_entry_init(struct device *dev, u32 of_resm_idx, size_t len,
    > }
    > EXPORT_SYMBOL(rproc_of_resm_mem_entry_init);
    >
    > +/**
    > + * rproc_of_parse_firmware() - parse and return the firmware-name
    > + * @dev: pointer on device struct representing a rproc
    > + * @index: index to use for the firmware-name retrieval
    > + * @fw_name: pointer to a character string, in which the firmware
    > + * name is returned on success and unmodified otherwise.
    > + *
    > + * This is an OF helper function that parses a device's DT node for
    > + * the "firmware-name" property and returns the firmware name pointer
    > + * in @fw_name on success.
    > + *
    > + * Return: 0 on success, or an appropriate failure.
    > + */
    > +int rproc_of_parse_firmware(struct device *dev, int index, const char **fw_name)
    > +{
    > + int ret;
    > +
    > + ret = of_property_read_string_index(dev->of_node, "firmware-name",
    > + index, fw_name);
    > + return ret ? ret : 0;
    > +}
    > +EXPORT_SYMBOL(rproc_of_parse_firmware);
    > +
    > /*
    > * A lookup table for resource handlers. The indices are defined in
    > * enum fw_resource_type.
    > diff --git a/drivers/remoteproc/remoteproc_internal.h b/drivers/remoteproc/remoteproc_internal.h
    > index 4ba7cb59d3e8..e5341e91d2fc 100644
    > --- a/drivers/remoteproc/remoteproc_internal.h
    > +++ b/drivers/remoteproc/remoteproc_internal.h
    > @@ -28,6 +28,8 @@ struct rproc_debug_trace {
    > void rproc_release(struct kref *kref);
    > irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int vq_id);
    > void rproc_vdev_release(struct kref *ref);
    > +int rproc_of_parse_firmware(struct device *dev, int index,
    > + const char **fw_name);
    >
    > /* from remoteproc_virtio.c */
    > int rproc_add_virtio_dev(struct rproc_vdev *rvdev, int id);
    > --
    > 2.26.0
    >

    \
     
     \ /
      Last update: 2020-06-02 21:38    [W:6.286 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site