All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Mark Pearson <markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
Cc: Thinkpad-acpi devel ML
	<ibm-acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
	Henrique de Moraes Holschuh
	<ibm-acpi-N3TV7GIv+o9fyO9Q7EP/yw@public.gmane.org>,
	Nitin Joshi <njoshi1-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>,
	Platform Driver
	<platform-driver-x86-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] platform/x86: thinkpad_acpi: psensor interface
Date: Mon, 27 Jul 2020 13:34:57 +0300	[thread overview]
Message-ID: <CAHp75Vcwg9aEpybYwEFvhYH4gpy7952i+zMs-2TKGPzkzuhO=g@mail.gmail.com> (raw)
In-Reply-To: <20200715235242.4934-1-markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>

On Thu, Jul 16, 2020 at 2:53 AM Mark Pearson <markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org> wrote:
>
> Some Lenovo Thinkpad platforms are equipped with a 'palm sensor' so as
> to be able to determine if a user is physically proximate to the device.
>
> This patch provides the ability to retrieve the psensor state via sysfs
> entrypoints and will be used by userspace for WWAN functionality to
> control the transmission level safely

...


>         case TP_HKEY_EV_PALM_DETECTED:
>         case TP_HKEY_EV_PALM_UNDETECTED:
> -               /* palm detected hovering the keyboard, forward to user-space
> -                * via netlink for consumption */
> +               /* palm detected - pass on to event handler */
> +               tpacpi_driver_event(hkey);
>                 return true;

Comment here tells something about the netlink interface to user
space. Can you elaborate why we need sysfs now and how it's all
supposed to work?

...

> +static int psensor_get(bool *state)
> +{
> +       acpi_handle psensor_handle;
> +       int output;
> +
> +       if (ACPI_FAILURE(acpi_get_handle(hkey_handle, "GPSS", &psensor_handle)))
> +               return -ENODEV;
> +
> +       if (!acpi_evalf(psensor_handle, &output, NULL, "d"))
> +               return -EIO;
> +
> +       /* Check if sensor has a Psensor */
> +       if (!(output & BIT(PSENSOR_PRESENT_BIT)))
> +               return -ENODEV;
> +
> +       /* Return if psensor is set or not */
> +       *state = output & BIT(PSENSOR_ON_BIT) ? true : false;
> +       return 0;
> +}

It reminds me of a function you created in one of the previous
changes. Can you rather create a parameterized helper which will serve
for both?

...

> +/* sysfs psensor entry */
> +static ssize_t psensor_state_show(struct device *dev,
> +                                       struct device_attribute *attr,
> +                                       char *buf)
> +{

> +       return snprintf(buf, PAGE_SIZE, "%d\n", psensor_state);

We know that %d takes much less than PAGE_SIZE, use sprintf().

> +}

> +

No blank line here.

> +static DEVICE_ATTR_RO(psensor_state);

...

> +static struct attribute *psensor_attributes[] = {
> +       &dev_attr_psensor_state.attr,

> +       NULL,

No comma for terminator line(s).

> +};

...

> +       /* If support isn't available (ENODEV) then don't return an error
> +        * but just don't create the sysfs group
> +        */

/*
 * Consider to use a proper multi-line comment style.
 * Like here. (It's applicable to the entire patch)
 */

...

> +       err = sysfs_create_group(&tpacpi_pdev->dev.kobj, &psensor_attr_group);
> +       return err;

return sysfs...

-- 
With Best Regards,
Andy Shevchenko

  parent reply	other threads:[~2020-07-27 10:34 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <markpearson@lenovo.com>
2020-06-02 22:56 ` [PATCH v2] platform/x86: thinkpad_acpi: lap or desk mode interface Mark Pearson
2020-06-17 18:09 ` [RESEND PATCH " Mark Pearson
     [not found]   ` <1905013469.24563660.1592574774373.JavaMail.zimbra@redhat.com>
     [not found]     ` <1905013469.24563660.1592574774373.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2020-06-19 15:02       ` [External] " Mark Pearson
2020-06-24  2:08 ` [PATCH v3] " Mark Pearson
2020-06-29 19:17 ` [PATCH v4] " Mark Pearson
     [not found]   ` <20200629191748.3859-1-markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-07-01  9:45     ` Bastien Nocera
     [not found]       ` <732277929.1313334.1593596757447.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2020-07-27  2:51         ` [External] " Nitin Joshi1
     [not found]           ` <SG2PR03MB2718DFC08C4ECF7816D1B4E48C720-ePYYJTVkT3RfCKvAoM4nXq82SN/2zMuYvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2020-07-27 11:03             ` Bastien Nocera
     [not found]               ` <321690127.4797880.1595847834329.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2020-07-27 12:49                 ` Nitin Joshi1
2020-07-02  9:29     ` Andy Shevchenko
     [not found]       ` <CAHp75VeO5SzYs=kRh+BV_vydO7PTPLkmu8aiYXvSJFTewSTYwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-07-02 10:44         ` [External] " Mark Pearson
     [not found]           ` <7d0e1dcc-7285-71e1-7125-604cb2630595-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-07-02 10:56             ` Andy Shevchenko
2020-07-03  1:23 ` [PATCH v5] " Mark Pearson
     [not found]   ` <20200703012353.26413-1-markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-07-09 18:02     ` Andy Shevchenko
     [not found]       ` <CAHp75Vcs15wGCzwW8Pq7AXyqQnvnopNdFP1nDE0nf+ZTz=9zFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-07-10  8:00         ` Hans de Goede
     [not found]           ` <7c1698a6-ebd6-553d-a686-d9bd4e5a5e99-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2020-07-10 12:20             ` Andy Shevchenko
     [not found]               ` <CAHp75Ve-qOs8VosoxEaHH1EnK-r16Sx0ki3uj14yZJWyuwC88w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-07-10 12:28                 ` [External] " Mark Pearson
2020-07-10 20:39     ` Andy Shevchenko
2020-07-15 23:52 ` [PATCH] platform/x86: thinkpad_acpi: psensor interface Mark Pearson
     [not found]   ` <20200715235242.4934-1-markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-07-27 10:34     ` Andy Shevchenko [this message]
2020-07-28  3:51       ` [External] " Nitin Joshi1
     [not found]         ` <PU1PR03MB2716FE7EF1BF12E5B9EC25188C730-PIfHAIETUCsWqO6DXxnA3a82SN/2zMuYvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2020-08-07 20:40           ` Mark Pearson
2020-07-22 17:11 ` [PATCH] platform/x86: thinkpad_acpi: performance mode interface Mark Pearson
     [not found]   ` <20200722171108.65185-1-markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-07-22 18:46     ` Limonciello, Mario
     [not found]       ` <DM6PR19MB263650F7DC4B6680A5EFC5DAFA790-JELcaX3dgTY1BKDJOnGuQNvXXbHMiUzJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2020-07-22 19:29         ` [External] " Mark Pearson
     [not found]           ` <b79e0359-536d-f496-a01e-fe4c4b7796cc-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-07-22 19:46             ` Limonciello, Mario
     [not found]               ` <DM6PR19MB26360DE8FCA56BC132644F98FA790-JELcaX3dgTY1BKDJOnGuQNvXXbHMiUzJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2020-07-23  0:34                 ` Mark Pearson
     [not found]                   ` <e14aa227-493b-4206-eaef-81874512166f-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-07-23  1:36                     ` Limonciello, Mario
2020-08-12 18:53 ` [PATCH v2] platform/x86: thinkpad_acpi: psensor interface Mark Pearson
2020-08-18 19:15 ` [PATCH v3] " Mark Pearson
2020-08-21 17:53 ` [PATCH v2] platform/x86: thinkpad_acpi: performance mode interface Mark Pearson
     [not found]   ` <20200821175310.335873-1-markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-08-21 19:15     ` Limonciello, Mario
     [not found]       ` <DM6PR19MB2636F1CFCE1E386D6E793E25FA5B0-JELcaX3dgTY1BKDJOnGuQNvXXbHMiUzJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2020-08-21 19:35         ` [External] " Mark Pearson
     [not found]           ` <1806c4ec-6788-bcc7-7e09-8e5274d2b9d5-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-08-21 20:00             ` Limonciello, Mario
     [not found]               ` <DM6PR19MB26369308415B8235B3C9997EFA5B0-JELcaX3dgTY1BKDJOnGuQNvXXbHMiUzJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2020-08-21 20:06                 ` Mark Pearson
     [not found]                   ` <9e0c14a9-3b24-4b64-6d9e-b312d28dfd44-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-08-21 20:43                     ` Limonciello, Mario
     [not found]                       ` <DM6PR19MB263621A07F59D91C8E2F7205FA5B0-JELcaX3dgTY1BKDJOnGuQNvXXbHMiUzJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2020-08-22  1:31                         ` Mark Pearson
     [not found]                           ` <52fc84b9-f87d-c91d-4d24-1db768c5c812-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org>
2020-08-24 15:20                             ` Limonciello, Mario
2020-09-16  9:31     ` Benjamin Berg
     [not found]       ` <11594528cfb96e2eed8fe0f27a4ecc1d60803432.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2020-09-16 11:15         ` [External] " Mark Pearson
2020-09-17 11:39   ` Hans de Goede
2020-09-17 13:48     ` [External] " Mark Pearson

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='CAHp75Vcwg9aEpybYwEFvhYH4gpy7952i+zMs-2TKGPzkzuhO=g@mail.gmail.com' \
    --to=andy.shevchenko-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=ibm-acpi-N3TV7GIv+o9fyO9Q7EP/yw@public.gmane.org \
    --cc=ibm-acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=markpearson-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org \
    --cc=njoshi1-6jq1YtArVR3QT0dZR+AlfA@public.gmane.org \
    --cc=platform-driver-x86-u79uwXL29TY76Z2rM5mHXA@public.gmane.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.