All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: "Joel Becker" <jlbec@evilplan.org>,
	"Christoph Hellwig" <hch@lst.de>, "Shuah Khan" <shuah@kernel.org>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Kent Gibson" <warthog618@gmail.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	linux-doc <linux-doc@vger.kernel.org>,
	"Bartosz Golaszewski" <bgolaszewski@baylibre.com>
Subject: Re: [PATCH v2 09/12] gpio: sim: new testing module
Date: Thu, 4 Mar 2021 21:15:29 +0100	[thread overview]
Message-ID: <CAMRc=MdRxXzoZuyLs-24dXfOft=OQqDneTHa4-ZKqFE1kMBWcg@mail.gmail.com> (raw)
In-Reply-To: <YEDdbfbM9abHJpIO@smile.fi.intel.com>

On Thu, Mar 4, 2021 at 2:15 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Thu, Mar 04, 2021 at 11:24:49AM +0100, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > Implement a new, modern GPIO testing module controlled by configfs
> > attributes instead of module parameters. The goal of this driver is
> > to provide a replacement for gpio-mockup that will be easily extensible
> > with new features and doesn't require reloading the module to change
> > the setup.
>
> Shall we put a reference to this in the gpio-mockup documentation and mark the
> latter deprecated?
>

I don't think it's necessary right away. Let's phase out gpio-mockup
once this one gets some attention (for example: after libgpiod
switches to using it).

[snip]

>
> > +             dev_attr->attr.name = devm_kasprintf(dev, GFP_KERNEL,
> > +                                                  "gpio%u", i);
>
> Reads better as one line.
>

Yeah, so the removal of the 80 characters limit should not be abused
when there's no need for it - this doesn't look that bad really with a
broken line. Same elsewhere where the limit is exceeded.

[snip]

>
> > +             ret = sprintf(page + written,
> > +                     i < config->num_line_names - 1 ?
> > +                             "\"%s\", " : "\"%s\"\n",
> > +                     config->line_names[i] ?: "");
>
> Indentation here looks not the best...
>

So this is the place where it may make sense to go over 80 chars.

[snip]

> > +
> > +     /*
> > +      * FIXME If anyone knows a better way to parse that - please let me
> > +      * know.
> > +      */
>
> If comma can be replaced with ' ' (space) then why not to use next_arg() from
> cmdline.c? I.o.w. do you have strong opinion why should we use comma here?
>

My opinion is not very strong but I wanted to make the list of names
resemble what we pass to the gpio-line-names property in device tree.
Doesn't next_arg() react differently to string of the form: "foo=bar"?

[snip]

> > +
> > +static int gpio_sim_config_uncommit_item(struct config_item *item)
> > +{
> > +     struct gpio_sim_chip_config *config = to_gpio_sim_chip_config(item);
> > +     int id;
> > +
> > +     mutex_lock(&config->lock);
> > +     id = config->pdev->id;
> > +     platform_device_unregister(config->pdev);
> > +     config->pdev = NULL;
>
> > +     ida_free(&gpio_sim_ida, id);
>
> Isn't it atomic per se? I mean that IDA won't give the same ID until you free
> it. I.o.w. why is it under the mutex?
>

You're right but if we rapidly create and destroy chips we'll be left
with holes in the numbering (because new devices would be created
before the IDA numbers are freed, so the driver would take a larger
number that's currently free). It doesn't hurt but it would look worse
IMO. Do you have a strong opinion on this?

[snip]

I'll address issues I didn't comment on.

Thanks for the review!
Bart

  reply	other threads:[~2021-03-04 20:17 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-04 10:24 [PATCH v2 00/12] gpio: implement the configfs testing module Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 01/12] configfs: increase the item name length Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 02/12] configfs: use (1UL << bit) for internal flags Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 03/12] configfs: implement committable items Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 04/12] samples: configfs: add a committable group Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 05/12] lib: bitmap: remove the 'extern' keyword from function declarations Bartosz Golaszewski
2021-03-04 12:58   ` Andy Shevchenko
2021-03-09 14:44     ` Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 06/12] lib: bitmap: order includes alphabetically Bartosz Golaszewski
2021-03-04 12:59   ` Andy Shevchenko
2021-03-04 10:24 ` [PATCH v2 07/12] lib: bitmap: provide devm_bitmap_alloc() and devm_bitmap_zalloc() Bartosz Golaszewski
2021-03-04 13:01   ` Andy Shevchenko
2021-03-04 10:24 ` [PATCH v2 08/12] drivers: export device_is_bound() Bartosz Golaszewski
2021-03-05  8:18   ` Geert Uytterhoeven
2021-03-05  8:33     ` Greg KH
2021-03-05  8:45       ` Bartosz Golaszewski
2021-03-05  8:55         ` Greg KH
2021-03-05  9:16           ` Bartosz Golaszewski
2021-03-05 10:24             ` Greg KH
2021-03-05 10:58               ` Bartosz Golaszewski
2021-03-05 11:27                 ` Greg KH
2021-03-05 14:20                   ` Bartosz Golaszewski
2021-03-05 15:01                     ` Greg KH
2021-03-08 10:58                       ` Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 09/12] gpio: sim: new testing module Bartosz Golaszewski
2021-03-04 13:15   ` Andy Shevchenko
2021-03-04 20:15     ` Bartosz Golaszewski [this message]
2021-03-05 10:15       ` Andy Shevchenko
2021-03-08 14:23         ` Bartosz Golaszewski
2021-03-08 15:04           ` Andy Shevchenko
2021-03-08 15:13             ` Bartosz Golaszewski
2021-03-08 15:32               ` Andy Shevchenko
2021-03-08 15:37                 ` Bartosz Golaszewski
2021-03-08 16:37                   ` Andy Shevchenko
2021-03-04 10:24 ` [PATCH v2 10/12] selftests: gpio: provide a helper for reading chip info Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 11/12] selftests: gpio: add a helper for reading GPIO line names Bartosz Golaszewski
2021-03-04 10:24 ` [PATCH v2 12/12] selftests: gpio: add test cases for gpio-sim Bartosz Golaszewski

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='CAMRc=MdRxXzoZuyLs-24dXfOft=OQqDneTHa4-ZKqFE1kMBWcg@mail.gmail.com' \
    --to=brgl@bgdev.pl \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=corbet@lwn.net \
    --cc=geert@linux-m68k.org \
    --cc=hch@lst.de \
    --cc=jlbec@evilplan.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shuah@kernel.org \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=warthog618@gmail.com \
    /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.