[Pdbg] [PATCH] libpdbg: Add api to get 32-bit device tree property
Alistair Popple
alistair at popple.id.au
Wed Nov 7 15:49:28 AEDT 2018
On Monday, 5 November 2018 12:02:58 PM AEDT Amitay Isaacs wrote:
> On Tue, 2018-10-23 at 14:35 +1100, Alistair Popple wrote:
> > ---
> >
> > libpdbg/libpdbg.c | 12 ++++++++++++
> > libpdbg/libpdbg.h | 1 +
> > 2 files changed, 13 insertions(+)
> >
> > diff --git a/libpdbg/libpdbg.c b/libpdbg/libpdbg.c
> > index 810e045..ccaad3e 100644
> > --- a/libpdbg/libpdbg.c
> > +++ b/libpdbg/libpdbg.c
> > @@ -186,6 +186,18 @@ static int pdbg_get_target_u64_property(struct
> > pdbg_target *target, const char *
> >
> > return 0;
> >
> > }
> >
> > +int pdbg_get_target_u32_property(struct pdbg_target *target, const
> > char *name, uint32_t *val)
> > +{
> > + struct dt_property *p;
> > +
> > + p = dt_find_property(target, name);
> > + if (!p)
> > + return -1;
> > +
> > + *val = dt_get_number(p->prop, 1);
> > + return 0;
> > +}
> > +
> >
> > int pdbg_get_u64_property(struct pdbg_target *target, const char
> >
> > *name, uint64_t *val)
> >
> > {
> >
> > struct pdbg_target *dn;
>
> May be we should add consistent function names?
Agreed ...
> How about pdbg_target_get_u32_property?
> Or pdbg_target_get_property_u32?
... to the point where I caught this and changed it to
pdbg_target_u32_property() in "[PATCH 04/10] libpdbg: Rename property
functions" ...
> We should fix names for get_property and set_property api too.
... which also changes those.
> How much tied are we to the current libpdbg api?
Somewhat but not strictly. We have two other projects that I know of using the
API and they're both fairly easy to update.
- Alistair
> > diff --git a/libpdbg/libpdbg.h b/libpdbg/libpdbg.h
> > index c54e852..b1d6655 100644
> > --- a/libpdbg/libpdbg.h
> > +++ b/libpdbg/libpdbg.h
> > @@ -72,6 +72,7 @@ void pdbg_set_target_property(struct pdbg_target
> > *target, const char *name, cons
> >
> > /* Get the given property and return the size */
> > void *pdbg_get_target_property(struct pdbg_target *target, const
> >
> > char *name, size_t *size);
> > +int pdbg_get_target_u32_property(struct pdbg_target *target, const
> > char *name, uint32_t *val);
> >
> > int pdbg_get_u64_property(struct pdbg_target *target, const char
> >
> > *name, uint64_t *val);
> >
> > uint64_t pdbg_get_address(struct pdbg_target *target, uint64_t
> >
> > *size);
>
> Amitay.
More information about the Pdbg
mailing list