All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Kent Gibson <warthog618@gmail.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-gpio@vger.kernel.org, Bartosz Golaszewski <brgl@bgdev.pl>
Subject: [libgpiod v2][PATCH 1/4] line-request: don't accept NULL line config
Date: Thu, 10 Feb 2022 15:07:42 +0100	[thread overview]
Message-ID: <20220210140745.1059087-2-brgl@bgdev.pl> (raw)
In-Reply-To: <20220210140745.1059087-1-brgl@bgdev.pl>

While it was initially agreed that NULL line_config passed to
gpiod_chip_request_lines() would result in lines being requested with
default config (just like a newly created struct gpiod_line_config),
I believe this is unintuitive in the context of all other functions in
the C library not being NULL-aware (as advertised in one of the first
paragraphs of the documentation) and should be changed to make both
config structures mandatory.

This is C after all and it should be both explicit and spartan. :)

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 include/gpiod.h   | 4 +---
 lib/line-config.c | 5 -----
 2 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/include/gpiod.h b/include/gpiod.h
index 68130ad..074e395 100644
--- a/include/gpiod.h
+++ b/include/gpiod.h
@@ -173,11 +173,9 @@ int gpiod_chip_find_line(struct gpiod_chip *chip, const char *name);
  * @brief Request a set of lines for exclusive usage.
  * @param chip GPIO chip object.
  * @param req_cfg Request config object.
- * @param line_cfg Line config object. May be NULL.
+ * @param line_cfg Line config object.
  * @return New line request object or NULL if an error occurred. The request
  *         must be released by the caller using ::gpiod_line_request_release.
- * @note If line_cfg is NULL, lines will be requested in input mode with no
- *       additional parameters set.
  */
 struct gpiod_line_request *
 gpiod_chip_request_lines(struct gpiod_chip *chip,
diff --git a/lib/line-config.c b/lib/line-config.c
index 2ac9f5f..346d331 100644
--- a/lib/line-config.c
+++ b/lib/line-config.c
@@ -903,11 +903,6 @@ int gpiod_line_config_to_kernel(struct gpiod_line_config *config,
 	uint64_t mask, values;
 	int ret;
 
-	if (!config) {
-		cfgbuf->flags = GPIO_V2_LINE_FLAG_INPUT;
-		return 0;
-	}
-
 	if (config->too_complex)
 		goto err_2big;
 
-- 
2.30.1


  reply	other threads:[~2022-02-10 14:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-10 14:07 [libgpiod v2][PATCH 0/4] libgpiod v2: rewrite tests for the C library Bartosz Golaszewski
2022-02-10 14:07 ` Bartosz Golaszewski [this message]
2022-02-17  3:02   ` [libgpiod v2][PATCH 1/4] line-request: don't accept NULL line config Kent Gibson
2022-02-10 14:07 ` [libgpiod v2][PATCH 2/4] line-config: expose the override logic to users Bartosz Golaszewski
2022-02-17  4:32   ` Kent Gibson
2022-02-10 14:07 ` [libgpiod v2][PATCH 3/4] build: add a configure option for enabling gcov profiling Bartosz Golaszewski
2022-02-10 14:07 ` [libgpiod v2][PATCH 4/4] tests: rewrite core C tests using libgpiosim 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=20220210140745.1059087-2-brgl@bgdev.pl \
    --to=brgl@bgdev.pl \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=viresh.kumar@linaro.org \
    --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.