[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9a0073a0-d598-4c1a-bb32-328d0a279152@suse.com>
Date: Tue, 28 May 2024 10:42:58 +0200
From: Oliver Neukum <oneukum@...e.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Oliver Neukum <oneukum@...e.com>
Cc: Sebastian Reichel <sre@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Bjorn Andersson <andersson@...nel.org>,
Hans de Goede <hdegoede@...hat.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
platform-driver-x86@...r.kernel.org, linux-usb@...r.kernel.org,
linux-arm-msm@...r.kernel.org, Nikita Travkin <nikita@...n.ru>
Subject: Re: [PATCH v3 4/6] power: supply: lenovo_yoga_c630_battery: add
Lenovo C630 driver
On 28.05.24 01:15, Dmitry Baryshkov wrote:
> On Mon, May 27, 2024 at 02:26:36PM +0200, Oliver Neukum wrote:
>> On 27.05.24 12:03, Dmitry Baryshkov wrote:
Hi,
>>> +struct yoga_c630_psy {
>>> + struct yoga_c630_ec *ec;
>>> + struct device *dev;
>>> + struct device_node *of_node;
>>> + struct notifier_block nb;
>>> + struct mutex lock;
>>> +
>>> + struct power_supply *adp_psy;
>>> + struct power_supply *bat_psy;
>>> +
>>> + unsigned long last_status_update;
>>> +
>>> + bool adapter_online;
>>> +
>>> + bool unit_mA;
>>> +
>>> + unsigned int scale;
>>
>> why do you store unit_mA and scale? This looks redundant and like a source
>> of confusion to me.
>
> Here we just followed the AML code in ACPI tables. The unit_mA is a
> returned from the_BIX method, the 'scale' is used internally in the DSDT.
> If you think that it's better, I can change all '* scale * 1000' to
> 'if unit_mA then foo = bar * 10000 else foo = bar * 1000'.
I think that would indeed be better. Implementation details of the DSDT
should not dictate data structures in a kernel driver.
Regards
Oliver
Powered by blists - more mailing lists