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 X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B962C63777 for ; Mon, 30 Nov 2020 17:22:18 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9E40D20789 for ; Mon, 30 Nov 2020 17:22:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="FWzhl7We" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9E40D20789 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lunn.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject: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=Mfs9oWIp+VriR7YyWarnnr1LtCLQzYOEOIBvgyjRUSo=; b=FWzhl7WehqIY1VOi343Aq37os j+eh0EIjbLBSftHUyo8ABOz1V50C8Rena8EEjEMaCimX+M3msmezoL6Xjsd9ZWrREqOVTn5TlbLat eX2V40PzZjSD7TBRdyaVB2/SvVEqRQ7zk22Hl/m4kudohZcDscWV++WGVJ4iYQq/ca7GF/QHpYQ55 0gB8TV0tFZl7EeEDNFQyGxEp11z1OE7AoURTTqrZUJ0yXtsVYmvGX8xOy0hWGh66bbL3/EJcpB4Xq uBYlOmh0mDR5uNHaPAInFC+f4+h7m8csYyPuesB8MWlmt9snPX66lPHZwvE9ezIgRQ2MGEDnVnD1H Nv44VIaOw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjmrD-0000Sc-QH; Mon, 30 Nov 2020 17:20:59 +0000 Received: from vps0.lunn.ch ([185.16.172.187]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjmrA-0000RL-Aw for linux-arm-kernel@lists.infradead.org; Mon, 30 Nov 2020 17:20:58 +0000 Received: from andrew by vps0.lunn.ch with local (Exim 4.94) (envelope-from ) id 1kjmqo-009XnF-OI; Mon, 30 Nov 2020 18:20:34 +0100 Date: Mon, 30 Nov 2020 18:20:34 +0100 From: Andrew Lunn To: Vignesh Raghavendra Subject: Re: [PATCH 3/4] net: ti: am65-cpsw-nuss: Add switchdev support Message-ID: <20201130172034.GF2073444@lunn.ch> References: <20201130082046.16292-1-vigneshr@ti.com> <20201130082046.16292-4-vigneshr@ti.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201130082046.16292-4-vigneshr@ti.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201130_122056_422015_878AA531 X-CRM114-Status: GOOD ( 12.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Grygorii Strashko , Jonathan Corbet , netdev@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Pirko , Jakub Kicinski , "David S . Miller" , Linux ARM Mailing List Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > +static int am65_cpsw_port_stp_state_set(struct am65_cpsw_port *port, > + struct switchdev_trans *trans, u8 state) > +{ > + struct am65_cpsw_common *cpsw = port->common; > + u8 cpsw_state; > + int ret = 0; > + > + if (switchdev_trans_ph_prepare(trans)) > + return 0; > + > + switch (state) { > + case BR_STATE_FORWARDING: > + cpsw_state = ALE_PORT_STATE_FORWARD; > + break; > + case BR_STATE_LEARNING: > + cpsw_state = ALE_PORT_STATE_LEARN; > + break; > + case BR_STATE_DISABLED: > + cpsw_state = ALE_PORT_STATE_DISABLE; > + break; > + case BR_STATE_LISTENING: > + case BR_STATE_BLOCKING: > + cpsw_state = ALE_PORT_STATE_BLOCK; > + break; > + default: > + return -EOPNOTSUPP; > + } Strictly speaking, the: > + if (switchdev_trans_ph_prepare(trans)) > + return 0; should be here. In the prepare phase, you are suppose to validate you can do the requested action, and return an error is not. In second phase, actually carrying out the action, you then never return an error. But in this case, you are handling all the bridge states, so it should not matter. Andrew _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel