From: Claudiu Beznea <Claudiu.Beznea@microchip.com>
To: Neil Armstrong <narmstrong@baylibre.com>,
thierry.reding@gmail.com, robh+dt@kernel.org,
mark.rutland@arm.com, linux@armlinux.org.uk, daniel@zonque.org,
haojian.zhuang@gmail.com, robert.jarzmik@free.fr, corbet@lwn.net,
nicolas.ferre@microchip.com,
alexandre.belloni@free-electrons.com
Cc: linux-pwm@vger.kernel.org, Mike Dunn <mikedunn@newsguy.com>,
Alexander Shiyan <shc_work@mail.ru>,
devicetree@vger.kernel.org,
Brian Norris <briannorris@chromium.org>,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
linux-rpi-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 01/16] drivers: pwm: core: use a single of xlate function
Date: Tue, 16 Jan 2018 11:33:08 +0200 [thread overview]
Message-ID: <a15b3974-33ca-70c9-2579-bcdd0d9eb5b1@microchip.com> (raw)
In-Reply-To: <d657c681-da16-712d-0570-8c05c6bfd550@baylibre.com>
On 16.01.2018 11:07, Neil Armstrong wrote:
> On 12/01/2018 15:22, Claudiu Beznea wrote:
>> Remove of_pwm_simple_xlate() and of_pwm_xlate_with_flags() functions
>> and add of_pwm_xlate() which is used in all cases no mather if the OF
>> bindings are with PWM flags or not. This should not affect the old
>> behavior since the xlate will be based on #pwm-cells property of the
>> PWM controller. Based on #pwm-cells property the xlate will consider
>> the flags or not. This will permit the addition of other inputs to OF
>> xlate by just adding proper code at the end of of_pwm_xlate() and a new
>> input to enum pwm_args_xlate_options. With this changes there will be
>> no need to fill of_xlate and of_pwm_n_cells of struct pwm_chip from
>> the drivers probe methods. References in drives to references to of_xlate
>> and of_pwm_n_cells were removed. Drivers which used private of_xlate
>> functions switched to the generic of_pwm_xlate() function which fits
>> for it but with little changes in device trees (these drivers translated
>> differently the "pwms" bindings; the "pwms" bindings now are generic to
>> all drivers and all drivers should provide them in the format described
>> in pwm documentation).
>>
>> Cc: Thierry Reding <thierry.reding@gmail.com>
>> Cc: Mike Dunn <mikedunn@newsguy.com>
>> Cc: Brian Norris <briannorris@chromium.org>
>> Cc: Alexander Shiyan <shc_work@mail.ru>
>> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
>> ---
>>
>> This patch (and the next 7) could be applied independetly by this series, if
>> any, but I choosed to have it here since it makes easy the PWM modes parsing.
>> If you feel it could be independently of this series I could send a new version.
>>
>> Also, Thierry, Mike, Brian, Shiyan, please take an extra look over pwm-pxa.c,
>> pwm-cros-ec.c and pwm-clps711x.c since these were moved to use the generic
>> pwms (minimum 2 pwm-cells).
>>
>> drivers/pwm/core.c | 56 +++++++++++-------------------------------
>> drivers/pwm/pwm-atmel-hlcdc.c | 2 --
>> drivers/pwm/pwm-atmel-tcb.c | 2 --
>> drivers/pwm/pwm-atmel.c | 6 -----
>> drivers/pwm/pwm-bcm-iproc.c | 2 --
>> drivers/pwm/pwm-bcm-kona.c | 2 --
>> drivers/pwm/pwm-bcm2835.c | 2 --
>> drivers/pwm/pwm-berlin.c | 2 --
>> drivers/pwm/pwm-clps711x.c | 11 ---------
>> drivers/pwm/pwm-cros-ec.c | 20 ---------------
>> drivers/pwm/pwm-fsl-ftm.c | 2 --
>> drivers/pwm/pwm-hibvt.c | 2 --
>> drivers/pwm/pwm-imx.c | 8 ------
>> drivers/pwm/pwm-lpc18xx-sct.c | 2 --
>> drivers/pwm/pwm-meson.c | 2 --
>> drivers/pwm/pwm-omap-dmtimer.c | 2 --
>> drivers/pwm/pwm-pxa.c | 19 --------------
>> drivers/pwm/pwm-renesas-tpu.c | 2 --
>> drivers/pwm/pwm-rockchip.c | 5 ----
>> drivers/pwm/pwm-samsung.c | 3 ---
>> drivers/pwm/pwm-sun4i.c | 2 --
>> drivers/pwm/pwm-tiecap.c | 2 --
>> drivers/pwm/pwm-tiehrpwm.c | 2 --
>> drivers/pwm/pwm-vt8500.c | 2 --
>> drivers/pwm/pwm-zx.c | 2 --
>> include/linux/pwm.h | 23 ++++++++++-------
>> 26 files changed, 29 insertions(+), 156 deletions(-)
>>
>
> [...]
>> diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
>> index 0767deba8e62..6702fcc203ce 100644
>> --- a/drivers/pwm/pwm-meson.c
>> +++ b/drivers/pwm/pwm-meson.c
>> @@ -535,8 +535,6 @@ static int meson_pwm_probe(struct platform_device *pdev)
>> meson->chip.ops = &meson_pwm_ops;
>> meson->chip.base = -1;
>> meson->chip.npwm = 2;
>> - meson->chip.of_xlate = of_pwm_xlate_with_flags;
>> - meson->chip.of_pwm_n_cells = 3;
>>
>> meson->data = of_device_get_match_data(&pdev->dev);
>> meson->inverter_mask = BIT(meson->chip.npwm) - 1;
>> diff --git a/drivers/pwm/pwm-omap-dmtimer.c b/drivers/pwm/pwm-omap-dmtimer.c
>> index 5ad42f33e70c..6bd32ae6dd3e 100644
>> --- a/drivers/pwm/pwm-omap-dmtimer.c
>> +++ b/drivers/pwm/pwm-omap-dmtimer.c
>> @@ -317,8 +317,6 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
>> omap->chip.ops = &pwm_omap_dmtimer_ops;
>> omap->chip.base = -1;
>> omap->chip.npwm = 1;
>> - omap->chip.of_xlate = of_pwm_xlate_with_flags;
>> - omap->chip.of_pwm_n_cells = 3;
>>
>> mutex_init(&omap->mutex);
>>
> [...]
>
> Hi Claudiu,
>
> Please avoid changing the device tree plumbing, this of_xlate fields are needed since
> some platforms will need to have their own translate functions.
>
> Moving a to single mandatory xlate function is going backward, a possible move
> would be to default to of_pwm_xlate_with_flags and 3 cells if of_xlate is NULL,
> or use the platforms xlate if provided.
>
> Moving to a single xlate function is unrelated to your needs and can break some platforms.
Hi Neil,
Thank you for your feedback. Looking over the drivers I saw that only 3 drivers
are using private of_xlate functions, the rest of them uses of_pwm_xlate_with_flags
and of_pwm_simple_xlate function combined with pwm-cells binding and of_pwm_n_cells
(which I think is redundant with pwm-cells). I though that switching to a common
of_xlate to xlate everything based on pwm-cells binding value would be better
and remove redundant code.
But if this is a downward direction I agree to drop the changes related to of_xlate.
Thanks,
Claudiu
>
> Neil
>
next prev parent reply other threads:[~2018-01-16 9:33 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-12 14:22 [PATCH v2 00/16] extend PWM framework to support PWM modes Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 01/16] drivers: pwm: core: use a single of xlate function Claudiu Beznea
[not found] ` <1515766983-15151-2-git-send-email-claudiu.beznea-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2018-01-12 18:35 ` Brian Norris
[not found] ` <20180112183512.GB102880-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2018-01-15 8:41 ` Claudiu Beznea
2018-01-15 12:43 ` Claudiu Beznea
2018-01-15 20:27 ` Andy Shevchenko
[not found] ` <CAHp75VcaFDEQ1cBzeU2eBj_vf19ok6EWLC07SOTQLRH8BQSbzA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-16 8:24 ` Claudiu Beznea
2018-01-17 23:14 ` Brian Norris
2018-01-18 9:11 ` Claudiu Beznea
2018-01-16 9:07 ` Neil Armstrong
2018-01-16 9:33 ` Claudiu Beznea [this message]
2018-01-12 14:22 ` [PATCH v2 02/16] pwm: pxa: update documentation regarding pwm-cells Claudiu Beznea
2018-01-19 22:30 ` Rob Herring
2018-01-22 8:47 ` Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 04/16] pwm: clps711x: " Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 05/16] ARM: dts: clps711x: update pwm-cells Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 07/16] arm64: dts: rockchip: " Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 08/16] drivers: pwm: core: extend PWM framework with PWM modes Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 10/16] pwm: Add " Claudiu Beznea
2018-01-19 22:34 ` Rob Herring
2018-01-22 8:54 ` Claudiu Beznea
[not found] ` <c5aeb8df-6aa8-cde4-9305-08777cac2f45-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2018-01-22 18:12 ` Rob Herring
[not found] ` <CAL_JsqJho2OrdnHwRPpYsbNB4RFTq5qSLA=36D2zy=Mi7B8XwQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-23 10:40 ` Claudiu Beznea
2018-01-23 15:21 ` Rob Herring
2018-01-23 16:55 ` Claudiu Beznea
[not found] ` <1515766983-15151-1-git-send-email-claudiu.beznea-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2018-01-12 14:22 ` [PATCH v2 03/16] pwm: cros-ec: update documentation regarding pwm-cells Claudiu Beznea
2018-01-12 18:31 ` Brian Norris
2018-01-15 9:01 ` Claudiu Beznea
2018-01-17 8:29 ` Claudiu Beznea
[not found] ` <c2078487-8cc6-429e-6c38-092d776c33aa-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2018-01-17 23:10 ` Brian Norris
2018-01-18 9:18 ` Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 06/16] ARM: dts: pxa: update pwm-cells Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 09/16] drivers: pwm: core: add PWM mode to pwm_config() Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 11/16] pwm: add documentation for PWM modes Claudiu Beznea
2018-01-19 22:39 ` Rob Herring
2018-01-22 8:55 ` Claudiu Beznea
2018-01-12 14:23 ` [PATCH v2 13/16] drivers: pwm: core: add push-pull mode support Claudiu Beznea
2018-01-12 14:22 ` [PATCH v2 12/16] pwm: atmel: add pwm capabilities Claudiu Beznea
2018-01-12 14:23 ` [PATCH v2 14/16] pwm: add push-pull mode Claudiu Beznea
2018-01-12 14:23 ` [PATCH v2 15/16] pwm: add documentation for pwm " Claudiu Beznea
[not found] ` <1515766983-15151-16-git-send-email-claudiu.beznea-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2018-01-19 22:41 ` Rob Herring
2018-01-12 14:23 ` [PATCH v2 16/16] pwm: atmel: add push-pull mode support Claudiu Beznea
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=a15b3974-33ca-70c9-2579-bcdd0d9eb5b1@microchip.com \
--to=claudiu.beznea@microchip.com \
--cc=alexandre.belloni@free-electrons.com \
--cc=briannorris@chromium.org \
--cc=corbet@lwn.net \
--cc=daniel@zonque.org \
--cc=devicetree@vger.kernel.org \
--cc=haojian.zhuang@gmail.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=mikedunn@newsguy.com \
--cc=narmstrong@baylibre.com \
--cc=nicolas.ferre@microchip.com \
--cc=robert.jarzmik@free.fr \
--cc=robh+dt@kernel.org \
--cc=shc_work@mail.ru \
--cc=thierry.reding@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).