linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Garry <john.garry@huawei.com>
To: Olof Johansson <olof@lixom.net>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	"jeremy.linton@arm.com" <jeremy.linton@arm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"Guohanjun (Hanjun Guo)" <guohanjun@huawei.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH RFC 2/2] soc: Add a basic ACPI generic driver
Date: Wed, 29 Jan 2020 09:58:04 +0000	[thread overview]
Message-ID: <734a01d8-3b50-48ca-1d94-d79d0e6610ff@huawei.com> (raw)
In-Reply-To: <CAOesGMjrC=b781LLU-Btp1b9uKTiMXj8tF3rjK_Wy6Q4iaR+Rw@mail.gmail.com>

Hi Olof,

>>>
>>> Based on everything I've seen so far, this should go under drivers/acpi instead.
>>
>> soc drivers seem to live in drivers/soc (non-arm32, anyway), so I
>> decided on this location. But drivers/acpi would also seem reasonable now.
> 
> We don't want drivers/soc to be too much of a catch-all -- it is meant
> for some of the glue pieces that don't have good homes elsewhere.
> Unfortunately, the slope is slippery and we've already gone down it a
> bit, but I think we can fairly clearly declare that this kind of
> cross-soc material is likely not the right home for it -- especially
> when drivers/acpi is a good fit in this case.

ok

> 
>>>> diff --git a/drivers/soc/acpi_generic.c b/drivers/soc/acpi_generic.c
>>>> new file mode 100644
>>>> index 000000000000..34a1f5f8e063
>>>> --- /dev/null
>>>> +++ b/drivers/soc/acpi_generic.c
>>>> @@ -0,0 +1,102 @@
>>>> +// SPDX-License-Identifier: GPL-2.0
>>>> +/*
>>>> + * Copyright (c) John Garry, john.garry@huawei.com
>>>> + */
>>>> +
>>>> +#define pr_fmt(fmt) "SOC ACPI GENERIC: " fmt
>>>> +
>>>> +#include <linux/acpi.h>
>>>> +#include <linux/sys_soc.h>
>>>> +

[...]

>>>
>>> Hmm, this doesn't look like much of a driver to me. This looks like
>>> the export of an attribute to userspace, and should probably be done
>>> by ACPI core instead of creating an empty driver for it.
>>
>> OK, but I'm thinking that having a soc driver can be useful as it is
>> common to DT, and so userspace only has to check a single location. And
>> the soc driver can also cover multiple-chip systems without have to
>> reinvent that code for ACPI core. And it saves adding a new ABI.
> 
> While having a single location could be convenient, the actual data
> read/written would be different (I'm guessing).

Without doubt we would have different data sometimes between ACPI and DT 
FW..

And it is not ideal that the soc_id sysfs file could have different 
contents for the same SoC, depending on ACPI or DT.

> 
> We also already have a supposed standard way of figuring out what SoC
> we're on (toplevel compatible for the DT). 

 From checking some soc drivers, there is a distinction between how 
soc_id and machine is evaluated: machine comes from DT model, which 
looks standard; however soc_id seems to have different methods of 
evaluate, like sometimes reading some system id register (I'm checking 
exynos-chipid.c there).

We're just looking for soc_id. But, as before, it would probably be 
different between ACPI and DT, so not ideal.

So no matter what, I think
> userspace will need to handle two ways of probing this.
> 

That should not be a big problem.

> 

Thanks,
John


  reply	other threads:[~2020-01-29  9:58 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-28 11:14 [PATCH RFC 0/2] Add basic generic ACPI soc driver John Garry
2020-01-28 11:14 ` [PATCH RFC 1/2] ACPI/PPTT: Add acpi_pptt_get_package_info() API John Garry
2020-01-28 12:34   ` Sudeep Holla
2020-01-28 14:04     ` John Garry
2020-01-28 14:54       ` Sudeep Holla
2020-01-29 11:03         ` John Garry
2020-01-30 11:23     ` Sudeep Holla
2020-01-30 16:12       ` John Garry
2020-01-30 17:41         ` Sudeep Holla
2020-01-31 10:58           ` John Garry
2020-01-28 11:14 ` [PATCH RFC 2/2] soc: Add a basic ACPI generic driver John Garry
2020-01-28 11:56   ` Greg KH
2020-01-28 13:33     ` John Garry
2020-01-28 12:50   ` Arnd Bergmann
2020-01-28 14:46     ` John Garry
2020-01-28 15:20   ` Sudeep Holla
2020-01-28 15:59     ` John Garry
2020-01-28 16:17       ` Sudeep Holla
2020-01-28 17:51   ` Olof Johansson
2020-01-28 18:22     ` John Garry
2020-01-28 19:11       ` Rafael J. Wysocki
2020-01-28 19:28         ` John Garry
2020-01-28 22:30           ` Rafael J. Wysocki
2020-01-29 10:27             ` John Garry
2020-01-28 20:06       ` Olof Johansson
2020-01-29  9:58         ` John Garry [this message]
2020-01-28 16:56 ` [PATCH RFC 0/2] Add basic generic ACPI soc driver Jeremy Linton
2020-01-28 17:28   ` John Garry
2020-01-28 19:04     ` Jeremy Linton
2020-01-28 20:07       ` John Garry

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=734a01d8-3b50-48ca-1d94-d79d0e6610ff@huawei.com \
    --to=john.garry@huawei.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=guohanjun@huawei.com \
    --cc=jeremy.linton@arm.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=rjw@rjwysocki.net \
    --subject='Re: [PATCH RFC 2/2] soc: Add a basic ACPI generic driver' \
    /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

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).