From: Boris Brezillon <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: "Rafał Miłecki" <zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "David Woodhouse" <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
"Brian Norris"
<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Marek Vasut"
<marek.vasut-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Richard Weinberger" <richard-/L3Ra7n9ekc@public.gmane.org>,
"Cyrille Pitchen"
<cyrille.pitchen-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>,
"Rob Herring" <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"Mark Rutland" <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
"Frank Rowand"
<frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Linus Walleij"
<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Rafał Miłecki" <rafal-g1n6cQUeyibVItvQsEIGlw@public.gmane.org>
Subject: Re: [PATCH V3 2/3] mtd: add core code reading DT specified part probes
Date: Sun, 9 Apr 2017 15:28:21 +0200 [thread overview]
Message-ID: <20170409152821.585eb8a4@bbrezillon> (raw)
In-Reply-To: <20170409130406.564802a4@bbrezillon>
On Sun, 9 Apr 2017 13:04:06 +0200
Boris Brezillon <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
> static char **mtd_alloc_part_type_table(int nentries)
Oops, s/char **/const char **/
> {
> return kzalloc((nentries + 1) * sizeof(*res), GFP_KERNEL);
> }
>
> static void mtd_free_part_type_table(const char * const *table)
> {
> kfree(table);
> }
I realize this might not be suitable for all kind of part-probes
definitions. Some might need to dynamically allocate each string and
expect the core to free them in mtd_free_part_type_table() (the one I
have in mind is the cmdline part-probes parser). Others already have
the strings statically defined or allocated and maintained somewhere
else (this is the case with DT which provides direct access to string
definitions), which means the core shouldn't free them.
I see 3 solutions to this problem:
1/ go back to your initial solution with DT specific functions, and
wait until someone decides to implement another way to define
part-probes (cmdline or ACPI) before considering a more complex
solution
2/ always allocate strings dynamically and let
mtd_free_part_type_table() free them. This implies using kstrdup() on
strings returned by of_property_read_string_array()
3/ use something smarter to let the part-probes table creator free it,
for example, by using something like:
struct mtd_part_probes {
const char * const *types;
void (*free)(const char * const *types);
}
#3 is overkill IMO. I'm fine with #1 and #2, pick the one you prefer.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-04-09 13:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-31 11:40 [PATCH V3 1/3] dt-bindings: mtd: document linux,part-probe property Rafał Miłecki
[not found] ` <20170331114016.26858-1-zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-03-31 11:40 ` [PATCH V3 2/3] mtd: add core code reading DT specified part probes Rafał Miłecki
[not found] ` <20170331114016.26858-2-zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-09 11:04 ` Boris Brezillon
2017-04-09 13:28 ` Boris Brezillon [this message]
2017-03-31 11:40 ` [PATCH V3 3/3] mtd: physmap_of: drop duplicated support for linux,part-probe property Rafał Miłecki
[not found] ` <20170331114016.26858-3-zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-09 11:04 ` Boris Brezillon
2017-04-03 16:40 ` [PATCH V3 1/3] dt-bindings: mtd: document " Rob Herring
2017-04-09 10:40 ` Boris Brezillon
2017-04-17 18:28 ` [PATCH V4 " Rafał Miłecki
[not found] ` <20170417182853.24281-1-zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-17 18:28 ` [PATCH V4 2/3] mtd: add core code reading DT specified part probes Rafał Miłecki
[not found] ` <20170417182853.24281-2-zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-17 19:31 ` Boris Brezillon
2017-04-17 18:28 ` [PATCH V4 3/3] mtd: physmap_of: drop duplicated support for linux, part-probe property Rafał Miłecki
2017-04-17 19:47 ` [PATCH V5 1/3] dt-bindings: mtd: document linux,part-probe property Rafał Miłecki
[not found] ` <20170417194746.10697-1-zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-17 19:47 ` [PATCH V5 2/3] mtd: add core code reading DT specified part probes Rafał Miłecki
2017-04-17 19:47 ` [PATCH V5 3/3] mtd: physmap_of: drop duplicated support for linux, part-probe property Rafał Miłecki
2017-04-19 20:37 ` [PATCH V5 1/3] dt-bindings: mtd: document linux,part-probe property Brian Norris
[not found] ` <20170419203705.GF20555-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2017-04-19 20:55 ` Boris Brezillon
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=20170409152821.585eb8a4@bbrezillon \
--to=boris.brezillon-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
--cc=computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=cyrille.pitchen-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=marek.vasut-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=rafal-g1n6cQUeyibVItvQsEIGlw@public.gmane.org \
--cc=richard-/L3Ra7n9ekc@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=zajec5-Re5JQEeQqe8AvxtiuMwx3w@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).