All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>,
	gregkh <gregkh@linuxfoundation.org>,
	Jean Delvare <jdelvare@suse.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-doc@vger.kernel.org, DTML <devicetree@vger.kernel.org>,
	linux-hwmon@vger.kernel.org,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	OpenBMC Maillist <openbmc@lists.ozlabs.org>
Subject: Re: [PATCH linux dev-4.10 6/6] drivers/hwmon: Add a driver for a generic PECI hwmon
Date: Thu, 11 Jan 2018 12:49:18 -0800	[thread overview]
Message-ID: <58fbf0b8-4e70-e7f3-a929-87fb7e9ac5ba@linux.intel.com> (raw)
In-Reply-To: <CAK8P3a0xyQQeyDdj8UEMgdGK13jisvo5rOkGbi-wWYZA5QFSMQ@mail.gmail.com>

On 1/11/2018 5:22 AM, Arnd Bergmann wrote:
> On Thu, Jan 11, 2018 at 12:45 AM, Jae Hyun Yoo
> <jae.hyun.yoo@linux.intel.com> wrote:
>> On 1/10/2018 4:29 AM, Arnd Bergmann wrote:
>>>
>>> On Tue, Jan 9, 2018 at 11:31 PM, Jae Hyun Yoo
>>> <jae.hyun.yoo@linux.intel.com> wrote:
>>>>
>>>> This commit adds driver implementation for a generic PECI hwmon.
>>>>
>>>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>
>>>
>>>> +static int xfer_peci_msg(int cmd, void *pmsg)
>>>> +{
>>>> +       int rc;
>>>> +
>>>> +       mutex_lock(&peci_hwmon_lock);
>>>> +       rc = peci_ioctl(NULL, cmd, (unsigned long)pmsg);
>>>> +       mutex_unlock(&peci_hwmon_lock);
>>>> +
>>>> +       return rc;
>>>> +}
>>>
>>>
>>> I said earlier that peci_ioctl() looked unused, that was obviously
>>> wrong, but what you have here
>>> is not a proper way to abstract a bus.
>>>
>>> Maybe this can be done more like an i2c bus: make the peci controller
>>> a bus device
>>> and register all known target/index pairs as devices with the peci bus
>>> type, and have
>>> them probed from DT. The driver can then bind to each of those
>>> individually.
>>> Not sure if that is getting to granular at that point, I'd have to
>>> understand better
>>> how it is expected to get used, and what the variances are between
>>> implementations.
>>>
>>
>> Thanks for sharing your opinion. In fact, this was also suggested by openbmc
>> community so I should consider of redesigning it. I'm currently thinking
>> about adding a new PECI device class as an abstract layer and any BMC
>> chipset specific driver could be attached to the PECI class driver. Then,
>> each CPU client could be registered as an individual device as you
>> suggested. Will consider your suggestion.
> 
> Another idea might be to pretend that PECI was I2C. We already have a few
> drivers for hardware that is not I2C but whose software interface looks
> similar enough that it just works. No idea if that is the case for PECI, but
> xfer_peci_msg might be close enough to i2c_xfer to make it work. If you
> are able to do that, then the PECI controller would just register itself
> as an i2c controller and it can be accessed using /dev/i2c from user space
> or a high-level i2c_driver.
> 
>        Arnd
> 

Thanks for the good idea. It looks like one of possible options. I'll 
check this idea as well. :)

Thanks,
Jae

WARNING: multiple messages have this Message-ID (diff)
From: jae.hyun.yoo@linux.intel.com (Jae Hyun Yoo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH linux dev-4.10 6/6] drivers/hwmon: Add a driver for a generic PECI hwmon
Date: Thu, 11 Jan 2018 12:49:18 -0800	[thread overview]
Message-ID: <58fbf0b8-4e70-e7f3-a929-87fb7e9ac5ba@linux.intel.com> (raw)
In-Reply-To: <CAK8P3a0xyQQeyDdj8UEMgdGK13jisvo5rOkGbi-wWYZA5QFSMQ@mail.gmail.com>

On 1/11/2018 5:22 AM, Arnd Bergmann wrote:
> On Thu, Jan 11, 2018 at 12:45 AM, Jae Hyun Yoo
> <jae.hyun.yoo@linux.intel.com> wrote:
>> On 1/10/2018 4:29 AM, Arnd Bergmann wrote:
>>>
>>> On Tue, Jan 9, 2018 at 11:31 PM, Jae Hyun Yoo
>>> <jae.hyun.yoo@linux.intel.com> wrote:
>>>>
>>>> This commit adds driver implementation for a generic PECI hwmon.
>>>>
>>>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>>>
>>>
>>>> +static int xfer_peci_msg(int cmd, void *pmsg)
>>>> +{
>>>> +       int rc;
>>>> +
>>>> +       mutex_lock(&peci_hwmon_lock);
>>>> +       rc = peci_ioctl(NULL, cmd, (unsigned long)pmsg);
>>>> +       mutex_unlock(&peci_hwmon_lock);
>>>> +
>>>> +       return rc;
>>>> +}
>>>
>>>
>>> I said earlier that peci_ioctl() looked unused, that was obviously
>>> wrong, but what you have here
>>> is not a proper way to abstract a bus.
>>>
>>> Maybe this can be done more like an i2c bus: make the peci controller
>>> a bus device
>>> and register all known target/index pairs as devices with the peci bus
>>> type, and have
>>> them probed from DT. The driver can then bind to each of those
>>> individually.
>>> Not sure if that is getting to granular at that point, I'd have to
>>> understand better
>>> how it is expected to get used, and what the variances are between
>>> implementations.
>>>
>>
>> Thanks for sharing your opinion. In fact, this was also suggested by openbmc
>> community so I should consider of redesigning it. I'm currently thinking
>> about adding a new PECI device class as an abstract layer and any BMC
>> chipset specific driver could be attached to the PECI class driver. Then,
>> each CPU client could be registered as an individual device as you
>> suggested. Will consider your suggestion.
> 
> Another idea might be to pretend that PECI was I2C. We already have a few
> drivers for hardware that is not I2C but whose software interface looks
> similar enough that it just works. No idea if that is the case for PECI, but
> xfer_peci_msg might be close enough to i2c_xfer to make it work. If you
> are able to do that, then the PECI controller would just register itself
> as an i2c controller and it can be accessed using /dev/i2c from user space
> or a high-level i2c_driver.
> 
>        Arnd
> 

Thanks for the good idea. It looks like one of possible options. I'll 
check this idea as well. :)

Thanks,
Jae

  reply	other threads:[~2018-01-11 20:49 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-09 22:31 [PATCH linux dev-4.10 0/6] Add support PECI and PECI hwmon drivers Jae Hyun Yoo
2018-01-09 22:31 ` Jae Hyun Yoo
2018-01-09 22:31 ` Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 1/6] Documentation: dt-bindings: Add Aspeed PECI Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 2/6] ARM: dts: aspeed: peci: " Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 3/6] drivers/misc: Add driver for Aspeed PECI and generic PECI headers Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-10 10:18   ` Greg KH
2018-01-10 10:18     ` Greg KH
2018-01-10 10:18     ` Greg KH
2018-01-10 19:32     ` Jae Hyun Yoo
2018-01-10 19:32       ` Jae Hyun Yoo
2018-01-11  9:02     ` Benjamin Herrenschmidt
2018-01-11  9:02       ` Benjamin Herrenschmidt
2018-01-11  9:02       ` Benjamin Herrenschmidt
2018-01-11 20:33       ` Jae Hyun Yoo
2018-01-11 20:33         ` Jae Hyun Yoo
2018-01-10 10:20   ` Greg KH
2018-01-10 10:20     ` Greg KH
2018-01-10 10:20     ` Greg KH
2018-01-10 19:34     ` Jae Hyun Yoo
2018-01-10 19:34       ` Jae Hyun Yoo
2018-01-10 11:55   ` Arnd Bergmann
2018-01-10 11:55     ` Arnd Bergmann
2018-01-10 11:55     ` Arnd Bergmann
2018-01-10 23:11     ` Jae Hyun Yoo
2018-01-10 23:11       ` Jae Hyun Yoo
2018-01-11  9:06   ` Benjamin Herrenschmidt
2018-01-11  9:06     ` Benjamin Herrenschmidt
2018-01-11  9:06     ` Benjamin Herrenschmidt
2018-01-11 20:42     ` Jae Hyun Yoo
2018-01-11 20:42       ` Jae Hyun Yoo
2018-01-11 20:42       ` Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 4/6] Documentation: dt-bindings: Add a generic PECI hwmon Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-10 12:20   ` Arnd Bergmann
2018-01-10 12:20     ` Arnd Bergmann
2018-01-10 12:20     ` Arnd Bergmann
2018-01-10 23:20     ` Jae Hyun Yoo
2018-01-10 23:20       ` Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 5/6] Documentation: hwmon: " Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 6/6] drivers/hwmon: Add a driver for " Jae Hyun Yoo
2018-01-09 22:31   ` Jae Hyun Yoo
2018-01-10 12:29   ` Arnd Bergmann
2018-01-10 12:29     ` Arnd Bergmann
2018-01-10 12:29     ` Arnd Bergmann
2018-01-10 23:45     ` Jae Hyun Yoo
2018-01-10 23:45       ` Jae Hyun Yoo
2018-01-11 13:22       ` Arnd Bergmann
2018-01-11 13:22         ` Arnd Bergmann
2018-01-11 13:22         ` Arnd Bergmann
2018-01-11 20:49         ` Jae Hyun Yoo [this message]
2018-01-11 20:49           ` Jae Hyun Yoo
2018-01-10 21:47   ` [linux, dev-4.10, " Guenter Roeck
2018-01-10 21:47     ` Guenter Roeck
2018-01-11 19:47     ` Jae Hyun Yoo
2018-01-11 19:47       ` Jae Hyun Yoo
2018-01-11 19:47       ` Jae Hyun Yoo
2018-01-11 21:40       ` Guenter Roeck
2018-01-11 21:40         ` Guenter Roeck
2018-01-11 22:18         ` Andrew Lunn
2018-01-11 22:18           ` Andrew Lunn
2018-01-11 22:18           ` Andrew Lunn
2018-01-11 23:14           ` Jae Hyun Yoo
2018-01-11 23:14             ` Jae Hyun Yoo
2018-01-11 23:53             ` Andrew Lunn
2018-01-11 23:53               ` Andrew Lunn
2018-01-12  0:26               ` Jae Hyun Yoo
2018-01-12  0:26                 ` Jae Hyun Yoo
2018-01-11 23:03         ` Jae Hyun Yoo
2018-01-11 23:03           ` Jae Hyun Yoo
2018-01-11 23:03           ` Jae Hyun Yoo
2018-01-10 10:17 ` [PATCH linux dev-4.10 0/6] Add support PECI and PECI hwmon drivers Greg KH
2018-01-10 10:17   ` Greg KH
2018-01-10 10:17   ` Greg KH
2018-01-10 19:14   ` Jae Hyun Yoo
2018-01-10 19:14     ` Jae Hyun Yoo
2018-01-10 19:17     ` Greg KH
2018-01-10 19:17       ` Greg KH
2018-01-10 19:17       ` Greg KH
2018-01-10 19:30       ` Jae Hyun Yoo
2018-01-10 19:30         ` Jae Hyun Yoo
2018-01-10 20:27         ` Greg KH
2018-01-10 20:27           ` Greg KH
2018-01-10 20:27           ` Greg KH
2018-01-10 21:46           ` Jae Hyun Yoo
2018-01-10 21:46             ` Jae Hyun Yoo
2018-01-10 21:46             ` Jae Hyun Yoo
2018-01-11  7:30             ` Greg KH
2018-01-11  7:30               ` Greg KH
2018-01-11  8:28               ` Joel Stanley
2018-01-11  8:28                 ` Joel Stanley
2018-01-11  8:28                 ` Joel Stanley
2018-01-11  8:41                 ` Greg KH
2018-01-11  8:41                   ` Greg KH
2018-01-11  8:41                   ` Greg KH
2018-01-11  9:17                   ` Arnd Bergmann
2018-01-11  9:17                     ` Arnd Bergmann
2018-01-11  9:17                     ` Arnd Bergmann
2018-01-11  9:17                     ` Arnd Bergmann
2018-01-11  9:21                   ` Benjamin Herrenschmidt
2018-01-11  9:21                     ` Benjamin Herrenschmidt
2018-01-11  9:21                     ` Benjamin Herrenschmidt
2018-01-11  8:56               ` Benjamin Herrenschmidt
2018-01-11  8:56                 ` Benjamin Herrenschmidt
2018-01-11  9:59                 ` Greg KH
2018-01-11  9:59                   ` Greg KH
2018-01-11  9:59                   ` Greg KH
2018-01-11 20:49                   ` Benjamin Herrenschmidt
2018-01-11 20:49                     ` Benjamin Herrenschmidt
2018-01-11 20:49                     ` Benjamin Herrenschmidt
2018-01-11 19:54                 ` Jae Hyun Yoo
2018-01-11 19:54                   ` Jae Hyun Yoo

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=58fbf0b8-4e70-e7f3-a929-87fb7e9ac5ba@linux.intel.com \
    --to=jae.hyun.yoo@linux.intel.com \
    --cc=andrew@aj.id.au \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jdelvare@suse.com \
    --cc=joel@jms.id.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=openbmc@lists.ozlabs.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.