From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
Cc: Devicetree Compiler
<devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Benjamin Bimmermann <b.bimmermann-LWAfsSFWpa4@public.gmane.org>,
Ulrich Langenbach
<ulrich.langenbach-srmvecZYGfHobmly5n/iKBvVK+yQ3ZXh@public.gmane.org>
Subject: Re: [PATCH v7 4/5] Adjust libfdt.h to work with swig
Date: Fri, 24 Feb 2017 13:55:00 +1100 [thread overview]
Message-ID: <20170224025500.GL17615@umbus.fritz.box> (raw)
In-Reply-To: <20170222043340.17008-5-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2862 bytes --]
On Tue, Feb 21, 2017 at 09:33:39PM -0700, Simon Glass wrote:
> There are a few places where libfdt.h cannot be used as is with swig:
>
> - macros like fdt_totalsize() have to be defined as C declarations
> - fdt_offset_ptr() and fdt_getprop_namelen() need special treatment due to
> a TODO in the wrapper for fdt_getprop(). However they are not useful to
> Python so can be removed
>
> Add #ifdefs to work around these problem.
>
> Signed-off-by: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
> ---
>
> Changes in v7: None
> Changes in v6: None
> Changes in v5:
> - Update commit message
> - Drop #ifdef around fdt_get_header() macros
>
> Changes in v4:
> - Add new patch to adjust libfdt.h to work with swig
>
> Changes in v3: None
> Changes in v2: None
>
> libfdt/libfdt.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h
> index c69e918..2aa8ff6 100644
> --- a/libfdt/libfdt.h
> +++ b/libfdt/libfdt.h
> @@ -143,7 +143,9 @@
> /* Low-level functions (you probably don't need these) */
> /**********************************************************************/
>
> +#ifndef SWIG /* This functions are not useful in Python */
> const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int checklen);
> +#endif
> static inline void *fdt_offset_ptr_w(void *fdt, int offset, int checklen)
> {
> return (void *)(uintptr_t)fdt_offset_ptr(fdt, offset, checklen);
> @@ -210,7 +212,6 @@ int fdt_next_subnode(const void *fdt, int offset);
> /**********************************************************************/
> /* General functions */
> /**********************************************************************/
> -
This looks to be an unrelated change.
> #define fdt_get_header(fdt, field) \
> (fdt32_to_cpu(((const struct fdt_header *)(fdt))->field))
> #define fdt_magic(fdt) (fdt_get_header(fdt, magic))
> @@ -638,8 +639,10 @@ const void *fdt_getprop_by_offset(const void *fdt, int offset,
> * Identical to fdt_getprop(), but only examine the first namelen
> * characters of name for matching the property name.
> */
> +#ifndef SWIG /* Not available in Python */
> const void *fdt_getprop_namelen(const void *fdt, int nodeoffset,
> const char *name, int namelen, int *lenp);
> +#endif
> static inline void *fdt_getprop_namelen_w(void *fdt, int nodeoffset,
> const char *name, int namelen,
> int *lenp)
You might as well exclude all the rest of the 'namelen' functions
while you're at it.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2017-02-24 2:55 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-22 4:33 [PATCH v7 0/5] Introduce Python bindings for libfdt Simon Glass
[not found] ` <20170222043340.17008-1-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-22 4:33 ` [PATCH v7 1/5] Add an initial Python library " Simon Glass
[not found] ` <20170222043340.17008-2-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-24 2:43 ` David Gibson
[not found] ` <20170224024317.GI17615-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-03-01 5:40 ` Simon Glass
[not found] ` <CAPnjgZ3p3KfDwJwj=VfnQURL5MQ2tWXBMrb8RViK+tDhj1ikHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-03 4:21 ` David Gibson
2017-02-22 4:33 ` [PATCH v7 2/5] Add tests for pylibfdt Simon Glass
[not found] ` <20170222043340.17008-3-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-24 2:52 ` David Gibson
[not found] ` <20170224025254.GJ17615-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-03-01 5:40 ` Simon Glass
[not found] ` <CAPnjgZ0SB4j1QyD7TrnJf=WTt3To0SvUBT5p81vzfnDMxz1aGA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-03 4:22 ` David Gibson
2017-02-22 4:33 ` [PATCH v7 3/5] Mention pylibfdt in the documentation Simon Glass
[not found] ` <20170222043340.17008-4-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-24 2:53 ` David Gibson
2017-02-22 4:33 ` [PATCH v7 4/5] Adjust libfdt.h to work with swig Simon Glass
[not found] ` <20170222043340.17008-5-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-24 2:55 ` David Gibson [this message]
2017-02-22 4:33 ` [PATCH v7 5/5] Build pylibfdt as part of the normal build process Simon Glass
[not found] ` <20170222043340.17008-6-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-24 2:55 ` David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170224025500.GL17615@umbus.fritz.box \
--to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
--cc=b.bimmermann-LWAfsSFWpa4@public.gmane.org \
--cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=ulrich.langenbach-srmvecZYGfHobmly5n/iKBvVK+yQ3ZXh@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.