[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YKNZIzyO5Q/XGLRs@atomide.com>
Date: Tue, 18 May 2021 09:05:23 +0300
From: Tony Lindgren <tony@...mide.com>
To: Dario Binacchi <dariobin@...ero.it>
Cc: linux-kernel@...r.kernel.org,
Haojian Zhuang <haojian.zhuang@...aro.org>,
Linus Walleij <linus.walleij@...aro.org>,
linux-arm-kernel@...ts.infradead.org, linux-gpio@...r.kernel.org,
linux-omap@...r.kernel.org
Subject: Re: [PATCH v2 2/2] pinctrl: single: set pinmux from pins debug file
Hi,
I noticed few more things I started to wonder about after
looking at this again.
* Dario Binacchi <dariobin@...ero.it> [210517 20:00]:
> +static int pcs_pin_dbg_set(struct pinctrl_dev *pctldev, unsigned int pin,
> + char *buf)
> +{
> + struct pcs_device *pcs;
> + unsigned int val, mux_bytes;
> +
> + buf = skip_spaces(buf);
> + if (kstrtouint(buf, 0, &val))
> + return -EINVAL;
> +
> + pcs = pinctrl_dev_get_drvdata(pctldev);
> +
> + mux_bytes = pcs->width / BITS_PER_BYTE;
> + pcs->write(val, pcs->base + pin * mux_bytes);
> + return 0;
> +}
Since you're adding a new interface, how about pass unsigned
int val instead of char *buf?
> static void pcs_dt_free_map(struct pinctrl_dev *pctldev,
> struct pinctrl_map *map, unsigned num_maps)
> {
> @@ -331,6 +348,9 @@ static const struct pinctrl_ops pcs_pinctrl_ops = {
> .get_group_name = pinctrl_generic_get_group_name,
> .get_group_pins = pinctrl_generic_get_group_pins,
> .pin_dbg_show = pcs_pin_dbg_show,
> +#if IS_ENABLED(CONFIG_DEVMEM)
> + .pin_dbg_set = pcs_pin_dbg_set,
> +#endif
> .dt_node_to_map = pcs_dt_node_to_map,
> .dt_free_map = pcs_dt_free_map,
> };
It might be better to always have the .pin_dbg_set around to
avoid the IS_ENABLED(CONFIG_DEVMEM).
Does the new interface need something under Documentation too?
Regards,
Tony
Powered by blists - more mailing lists