From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8FFF6C6FA8F for ; Thu, 24 Aug 2023 16:46:24 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 74D6D846; Thu, 24 Aug 2023 18:45:31 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 74D6D846 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1692895581; bh=AhRYMJGaCtGa9P4qu6ke2vcHVGofovXgmQ7wC0r6bHk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=dfzntZPr/NUEDGTH0ltclaIxDKJd/z7S0YLwtu5mCnMJmVk8GpQxluRpNdq0YUJT+ 5grZa1vACS+i4E6Ikd5NNe4/oKQEcSkUNjPZCcxX3HB5OZmqXLo4/B8U4H3wWXJVzn c7VER/aEVusOyrJqzNb0I634djpklvDiWfOei6WY= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 72AA9F80536; Thu, 24 Aug 2023 18:45:09 +0200 (CEST) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id F3E58F80158; Thu, 24 Aug 2023 18:45:08 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 270CEF80158; Thu, 24 Aug 2023 18:45:05 +0200 (CEST) Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::224]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id BBF42F800BF for ; Thu, 24 Aug 2023 18:45:00 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz BBF42F800BF Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key, unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256 header.s=gm1 header.b=KTVnzD5e Received: by mail.gandi.net (Postfix) with ESMTPSA id C1707E0004; Thu, 24 Aug 2023 16:44:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1692895499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sgKRd8PXna9jddAQ7rYYlYUO4KIn7jskOvosbl+/UOs=; b=KTVnzD5eVG2mw9j6CEqcZhnTJSoCHDBkb/MYYvlHhrk7z6MfEr8ZRX0TSl957if3mHmwzS 6frES6KAXz+WuMYXmtFLD13OjX3VJcXVNJNMy7D6DCPoRgPj1bT8AtppiE+olPLBuMGg// JxxP0rArWBg88Nbj10QQwE39F6YhX3z3MDZGAnJf48nbqoGxGXN8Xia5wJbKAGfZBJ+N6Q HZA6C5qZftnN7pcS/5UaU+tLfQg+VnUhV0Zik7VF4qhFoxdGtvxD+UIMBMYu3kVD898JBR BQPsXzVrFkC3MWJPlEnpAEFtwQr2EIdoqd1el7kRXYhmwqMBOoOEs+RVJBd09g== Date: Thu, 24 Aug 2023 18:44:54 +0200 From: Herve Codina To: Simon Horman Cc: Christophe Leroy , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Linus Walleij , Qiang Zhao , Li Yang , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Shengjiu Wang , Xiubo Li , Fabio Estevam , Nicolin Chen , Randy Dunlap , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, alsa-devel@alsa-project.org, Thomas Petazzoni Subject: Re: [PATCH v4 21/28] net: wan: Add framer framework support Message-ID: <20230824184454.2a96b6fc@bootlin.com> In-Reply-To: References: <5f671caf19be0a9bb7ea7b96a6c86381e243ca4c.1692376361.git.christophe.leroy@csgroup.eu> Organization: Bootlin X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-GND-Sasl: herve.codina@bootlin.com Message-ID-Hash: IGYCZ3PPGHAHRPGL7KLJ5AYJFCHEQGHX X-Message-ID-Hash: IGYCZ3PPGHAHRPGL7KLJ5AYJFCHEQGHX X-MailFrom: herve.codina@bootlin.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Hi Simon, On Sun, 20 Aug 2023 19:15:11 +0200 Simon Horman wrote: > On Fri, Aug 18, 2023 at 06:39:15PM +0200, Christophe Leroy wrote: > > From: Herve Codina > > > > A framer is a component in charge of an E1/T1 line interface. > > Connected usually to a TDM bus, it converts TDM frames to/from E1/T1 > > frames. It also provides information related to the E1/T1 line. > > > > The framer framework provides a set of APIs for the framer drivers > > (framer provider) to create/destroy a framer and APIs for the framer > > users (framer consumer) to obtain a reference to the framer, and > > use the framer. > > > > This basic implementation provides a framer abstraction for: > > - power on/off the framer > > - get the framer status (line state) > > - be notified on framer status changes > > - get/set the framer configuration > > > > Signed-off-by: Herve Codina > > Reviewed-by: Christophe Leroy > > Signed-off-by: Christophe Leroy > > Hi Christophe and Herve, > > some minor feedback from my side. > > ... > > > diff --git a/drivers/net/wan/framer/framer-core.c b/drivers/net/wan/framer/framer-core.c > > ... > > > +/** > > + * framer_create() - create a new framer > > + * @dev: device that is creating the new framer > > + * @node: device node of the framer. default to dev->of_node. > > + * @ops: function pointers for performing framer operations > > + * > > + * Called to create a framer using framer framework. > > + */ > > +struct framer *framer_create(struct device *dev, struct device_node *node, > > + const struct framer_ops *ops) > > +{ > > + int ret; > > + int id; > > + struct framer *framer; > > Please arrange local variable declarations for Networking code > using reverse xmas tree order - longest line to shortest. Yes, will be done in the next iteration. > > https://github.com/ecree-solarflare/xmastree is helpful here. > > ... > > > diff --git a/include/linux/framer/framer-provider.h b/include/linux/framer/framer-provider.h > > ... > > > +/** > > + * struct framer_ops - set of function pointers for performing framer operations > > + * @init: operation to be performed for initializing the framer > > + * @exit: operation to be performed while exiting > > + * @power_on: powering on the framer > > + * @power_off: powering off the framer > > + * @flags: OR-ed flags (FRAMER_FLAG_*) to ask for core functionality > > + * - @FRAMER_FLAG_POLL_STATUS: > > + * Ask the core to perfom a polling to get the framer status and > > nit: perfom -> perform Will be fixed in the next iteration. > > checkpatch.pl --codespell is your friend here > > > + * notify consumers on change. > > + * The framer should call @framer_notify_status_change() when it > > + * detects a status change. This is usally done using interrutps. > > nit: usally -> usually > interrutps -> interrupts Will be fixed in the next iteration. > > ... > > > diff --git a/include/linux/framer/framer.h b/include/linux/framer/framer.h > > new file mode 100644 > > index 000000000000..0bee7135142f > > --- /dev/null > > +++ b/include/linux/framer/framer.h > > @@ -0,0 +1,199 @@ > > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > > +/* > > + * Generic framer header file > > + * > > + * Copyright 2023 CS GROUP France > > + * > > + * Author: Herve Codina > > + */ > > + > > +#ifndef __DRIVERS_FRAMER_H > > +#define __DRIVERS_FRAMER_H > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > + > > +/** > > + * enum framer_iface - Framer interface > > As this is a kernel-doc, please include documentation for > the defined constants: FRAMER_IFACE_E1 and FRAMER_IFACE_T1. > > As flagged by: ./scripts/kernel-doc -none Will be done in the next iteration. > > > + */ > > +enum framer_iface { > > + FRAMER_IFACE_E1, /* E1 interface */ > > + FRAMER_IFACE_T1, /* T1 interface */ > > +}; > > + > > +/** > > + * enum framer_clock_mode - Framer clock mode > > Likewise here too. > > Also, nit: framer_clock_mode -> framer_clock_type > Will be updated (doc and change to framer_clock_type) in the next iteration. > > + */ > > +enum framer_clock_type { > > + FRAMER_CLOCK_EXT, /* External clock */ > > + FRAMER_CLOCK_INT, /* Internal clock */ > > +}; > > + > > +/** > > + * struct framer_configuration - Framer configuration > > nit: framer_configuration -> framer_config Will be fixed in the next iteration. > > > + * @line_iface: Framer line interface > > + * @clock_mode: Framer clock type > > + * @clock_rate: Framer clock rate > > + */ > > +struct framer_config { > > + enum framer_iface iface; > > + enum framer_clock_type clock_type; > > + unsigned long line_clock_rate; > > +}; > > + > > +/** > > + * struct framer_status - Framer status > > + * @link_is_on: Framer link state. true, the link is on, false, the link is off. > > + */ > > +struct framer_status { > > + bool link_is_on; > > +}; > > + > > +/** > > + * framer_event - event available for notification > > nit: framer_event -> enum framer_event Will be fixed in the next iteration. > > A~d please document FRAMER_EVENT_STATUS in the kernel doc too. Will be documented in the next iteration. > > > + */ > > +enum framer_event { > > + FRAMER_EVENT_STATUS, /* Event notified on framer_status changes */ > > +}; > > ... Thanks for the review, Best regards, Hervé From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3FF44C3DA6F for ; Thu, 24 Aug 2023 16:45:59 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256 header.s=gm1 header.b=KTVnzD5e; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4RWpqn50P6z3cGc for ; Fri, 25 Aug 2023 02:45:57 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256 header.s=gm1 header.b=KTVnzD5e; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=bootlin.com (client-ip=217.70.183.196; helo=relay4-d.mail.gandi.net; envelope-from=herve.codina@bootlin.com; receiver=lists.ozlabs.org) Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4RWppm1Z2dz3c5Y for ; Fri, 25 Aug 2023 02:45:02 +1000 (AEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id C1707E0004; Thu, 24 Aug 2023 16:44:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1692895499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sgKRd8PXna9jddAQ7rYYlYUO4KIn7jskOvosbl+/UOs=; b=KTVnzD5eVG2mw9j6CEqcZhnTJSoCHDBkb/MYYvlHhrk7z6MfEr8ZRX0TSl957if3mHmwzS 6frES6KAXz+WuMYXmtFLD13OjX3VJcXVNJNMy7D6DCPoRgPj1bT8AtppiE+olPLBuMGg// JxxP0rArWBg88Nbj10QQwE39F6YhX3z3MDZGAnJf48nbqoGxGXN8Xia5wJbKAGfZBJ+N6Q HZA6C5qZftnN7pcS/5UaU+tLfQg+VnUhV0Zik7VF4qhFoxdGtvxD+UIMBMYu3kVD898JBR BQPsXzVrFkC3MWJPlEnpAEFtwQr2EIdoqd1el7kRXYhmwqMBOoOEs+RVJBd09g== Date: Thu, 24 Aug 2023 18:44:54 +0200 From: Herve Codina To: Simon Horman Subject: Re: [PATCH v4 21/28] net: wan: Add framer framework support Message-ID: <20230824184454.2a96b6fc@bootlin.com> In-Reply-To: References: <5f671caf19be0a9bb7ea7b96a6c86381e243ca4c.1692376361.git.christophe.leroy@csgroup.eu> Organization: Bootlin X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-GND-Sasl: herve.codina@bootlin.com X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Lunn , alsa-devel@alsa-project.org, Thomas Petazzoni , Xiubo Li , Linus Walleij , Jaroslav Kysela , Eric Dumazet , Krzysztof Kozlowski , Fabio Estevam , Qiang Zhao , Shengjiu Wang , Lee Jones , Jakub Kicinski , Paolo Abeni , devicetree@vger.kernel.org, Conor Dooley , linux-kernel@vger.kernel.org, Nicolin Chen , linux-gpio@vger.kernel.org, Rob Herring , Takashi Iwai , linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, Randy Dunlap , Liam Girdwood , Li Yang , Mark Brown , linuxppc-dev@lists.ozlabs.org, "David S. Miller" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Hi Simon, On Sun, 20 Aug 2023 19:15:11 +0200 Simon Horman wrote: > On Fri, Aug 18, 2023 at 06:39:15PM +0200, Christophe Leroy wrote: > > From: Herve Codina > > > > A framer is a component in charge of an E1/T1 line interface. > > Connected usually to a TDM bus, it converts TDM frames to/from E1/T1 > > frames. It also provides information related to the E1/T1 line. > > > > The framer framework provides a set of APIs for the framer drivers > > (framer provider) to create/destroy a framer and APIs for the framer > > users (framer consumer) to obtain a reference to the framer, and > > use the framer. > > > > This basic implementation provides a framer abstraction for: > > - power on/off the framer > > - get the framer status (line state) > > - be notified on framer status changes > > - get/set the framer configuration > > > > Signed-off-by: Herve Codina > > Reviewed-by: Christophe Leroy > > Signed-off-by: Christophe Leroy > > Hi Christophe and Herve, > > some minor feedback from my side. > > ... > > > diff --git a/drivers/net/wan/framer/framer-core.c b/drivers/net/wan/framer/framer-core.c > > ... > > > +/** > > + * framer_create() - create a new framer > > + * @dev: device that is creating the new framer > > + * @node: device node of the framer. default to dev->of_node. > > + * @ops: function pointers for performing framer operations > > + * > > + * Called to create a framer using framer framework. > > + */ > > +struct framer *framer_create(struct device *dev, struct device_node *node, > > + const struct framer_ops *ops) > > +{ > > + int ret; > > + int id; > > + struct framer *framer; > > Please arrange local variable declarations for Networking code > using reverse xmas tree order - longest line to shortest. Yes, will be done in the next iteration. > > https://github.com/ecree-solarflare/xmastree is helpful here. > > ... > > > diff --git a/include/linux/framer/framer-provider.h b/include/linux/framer/framer-provider.h > > ... > > > +/** > > + * struct framer_ops - set of function pointers for performing framer operations > > + * @init: operation to be performed for initializing the framer > > + * @exit: operation to be performed while exiting > > + * @power_on: powering on the framer > > + * @power_off: powering off the framer > > + * @flags: OR-ed flags (FRAMER_FLAG_*) to ask for core functionality > > + * - @FRAMER_FLAG_POLL_STATUS: > > + * Ask the core to perfom a polling to get the framer status and > > nit: perfom -> perform Will be fixed in the next iteration. > > checkpatch.pl --codespell is your friend here > > > + * notify consumers on change. > > + * The framer should call @framer_notify_status_change() when it > > + * detects a status change. This is usally done using interrutps. > > nit: usally -> usually > interrutps -> interrupts Will be fixed in the next iteration. > > ... > > > diff --git a/include/linux/framer/framer.h b/include/linux/framer/framer.h > > new file mode 100644 > > index 000000000000..0bee7135142f > > --- /dev/null > > +++ b/include/linux/framer/framer.h > > @@ -0,0 +1,199 @@ > > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > > +/* > > + * Generic framer header file > > + * > > + * Copyright 2023 CS GROUP France > > + * > > + * Author: Herve Codina > > + */ > > + > > +#ifndef __DRIVERS_FRAMER_H > > +#define __DRIVERS_FRAMER_H > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > + > > +/** > > + * enum framer_iface - Framer interface > > As this is a kernel-doc, please include documentation for > the defined constants: FRAMER_IFACE_E1 and FRAMER_IFACE_T1. > > As flagged by: ./scripts/kernel-doc -none Will be done in the next iteration. > > > + */ > > +enum framer_iface { > > + FRAMER_IFACE_E1, /* E1 interface */ > > + FRAMER_IFACE_T1, /* T1 interface */ > > +}; > > + > > +/** > > + * enum framer_clock_mode - Framer clock mode > > Likewise here too. > > Also, nit: framer_clock_mode -> framer_clock_type > Will be updated (doc and change to framer_clock_type) in the next iteration. > > + */ > > +enum framer_clock_type { > > + FRAMER_CLOCK_EXT, /* External clock */ > > + FRAMER_CLOCK_INT, /* Internal clock */ > > +}; > > + > > +/** > > + * struct framer_configuration - Framer configuration > > nit: framer_configuration -> framer_config Will be fixed in the next iteration. > > > + * @line_iface: Framer line interface > > + * @clock_mode: Framer clock type > > + * @clock_rate: Framer clock rate > > + */ > > +struct framer_config { > > + enum framer_iface iface; > > + enum framer_clock_type clock_type; > > + unsigned long line_clock_rate; > > +}; > > + > > +/** > > + * struct framer_status - Framer status > > + * @link_is_on: Framer link state. true, the link is on, false, the link is off. > > + */ > > +struct framer_status { > > + bool link_is_on; > > +}; > > + > > +/** > > + * framer_event - event available for notification > > nit: framer_event -> enum framer_event Will be fixed in the next iteration. > > A~d please document FRAMER_EVENT_STATUS in the kernel doc too. Will be documented in the next iteration. > > > + */ > > +enum framer_event { > > + FRAMER_EVENT_STATUS, /* Event notified on framer_status changes */ > > +}; > > ... Thanks for the review, Best regards, Hervé From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 923CEC3DA6F for ; Thu, 24 Aug 2023 16:45:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=BqW43/7G30d2UibjUEbkqNAtYAifh0DbCSergjttGAE=; b=QuUS1X8EoRmC7F rQtMUDkDxqrymTBHFRCzSDdwrIISRk6h8nr2T1nNgmErK5LGhYAPflv/1o2GXOCVYdeAnM3okZ8CG AXapyxdgUFHXgjVUn9Sj7pBG2o16jReuaq0NV6y795YCVW/wvXe8St0fAE4PBItxorX/dm0DFund7 VYOwEBIVRZ0UYEBWvRTtbTroFObSpxmCzwyhvSGb7JCJI8VCflKhhgQ/4JyxAaOieogQhgKU0s81f HgM76cpyvmt+a4Q8YWiYc751/lwaQC9/KTJJymNwl/d33cKV9k//FVFjZzAGHOuf1B6TmRLjlIm9F 2YKIbQJvp5EOhp4UBrdA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qZDSG-003Ty8-24; Thu, 24 Aug 2023 16:45:08 +0000 Received: from relay4-d.mail.gandi.net ([2001:4b98:dc4:8::224]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qZDSD-003Tx2-29 for linux-arm-kernel@lists.infradead.org; Thu, 24 Aug 2023 16:45:07 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id C1707E0004; Thu, 24 Aug 2023 16:44:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1692895499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sgKRd8PXna9jddAQ7rYYlYUO4KIn7jskOvosbl+/UOs=; b=KTVnzD5eVG2mw9j6CEqcZhnTJSoCHDBkb/MYYvlHhrk7z6MfEr8ZRX0TSl957if3mHmwzS 6frES6KAXz+WuMYXmtFLD13OjX3VJcXVNJNMy7D6DCPoRgPj1bT8AtppiE+olPLBuMGg// JxxP0rArWBg88Nbj10QQwE39F6YhX3z3MDZGAnJf48nbqoGxGXN8Xia5wJbKAGfZBJ+N6Q HZA6C5qZftnN7pcS/5UaU+tLfQg+VnUhV0Zik7VF4qhFoxdGtvxD+UIMBMYu3kVD898JBR BQPsXzVrFkC3MWJPlEnpAEFtwQr2EIdoqd1el7kRXYhmwqMBOoOEs+RVJBd09g== Date: Thu, 24 Aug 2023 18:44:54 +0200 From: Herve Codina To: Simon Horman Cc: Christophe Leroy , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Linus Walleij , Qiang Zhao , Li Yang , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Shengjiu Wang , Xiubo Li , Fabio Estevam , Nicolin Chen , Randy Dunlap , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, alsa-devel@alsa-project.org, Thomas Petazzoni Subject: Re: [PATCH v4 21/28] net: wan: Add framer framework support Message-ID: <20230824184454.2a96b6fc@bootlin.com> In-Reply-To: References: <5f671caf19be0a9bb7ea7b96a6c86381e243ca4c.1692376361.git.christophe.leroy@csgroup.eu> Organization: Bootlin X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-GND-Sasl: herve.codina@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230824_094505_985595_3F817EC2 X-CRM114-Status: GOOD ( 33.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgU2ltb24sCgpPbiBTdW4sIDIwIEF1ZyAyMDIzIDE5OjE1OjExICswMjAwClNpbW9uIEhvcm1h biA8aG9ybXNAa2VybmVsLm9yZz4gd3JvdGU6Cgo+IE9uIEZyaSwgQXVnIDE4LCAyMDIzIGF0IDA2 OjM5OjE1UE0gKzAyMDAsIENocmlzdG9waGUgTGVyb3kgd3JvdGU6Cj4gPiBGcm9tOiBIZXJ2ZSBD b2RpbmEgPGhlcnZlLmNvZGluYUBib290bGluLmNvbT4KPiA+IAo+ID4gQSBmcmFtZXIgaXMgYSBj b21wb25lbnQgaW4gY2hhcmdlIG9mIGFuIEUxL1QxIGxpbmUgaW50ZXJmYWNlLgo+ID4gQ29ubmVj dGVkIHVzdWFsbHkgdG8gYSBURE0gYnVzLCBpdCBjb252ZXJ0cyBURE0gZnJhbWVzIHRvL2Zyb20g RTEvVDEKPiA+IGZyYW1lcy4gSXQgYWxzbyBwcm92aWRlcyBpbmZvcm1hdGlvbiByZWxhdGVkIHRv IHRoZSBFMS9UMSBsaW5lLgo+ID4gCj4gPiBUaGUgZnJhbWVyIGZyYW1ld29yayBwcm92aWRlcyBh IHNldCBvZiBBUElzIGZvciB0aGUgZnJhbWVyIGRyaXZlcnMKPiA+IChmcmFtZXIgcHJvdmlkZXIp IHRvIGNyZWF0ZS9kZXN0cm95IGEgZnJhbWVyIGFuZCBBUElzIGZvciB0aGUgZnJhbWVyCj4gPiB1 c2VycyAoZnJhbWVyIGNvbnN1bWVyKSB0byBvYnRhaW4gYSByZWZlcmVuY2UgdG8gdGhlIGZyYW1l ciwgYW5kCj4gPiB1c2UgdGhlIGZyYW1lci4KPiA+IAo+ID4gVGhpcyBiYXNpYyBpbXBsZW1lbnRh dGlvbiBwcm92aWRlcyBhIGZyYW1lciBhYnN0cmFjdGlvbiBmb3I6Cj4gPiAgLSBwb3dlciBvbi9v ZmYgdGhlIGZyYW1lcgo+ID4gIC0gZ2V0IHRoZSBmcmFtZXIgc3RhdHVzIChsaW5lIHN0YXRlKQo+ ID4gIC0gYmUgbm90aWZpZWQgb24gZnJhbWVyIHN0YXR1cyBjaGFuZ2VzCj4gPiAgLSBnZXQvc2V0 IHRoZSBmcmFtZXIgY29uZmlndXJhdGlvbgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBIZXJ2ZSBD b2RpbmEgPGhlcnZlLmNvZGluYUBib290bGluLmNvbT4KPiA+IFJldmlld2VkLWJ5OiBDaHJpc3Rv cGhlIExlcm95IDxjaHJpc3RvcGhlLmxlcm95QGNzZ3JvdXAuZXU+Cj4gPiBTaWduZWQtb2ZmLWJ5 OiBDaHJpc3RvcGhlIExlcm95IDxjaHJpc3RvcGhlLmxlcm95QGNzZ3JvdXAuZXU+ICAKPiAKPiBI aSBDaHJpc3RvcGhlIGFuZCBIZXJ2ZSwKPiAKPiBzb21lIG1pbm9yIGZlZWRiYWNrIGZyb20gbXkg c2lkZS4KPiAKPiAuLi4KPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93YW4vZnJhbWVy L2ZyYW1lci1jb3JlLmMgYi9kcml2ZXJzL25ldC93YW4vZnJhbWVyL2ZyYW1lci1jb3JlLmMgIAo+ IAo+IC4uLgo+IAo+ID4gKy8qKgo+ID4gKyAqIGZyYW1lcl9jcmVhdGUoKSAtIGNyZWF0ZSBhIG5l dyBmcmFtZXIKPiA+ICsgKiBAZGV2OiBkZXZpY2UgdGhhdCBpcyBjcmVhdGluZyB0aGUgbmV3IGZy YW1lcgo+ID4gKyAqIEBub2RlOiBkZXZpY2Ugbm9kZSBvZiB0aGUgZnJhbWVyLiBkZWZhdWx0IHRv IGRldi0+b2Zfbm9kZS4KPiA+ICsgKiBAb3BzOiBmdW5jdGlvbiBwb2ludGVycyBmb3IgcGVyZm9y bWluZyBmcmFtZXIgb3BlcmF0aW9ucwo+ID4gKyAqCj4gPiArICogQ2FsbGVkIHRvIGNyZWF0ZSBh IGZyYW1lciB1c2luZyBmcmFtZXIgZnJhbWV3b3JrLgo+ID4gKyAqLwo+ID4gK3N0cnVjdCBmcmFt ZXIgKmZyYW1lcl9jcmVhdGUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUg Km5vZGUsCj4gPiArCQkJICAgICBjb25zdCBzdHJ1Y3QgZnJhbWVyX29wcyAqb3BzKQo+ID4gK3sK PiA+ICsJaW50IHJldDsKPiA+ICsJaW50IGlkOwo+ID4gKwlzdHJ1Y3QgZnJhbWVyICpmcmFtZXI7 ICAKPiAKPiBQbGVhc2UgYXJyYW5nZSBsb2NhbCB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZm9yIE5l dHdvcmtpbmcgY29kZQo+IHVzaW5nIHJldmVyc2UgeG1hcyB0cmVlIG9yZGVyIC0gbG9uZ2VzdCBs aW5lIHRvIHNob3J0ZXN0LgoKWWVzLCB3aWxsIGJlIGRvbmUgaW4gdGhlIG5leHQgaXRlcmF0aW9u LgoKPiAKPiBodHRwczovL2dpdGh1Yi5jb20vZWNyZWUtc29sYXJmbGFyZS94bWFzdHJlZSBpcyBo ZWxwZnVsIGhlcmUuCj4gCj4gLi4uCj4gCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9m cmFtZXIvZnJhbWVyLXByb3ZpZGVyLmggYi9pbmNsdWRlL2xpbnV4L2ZyYW1lci9mcmFtZXItcHJv dmlkZXIuaCAgCj4gCj4gLi4uCj4gCj4gPiArLyoqCj4gPiArICogc3RydWN0IGZyYW1lcl9vcHMg LSBzZXQgb2YgZnVuY3Rpb24gcG9pbnRlcnMgZm9yIHBlcmZvcm1pbmcgZnJhbWVyIG9wZXJhdGlv bnMKPiA+ICsgKiBAaW5pdDogb3BlcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCBmb3IgaW5pdGlhbGl6 aW5nIHRoZSBmcmFtZXIKPiA+ICsgKiBAZXhpdDogb3BlcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCB3 aGlsZSBleGl0aW5nCj4gPiArICogQHBvd2VyX29uOiBwb3dlcmluZyBvbiB0aGUgZnJhbWVyCj4g PiArICogQHBvd2VyX29mZjogcG93ZXJpbmcgb2ZmIHRoZSBmcmFtZXIKPiA+ICsgKiBAZmxhZ3M6 IE9SLWVkIGZsYWdzIChGUkFNRVJfRkxBR18qKSB0byBhc2sgZm9yIGNvcmUgZnVuY3Rpb25hbGl0 eQo+ID4gKyAqICAgICAgICAgIC0gQEZSQU1FUl9GTEFHX1BPTExfU1RBVFVTOgo+ID4gKyAqICAg ICAgICAgICAgQXNrIHRoZSBjb3JlIHRvIHBlcmZvbSBhIHBvbGxpbmcgdG8gZ2V0IHRoZSBmcmFt ZXIgc3RhdHVzIGFuZCAgCj4gCj4gbml0OiBwZXJmb20gLT4gcGVyZm9ybQoKV2lsbCBiZSBmaXhl ZCBpbiB0aGUgbmV4dCBpdGVyYXRpb24uCgo+IAo+ICAgICAgY2hlY2twYXRjaC5wbCAtLWNvZGVz cGVsbCBpcyB5b3VyIGZyaWVuZCBoZXJlCj4gCj4gPiArICogICAgICAgICAgICBub3RpZnkgY29u c3VtZXJzIG9uIGNoYW5nZS4KPiA+ICsgKiAgICAgICAgICAgIFRoZSBmcmFtZXIgc2hvdWxkIGNh bGwgQGZyYW1lcl9ub3RpZnlfc3RhdHVzX2NoYW5nZSgpIHdoZW4gaXQKPiA+ICsgKiAgICAgICAg ICAgIGRldGVjdHMgYSBzdGF0dXMgY2hhbmdlLiBUaGlzIGlzIHVzYWxseSBkb25lIHVzaW5nIGlu dGVycnV0cHMuICAKPiAKPiBuaXQ6IHVzYWxseSAtPiB1c3VhbGx5Cj4gICAgICBpbnRlcnJ1dHBz IC0+IGludGVycnVwdHMKCldpbGwgYmUgZml4ZWQgaW4gdGhlIG5leHQgaXRlcmF0aW9uLgoKPiAK PiAuLi4KPiAKPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ZyYW1lci9mcmFtZXIuaCBi L2luY2x1ZGUvbGludXgvZnJhbWVyL2ZyYW1lci5oCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4gaW5kZXggMDAwMDAwMDAwMDAwLi4wYmVlNzEzNTE0MmYKPiA+IC0tLSAvZGV2L251bGwKPiA+ ICsrKyBiL2luY2x1ZGUvbGludXgvZnJhbWVyL2ZyYW1lci5oCj4gPiBAQCAtMCwwICsxLDE5OSBA QAo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCj4g PiArLyoKPiA+ICsgKiBHZW5lcmljIGZyYW1lciBoZWFkZXIgZmlsZQo+ID4gKyAqCj4gPiArICog Q29weXJpZ2h0IDIwMjMgQ1MgR1JPVVAgRnJhbmNlCj4gPiArICoKPiA+ICsgKiBBdXRob3I6IEhl cnZlIENvZGluYSA8aGVydmUuY29kaW5hQGJvb3RsaW4uY29tPgo+ID4gKyAqLwo+ID4gKwo+ID4g KyNpZm5kZWYgX19EUklWRVJTX0ZSQU1FUl9ICj4gPiArI2RlZmluZSBfX0RSSVZFUlNfRlJBTUVS X0gKPiA+ICsKPiA+ICsjaW5jbHVkZSA8bGludXgvZXJyLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4 L211dGV4Lmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L25vdGlmaWVyLmg+Cj4gPiArI2luY2x1ZGUg PGxpbnV4L29mLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+ID4gKyNpbmNsdWRl IDxsaW51eC93b3JrcXVldWUuaD4KPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBlbnVtIGZyYW1lcl9p ZmFjZSAtIEZyYW1lciBpbnRlcmZhY2UgIAo+IAo+IEFzIHRoaXMgaXMgYSBrZXJuZWwtZG9jLCBw bGVhc2UgaW5jbHVkZSBkb2N1bWVudGF0aW9uIGZvcgo+IHRoZSBkZWZpbmVkIGNvbnN0YW50czog RlJBTUVSX0lGQUNFX0UxIGFuZCBGUkFNRVJfSUZBQ0VfVDEuCj4gCj4gQXMgZmxhZ2dlZCBieTog Li9zY3JpcHRzL2tlcm5lbC1kb2MgLW5vbmUKCldpbGwgYmUgZG9uZSBpbiB0aGUgbmV4dCBpdGVy YXRpb24uCgo+IAo+ID4gKyAqLwo+ID4gK2VudW0gZnJhbWVyX2lmYWNlIHsKPiA+ICsJRlJBTUVS X0lGQUNFX0UxLCAgICAgIC8qIEUxIGludGVyZmFjZSAqLwo+ID4gKwlGUkFNRVJfSUZBQ0VfVDEs ICAgICAgLyogVDEgaW50ZXJmYWNlICovCj4gPiArfTsKPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBl bnVtIGZyYW1lcl9jbG9ja19tb2RlIC0gRnJhbWVyIGNsb2NrIG1vZGUgIAo+IAo+IExpa2V3aXNl IGhlcmUgdG9vLgo+IAo+IEFsc28sIG5pdDogZnJhbWVyX2Nsb2NrX21vZGUgLT4gZnJhbWVyX2Ns b2NrX3R5cGUKPiAKCldpbGwgYmUgdXBkYXRlZCAoZG9jIGFuZCBjaGFuZ2UgdG8gZnJhbWVyX2Ns b2NrX3R5cGUpIGluIHRoZSBuZXh0IGl0ZXJhdGlvbi4KCj4gPiArICovCj4gPiArZW51bSBmcmFt ZXJfY2xvY2tfdHlwZSB7Cj4gPiArCUZSQU1FUl9DTE9DS19FWFQsIC8qIEV4dGVybmFsIGNsb2Nr ICovCj4gPiArCUZSQU1FUl9DTE9DS19JTlQsIC8qIEludGVybmFsIGNsb2NrICovCj4gPiArfTsK PiA+ICsKPiA+ICsvKioKPiA+ICsgKiBzdHJ1Y3QgZnJhbWVyX2NvbmZpZ3VyYXRpb24gLSBGcmFt ZXIgY29uZmlndXJhdGlvbiAgCj4gCj4gbml0OiBmcmFtZXJfY29uZmlndXJhdGlvbiAtPiBmcmFt ZXJfY29uZmlnCgpXaWxsIGJlIGZpeGVkIGluIHRoZSBuZXh0IGl0ZXJhdGlvbi4KCj4gCj4gPiAr ICogQGxpbmVfaWZhY2U6IEZyYW1lciBsaW5lIGludGVyZmFjZQo+ID4gKyAqIEBjbG9ja19tb2Rl OiBGcmFtZXIgY2xvY2sgdHlwZQo+ID4gKyAqIEBjbG9ja19yYXRlOiBGcmFtZXIgY2xvY2sgcmF0 ZQo+ID4gKyAqLwo+ID4gK3N0cnVjdCBmcmFtZXJfY29uZmlnIHsKPiA+ICsJZW51bSBmcmFtZXJf aWZhY2UgaWZhY2U7Cj4gPiArCWVudW0gZnJhbWVyX2Nsb2NrX3R5cGUgY2xvY2tfdHlwZTsKPiA+ ICsJdW5zaWduZWQgbG9uZyBsaW5lX2Nsb2NrX3JhdGU7Cj4gPiArfTsKPiA+ICsKPiA+ICsvKioK PiA+ICsgKiBzdHJ1Y3QgZnJhbWVyX3N0YXR1cyAtIEZyYW1lciBzdGF0dXMKPiA+ICsgKiBAbGlu a19pc19vbjogRnJhbWVyIGxpbmsgc3RhdGUuIHRydWUsIHRoZSBsaW5rIGlzIG9uLCBmYWxzZSwg dGhlIGxpbmsgaXMgb2ZmLgo+ID4gKyAqLwo+ID4gK3N0cnVjdCBmcmFtZXJfc3RhdHVzIHsKPiA+ ICsJYm9vbCBsaW5rX2lzX29uOwo+ID4gK307Cj4gPiArCj4gPiArLyoqCj4gPiArICogZnJhbWVy X2V2ZW50IC0gZXZlbnQgYXZhaWxhYmxlIGZvciBub3RpZmljYXRpb24gIAo+IAo+IG5pdDogZnJh bWVyX2V2ZW50IC0+IGVudW0gZnJhbWVyX2V2ZW50CgpXaWxsIGJlIGZpeGVkIGluIHRoZSBuZXh0 IGl0ZXJhdGlvbi4KCj4gCj4gQX5kIHBsZWFzZSBkb2N1bWVudCBGUkFNRVJfRVZFTlRfU1RBVFVT IGluIHRoZSBrZXJuZWwgZG9jIHRvby4KCldpbGwgYmUgZG9jdW1lbnRlZCBpbiB0aGUgbmV4dCBp dGVyYXRpb24uCgo+IAo+ID4gKyAqLwo+ID4gK2VudW0gZnJhbWVyX2V2ZW50IHsKPiA+ICsJRlJB TUVSX0VWRU5UX1NUQVRVUywJLyogRXZlbnQgbm90aWZpZWQgb24gZnJhbWVyX3N0YXR1cyBjaGFu Z2VzICovCj4gPiArfTsgIAo+IAo+IC4uLgoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LApCZXN0IHJl Z2FyZHMsCkhlcnbDqQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo=