[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f9403e7e-1b87-dc46-dfc5-62227c659e7c@gmail.com>
Date: Thu, 23 May 2019 10:17:50 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: linux-arm-kernel@...ts.infradead.org
Cc: james.quinlan@...adcom.com, bcm-kernel-feedback-list@...adcom.com,
Sudeep Holla <sudeep.holla@....com>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Viresh Kumar <viresh.kumar@...aro.org>,
Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>,
"open list:COMMON CLK FRAMEWORK" <linux-clk@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
"open list:CPU FREQUENCY SCALING FRAMEWORK"
<linux-pm@...r.kernel.org>,
"open list:HARDWARE MONITORING" <linux-hwmon@...r.kernel.org>
Subject: Re: [PATCH RFC] firmware: arm_scmi: Allow for better protocol
extensibility
On 5/21/19 1:01 PM, Florian Fainelli wrote:
> The SCMI specific allows implementors to define their custom protocols
> in the 0x80-0xFF space. The current scmi_handle structure requires us to
> extend the structure with a set of operations and associated private
> data in a way that is not quite scaling well.
>
> Create a 255 bytes structure that contains an opaque pointer to a set of
> operations and private data and create two helper functions to retrieve
> those based on the protocol identifier. Several options were considered,
> like using a linked list but since we could be performance sensitive in
> some paths, using an array was faster and simpler.
>
> Convert all call sites to use either scmi_protocol_get_ops() or
> scmi_protocol_get_info().
>
> Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
On second thought, what I really need is private storage to the scmi_dev
(the consumer side), and not so much the protocol (provider) side.
Therefore using dev_{set,get}_drvadata() against scmi_device::dev should
be working just fine, and if we are concerned about another part of the
SCMI stack making use of that storage, we can always extend struct
scmi_device with a private cookie.
--
Florian
Powered by blists - more mailing lists