From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Linus Walleij <linus.walleij@linaro.org>,
linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org
Subject: Re: [PATCH v2 1/3] software node: implement reference properties
Date: Mon, 9 Sep 2019 13:09:18 +0300 [thread overview]
Message-ID: <20190909100918.GS2680@smile.fi.intel.com> (raw)
In-Reply-To: <20190907182335.GB145199@dtor-ws>
On Sat, Sep 07, 2019 at 11:23:35AM -0700, Dmitry Torokhov wrote:
> On Sat, Sep 07, 2019 at 09:03:48PM +0300, Andy Shevchenko wrote:
> > On Sat, Sep 07, 2019 at 10:37:24AM -0700, Dmitry Torokhov wrote:
> > > On Sat, Sep 07, 2019 at 08:12:51PM +0300, Andy Shevchenko wrote:
> > > > On Sat, Sep 07, 2019 at 09:32:40AM -0700, Dmitry Torokhov wrote:
> > > > > On Sat, Sep 07, 2019 at 07:08:19PM +0300, Andy Shevchenko wrote:
> > > > > > On Fri, Sep 06, 2019 at 03:26:09PM -0700, Dmitry Torokhov wrote:
> > > >
> > > > > > > + } else if (src->type == DEV_PROP_REF) {
> > > > > > > + /* All reference properties must be arrays */
> > > > > > > + return -EINVAL;
> > > > > >
> > > > > > Hmm... What about to duplicate pointer under value union and use is_array to
> > > > > > distinguish which one to use? Because...
> > > > >
> > > > > Then we have to special-case copying this entry, similar to the pains we
> > > > > are going with the strings.
> > > >
> > > > I can't see it as a pain. Simple do the same kmemdup() for the case when
> > > > is_array = false and DEV_TYPE_REF?
> > >
> > > And then you need to make sure it is freed on error paths and when we
> > > remove property entries. This requires more checks and code. In contrast
> > > we already know how to handle out of line objects of arbitrary size.
> >
> > We can put it one level up to be a sibling to value / pointer unions.
> > In that case is_array can be anything (we just don't care).
>
> I think it would be better if you sketched out your proposed data
> structure(s) so we are talking about the same things. But please note
> that when you are dealing with property arrays we need to keep the easy
> way of defining them, which means we should not be splitting individual
> entries.
This one:
union {
union {
const u8 *u8_data;
const u16 *u16_data;
const u32 *u32_data;
const u64 *u64_data;
const char * const *str;
} pointer;
union {
u8 u8_data;
u16 u16_data;
u32 u32_data;
u64 u64_data;
const char *str;
} value;
struct ... *ref;
};
--
With Best Regards,
Andy Shevchenko
prev parent reply other threads:[~2019-09-09 10:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-06 22:26 [PATCH v2 1/3] software node: implement reference properties Dmitry Torokhov
2019-09-06 22:26 ` [PATCH v2 2/3] platform/x86: intel_cht_int33fe: use inline " Dmitry Torokhov
2019-09-07 16:12 ` Andy Shevchenko
2019-09-06 22:26 ` [PATCH v2 3/3] software node: remove separate handling of references Dmitry Torokhov
2019-09-07 16:13 ` Andy Shevchenko
2019-09-07 16:08 ` [PATCH v2 1/3] software node: implement reference properties Andy Shevchenko
2019-09-07 16:32 ` Dmitry Torokhov
2019-09-07 17:12 ` Andy Shevchenko
2019-09-07 17:37 ` Dmitry Torokhov
2019-09-07 18:03 ` Andy Shevchenko
2019-09-07 18:23 ` Dmitry Torokhov
2019-09-09 10:09 ` Andy Shevchenko [this message]
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=20190909100918.GS2680@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=dmitry.torokhov@gmail.com \
--cc=heikki.krogerus@linux.intel.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.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.