From: Simon Horman <horms@kernel.org>
To: Andrea della Porta <andrea.porta@suse.com>
Cc: Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
Linus Walleij <linus.walleij@linaro.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Derek Kiernan <derek.kiernan@amd.com>,
Dragan Cvetic <dragan.cvetic@amd.com>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Saravana Kannan <saravanak@google.com>,
Bjorn Helgaas <bhelgaas@google.com>,
linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
netdev@vger.kernel.org, linux-pci@vger.kernel.org,
linux-arch@vger.kernel.org, Lee Jones <lee@kernel.org>,
Andrew Lunn <andrew@lunn.ch>, Stefan Wahren <wahrenst@gmx.net>
Subject: Re: [PATCH 06/11] clk: rp1: Add support for clocks provided by RP1
Date: Wed, 21 Aug 2024 14:17:57 +0100 [thread overview]
Message-ID: <20240821131757.GB6387@kernel.org> (raw)
In-Reply-To: <a378cc652b7e92b4022141dd2f20711e1771eb72.1724159867.git.andrea.porta@suse.com>
On Tue, Aug 20, 2024 at 04:36:08PM +0200, Andrea della Porta wrote:
> RaspberryPi RP1 is an MFD providing, among other peripherals, several
> clock generators and PLLs that drives the sub-peripherals.
> Add the driver to support the clock providers.
>
> Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
...
> diff --git a/drivers/clk/clk-rp1.c b/drivers/clk/clk-rp1.c
> new file mode 100644
> index 000000000000..d18e711c0623
> --- /dev/null
> +++ b/drivers/clk/clk-rp1.c
> @@ -0,0 +1,1655 @@
> +// SPDX-License-Identifier: GPL
checkpatch says:
WARNING: 'SPDX-License-Identifier: GPL' is not supported in LICENSES/...
...
> +static int rp1_clock_set_parent(struct clk_hw *hw, u8 index)
> +{
> + struct rp1_clock *clock = container_of(hw, struct rp1_clock, hw);
> + struct rp1_clockman *clockman = clock->clockman;
> + const struct rp1_clock_data *data = clock->data;
> + u32 ctrl, sel;
> +
> + spin_lock(&clockman->regs_lock);
> + ctrl = clockman_read(clockman, data->ctrl_reg);
> +
> + if (index >= data->num_std_parents) {
> + /* This is an aux source request */
> + if (index >= data->num_std_parents + data->num_aux_parents)
It looks like &clockman->regs_lock needs to be unlocked here.
Flagged by Smatch, Sparse. and Coccinelle.
> + return -EINVAL;
> +
> + /* Select parent from aux list */
> + ctrl = set_register_field(ctrl, index - data->num_std_parents,
> + CLK_CTRL_AUXSRC_MASK,
> + CLK_CTRL_AUXSRC_SHIFT);
> + /* Set src to aux list */
> + ctrl = set_register_field(ctrl, AUX_SEL, data->clk_src_mask,
> + CLK_CTRL_SRC_SHIFT);
> + } else {
> + ctrl = set_register_field(ctrl, index, data->clk_src_mask,
> + CLK_CTRL_SRC_SHIFT);
> + }
> +
> + clockman_write(clockman, data->ctrl_reg, ctrl);
> + spin_unlock(&clockman->regs_lock);
> +
> + sel = rp1_clock_get_parent(hw);
> + WARN(sel != index, "(%s): Parent index req %u returned back %u\n",
> + data->name, index, sel);
> +
> + return 0;
> +}
...
WARNING: multiple messages have this Message-ID (diff)
From: Simon Horman <horms@kernel.org>
To: Andrea della Porta <andrea.porta@suse.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
Catalin Marinas <catalin.marinas@arm.com>,
Michael Turquette <mturquette@baylibre.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
Eric Dumazet <edumazet@google.com>,
Dragan Cvetic <dragan.cvetic@amd.com>,
Will Deacon <will@kernel.org>,
linux-clk@vger.kernel.org, linux-arch@vger.kernel.org,
Rob Herring <robh@kernel.org>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Lee Jones <lee@kernel.org>,
Saravana Kannan <saravanak@google.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
linux-pci@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>,
Linus Walleij <linus.walleij@linaro.org>,
devicetree@vger.kernel.org, Conor Dooley <conor+dt@kernel.org>,
Arnd Bergmann <arnd@arndb.de>,
linux-gpio@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
Bjorn Helgaas <bhelgaas@google.com>,
linux-arm-kernel@lists.infradead.org,
Derek Kiernan <derek.kiernan@amd.com>,
Stephen Boyd <sboyd@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, Stefan Wahren <wahrenst@gmx.net>,
netdev@vger.kernel.org, Krzysztof Kozlowski <krzk+dt@kernel.org>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH 06/11] clk: rp1: Add support for clocks provided by RP1
Date: Wed, 21 Aug 2024 14:17:57 +0100 [thread overview]
Message-ID: <20240821131757.GB6387@kernel.org> (raw)
In-Reply-To: <a378cc652b7e92b4022141dd2f20711e1771eb72.1724159867.git.andrea.porta@suse.com>
On Tue, Aug 20, 2024 at 04:36:08PM +0200, Andrea della Porta wrote:
> RaspberryPi RP1 is an MFD providing, among other peripherals, several
> clock generators and PLLs that drives the sub-peripherals.
> Add the driver to support the clock providers.
>
> Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
...
> diff --git a/drivers/clk/clk-rp1.c b/drivers/clk/clk-rp1.c
> new file mode 100644
> index 000000000000..d18e711c0623
> --- /dev/null
> +++ b/drivers/clk/clk-rp1.c
> @@ -0,0 +1,1655 @@
> +// SPDX-License-Identifier: GPL
checkpatch says:
WARNING: 'SPDX-License-Identifier: GPL' is not supported in LICENSES/...
...
> +static int rp1_clock_set_parent(struct clk_hw *hw, u8 index)
> +{
> + struct rp1_clock *clock = container_of(hw, struct rp1_clock, hw);
> + struct rp1_clockman *clockman = clock->clockman;
> + const struct rp1_clock_data *data = clock->data;
> + u32 ctrl, sel;
> +
> + spin_lock(&clockman->regs_lock);
> + ctrl = clockman_read(clockman, data->ctrl_reg);
> +
> + if (index >= data->num_std_parents) {
> + /* This is an aux source request */
> + if (index >= data->num_std_parents + data->num_aux_parents)
It looks like &clockman->regs_lock needs to be unlocked here.
Flagged by Smatch, Sparse. and Coccinelle.
> + return -EINVAL;
> +
> + /* Select parent from aux list */
> + ctrl = set_register_field(ctrl, index - data->num_std_parents,
> + CLK_CTRL_AUXSRC_MASK,
> + CLK_CTRL_AUXSRC_SHIFT);
> + /* Set src to aux list */
> + ctrl = set_register_field(ctrl, AUX_SEL, data->clk_src_mask,
> + CLK_CTRL_SRC_SHIFT);
> + } else {
> + ctrl = set_register_field(ctrl, index, data->clk_src_mask,
> + CLK_CTRL_SRC_SHIFT);
> + }
> +
> + clockman_write(clockman, data->ctrl_reg, ctrl);
> + spin_unlock(&clockman->regs_lock);
> +
> + sel = rp1_clock_get_parent(hw);
> + WARN(sel != index, "(%s): Parent index req %u returned back %u\n",
> + data->name, index, sel);
> +
> + return 0;
> +}
...
next prev parent reply other threads:[~2024-08-21 13:18 UTC|newest]
Thread overview: 200+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-20 14:36 [PATCH 00/11] Add support for RaspberryPi RP1 PCI device using a DT overlay Andrea della Porta
2024-08-20 14:36 ` [PATCH 01/11] dt-bindings: clock: Add RaspberryPi RP1 clock bindings Andrea della Porta
2024-08-20 16:19 ` Conor Dooley
2024-08-20 16:19 ` Conor Dooley
2024-08-20 18:25 ` Andrea della Porta
2024-08-20 18:25 ` Andrea della Porta
2024-08-21 11:46 ` Conor Dooley
2024-08-22 9:35 ` Andrea della Porta
2024-08-22 9:35 ` Andrea della Porta
2024-08-22 9:52 ` Krzysztof Kozlowski
2024-08-22 16:23 ` Conor Dooley
2024-08-22 16:23 ` Conor Dooley
2024-08-23 18:21 ` Andrea della Porta
2024-08-23 18:21 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 02/11] dt-bindings: pinctrl: Add RaspberryPi RP1 gpio/pinctrl/pinmux bindings Andrea della Porta
2024-08-21 8:42 ` Krzysztof Kozlowski
2024-08-21 8:42 ` Krzysztof Kozlowski
2024-08-30 10:22 ` Andrea della Porta
2024-08-30 10:22 ` Andrea della Porta
2024-08-30 11:46 ` Krzysztof Kozlowski
2024-08-30 11:46 ` Krzysztof Kozlowski
2024-09-02 8:44 ` Andrea della Porta
2024-09-02 8:44 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 03/11] PCI: of_property: Sanitize 32 bit PCI address parsed from DT Andrea della Porta
2024-08-21 15:24 ` Bjorn Helgaas
2024-08-21 15:24 ` Bjorn Helgaas
2024-08-26 19:51 ` Andrea della Porta
2024-08-26 19:51 ` Andrea della Porta
2024-09-03 22:26 ` Bjorn Helgaas
2024-09-05 16:43 ` Andrea della Porta
2024-09-05 16:43 ` Andrea della Porta
2024-09-05 20:16 ` Bjorn Helgaas
2024-09-05 20:16 ` Bjorn Helgaas
2024-09-27 6:48 ` Andrea della Porta
2024-09-27 6:48 ` Andrea della Porta
2024-09-28 20:17 ` Bjorn Helgaas
2024-09-28 20:17 ` Bjorn Helgaas
2024-10-06 11:20 ` Andrea della Porta
2024-10-06 11:20 ` Andrea della Porta
2024-10-08 1:08 ` Bjorn Helgaas
2024-10-08 1:08 ` Bjorn Helgaas
2024-10-18 12:41 ` Andrea della Porta
2024-10-18 12:41 ` Andrea della Porta
2024-10-18 22:28 ` Bjorn Helgaas
2024-10-18 22:28 ` Bjorn Helgaas
2024-10-19 8:46 ` Andrea della Porta
2024-10-19 8:46 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 04/11] of: address: Preserve the flags portion on 1:1 dma-ranges mapping Andrea della Porta
2024-08-21 0:16 ` Rob Herring
2024-08-21 0:16 ` Rob Herring
2024-08-21 8:18 ` Andrea della Porta
2024-08-21 8:18 ` Andrea della Porta
2024-08-26 21:29 ` Rob Herring
2024-08-29 10:13 ` Andrea della Porta
2024-08-29 10:13 ` Andrea della Porta
2024-08-29 13:18 ` Rob Herring
2024-08-29 13:18 ` Rob Herring
2024-08-29 16:26 ` Andrea della Porta
2024-08-29 16:26 ` Andrea della Porta
2024-08-30 19:37 ` Rob Herring
2024-08-30 19:37 ` Rob Herring
2024-09-03 9:09 ` Herve Codina
2024-09-03 9:09 ` Herve Codina
2024-09-03 9:33 ` Andrea della Porta
2024-09-03 9:33 ` Andrea della Porta
2024-09-03 18:55 ` Rob Herring
2024-09-03 18:55 ` Rob Herring
2024-09-03 16:15 ` Andrea della Porta
2024-09-03 16:15 ` Andrea della Porta
2024-09-03 18:46 ` Rob Herring
2024-09-03 18:46 ` Rob Herring
2024-09-04 8:33 ` Andrea della Porta
2024-09-04 8:33 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 05/11] vmlinux.lds.h: Preserve DTB sections from being discarded after init Andrea della Porta
2024-08-30 19:46 ` Stephen Boyd
2024-09-03 12:29 ` Andrea della Porta
2024-09-03 12:29 ` Andrea della Porta
2024-09-21 20:47 ` Stephen Boyd
2024-09-22 8:14 ` Masahiro Yamada
2024-09-22 8:14 ` Masahiro Yamada
2024-09-23 18:13 ` Stephen Boyd
2024-09-24 2:45 ` Masahiro Yamada
2024-09-24 2:45 ` Masahiro Yamada
2024-08-20 14:36 ` [PATCH 06/11] clk: rp1: Add support for clocks provided by RP1 Andrea della Porta
2024-08-21 13:17 ` Simon Horman [this message]
2024-08-21 13:17 ` Simon Horman
2024-08-22 10:04 ` Andrea della Porta
2024-08-22 10:04 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 07/11] pinctrl: rp1: Implement RaspberryPi RP1 gpio support Andrea della Porta
2024-08-21 8:45 ` Krzysztof Kozlowski
2024-08-21 8:45 ` Krzysztof Kozlowski
2024-08-30 10:39 ` Andrea della Porta
2024-08-30 10:39 ` Andrea della Porta
2024-08-21 9:22 ` kernel test robot
2024-08-21 12:06 ` kernel test robot
2024-08-21 13:27 ` Simon Horman
2024-08-21 13:27 ` Simon Horman
2024-08-23 17:16 ` Andrea della Porta
2024-08-23 17:16 ` Andrea della Porta
2024-08-21 20:51 ` kernel test robot
2024-08-26 8:59 ` Linus Walleij
2024-08-26 8:59 ` Linus Walleij
2024-08-28 15:24 ` Andrea della Porta
2024-08-28 15:24 ` Andrea della Porta
2024-09-02 8:31 ` Linus Walleij
2024-08-20 14:36 ` [PATCH 08/11] misc: rp1: RaspberryPi RP1 misc driver Andrea della Porta
2024-08-21 8:38 ` Krzysztof Kozlowski
2024-08-21 8:38 ` Krzysztof Kozlowski
2024-08-21 14:20 ` Krzysztof Kozlowski
2024-08-21 14:20 ` Krzysztof Kozlowski
2024-08-22 14:33 ` Andrea della Porta
2024-08-22 14:33 ` Andrea della Porta
2024-08-22 14:46 ` Krzysztof Kozlowski
2024-08-30 13:49 ` Andrea della Porta
2024-08-30 13:49 ` Andrea della Porta
2024-08-30 14:21 ` Andrew Lunn
2024-08-30 14:21 ` Andrew Lunn
2024-09-03 14:56 ` Andrea della Porta
2024-09-03 14:56 ` Andrea della Porta
2024-08-30 16:52 ` Krzysztof Kozlowski
2024-08-30 16:52 ` Krzysztof Kozlowski
2024-09-03 15:15 ` Andrea della Porta
2024-09-03 15:15 ` Andrea della Porta
2024-09-03 18:27 ` Krzysztof Kozlowski
2024-09-03 18:27 ` Krzysztof Kozlowski
2024-09-05 16:33 ` Andrea della Porta
2024-09-05 16:33 ` Andrea della Porta
2024-09-05 16:52 ` Krzysztof Kozlowski
2024-09-05 16:52 ` Krzysztof Kozlowski
2024-09-05 18:54 ` Andrea della Porta
2024-09-05 18:54 ` Andrea della Porta
2024-09-05 21:20 ` Krzysztof Kozlowski
2024-09-05 21:20 ` Krzysztof Kozlowski
2024-08-21 13:07 ` kernel test robot
2024-08-21 13:49 ` kernel test robot
2024-08-21 16:20 ` Stefan Wahren
2024-08-23 9:44 ` Andrea della Porta
2024-08-23 9:44 ` Andrea della Porta
2024-08-23 10:23 ` Stefan Wahren
2024-08-23 16:31 ` Andrea della Porta
2024-08-23 16:31 ` Andrea della Porta
2024-08-30 18:27 ` Rob Herring
2024-08-30 18:27 ` Rob Herring
2024-09-02 9:34 ` Andrea della Porta
2024-09-02 9:34 ` Andrea della Porta
2024-08-21 16:55 ` Bjorn Helgaas
2024-08-21 16:55 ` Bjorn Helgaas
2024-08-23 10:21 ` Andrea della Porta
2024-08-23 10:21 ` Andrea della Porta
2024-08-21 17:56 ` kernel test robot
2024-08-24 1:53 ` Greg Kroah-Hartman
2024-08-24 1:53 ` Greg Kroah-Hartman
2024-08-26 9:07 ` Andrea della Porta
2024-08-26 9:07 ` Andrea della Porta
2024-08-26 9:18 ` Greg Kroah-Hartman
2024-08-20 14:36 ` [PATCH 09/11] arm64: defconfig: Enable RP1 misc/clock/gpio drivers as built-in Andrea della Porta
2024-08-21 8:47 ` Krzysztof Kozlowski
2024-08-21 8:47 ` Krzysztof Kozlowski
2024-08-30 22:24 ` Andrea della Porta
2024-08-30 22:24 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 10/11] net: macb: Add support for RP1's MACB variant Andrea della Porta
2024-08-20 15:13 ` Andrew Lunn
2024-08-20 15:13 ` Andrew Lunn
2024-08-20 18:31 ` Andrea della Porta
2024-08-20 18:31 ` Andrea della Porta
2024-08-21 8:49 ` Krzysztof Kozlowski
2024-08-21 8:49 ` Krzysztof Kozlowski
2024-08-30 22:32 ` Andrea della Porta
2024-08-30 22:32 ` Andrea della Porta
2024-08-21 17:01 ` Florian Fainelli
2024-08-26 20:03 ` Andrea della Porta
2024-08-26 20:03 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 11/11] arm64: dts: rp1: Add support for MACB contained in RP1 Andrea della Porta
2024-08-21 8:43 ` Krzysztof Kozlowski
2024-08-21 8:43 ` Krzysztof Kozlowski
2024-08-30 22:33 ` Andrea della Porta
2024-08-30 22:33 ` Andrea della Porta
2024-08-21 17:02 ` Florian Fainelli
2024-08-26 20:18 ` Andrea della Porta
2024-08-26 20:18 ` Andrea della Porta
2024-08-21 13:42 ` [PATCH 00/11] Add support for RaspberryPi RP1 PCI device using a DT overlay Krzysztof Kozlowski
2024-08-21 13:42 ` Krzysztof Kozlowski
2024-08-22 9:05 ` Andrea della Porta
2024-08-22 9:05 ` Andrea della Porta
2024-08-22 9:50 ` Krzysztof Kozlowski
2024-08-29 13:11 ` Andrea della Porta
2024-08-29 13:11 ` Andrea della Porta
2024-08-22 13:04 ` Andrew Lunn
2024-08-29 12:01 ` Andrea della Porta
2024-08-29 12:01 ` Andrea della Porta
2024-08-29 13:04 ` Andrew Lunn
2024-08-29 13:13 ` Andrea della Porta
2024-08-29 13:13 ` Andrea della Porta
2024-08-30 5:21 ` Andrea della Porta
2024-08-30 5:21 ` Andrea della Porta
2024-08-30 14:10 ` Andrew Lunn
2024-08-30 14:10 ` Andrew Lunn
2024-09-02 9:21 ` Andrea della Porta
2024-09-02 9:21 ` Andrea della Porta
-- strict thread matches above, loose matches on Subject: below --
2024-08-22 1:19 [PATCH 06/11] clk: rp1: Add support for clocks provided by RP1 kernel test robot
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=20240821131757.GB6387@kernel.org \
--to=horms@kernel.org \
--cc=andrea.porta@suse.com \
--cc=andrew@lunn.ch \
--cc=arnd@arndb.de \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=derek.kiernan@amd.com \
--cc=devicetree@vger.kernel.org \
--cc=dragan.cvetic@amd.com \
--cc=edumazet@google.com \
--cc=florian.fainelli@broadcom.com \
--cc=gregkh@linuxfoundation.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mturquette@baylibre.com \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=saravanak@google.com \
--cc=sboyd@kernel.org \
--cc=wahrenst@gmx.net \
--cc=will@kernel.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.