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 2C035C25B75 for ; Thu, 23 May 2024 07:54:53 +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:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cCr4qdjXrvDJ/7/WoirLPRctd0SjnVOspMTNawxdFsg=; b=x2T6MmPQR3iAAs fVGq1pnVq5y7koIvUqLDPuKDW/9p82l5lW7VoNOedzLfP4Sq4ttHJzhxRAmrbV5cSdJ9dLK5Vx0Yz uUuDZNQU4IDXCQnBOlju5CVx1KOiamjqNysJCwNPUc3HgpHbyYKVfQQ4jN5Ac/73VVXLwGZN+eCzN phhvfp+V05qUX27sHW/G9H/lU3+mDKpMKvfEb+ZOyXjEDnsIrWQuKnak2NMi1rcEY6z2v7gDzTpEr 1vlMwoAf2G0fvmD5x4IEX3s/HusRsALj3B3c3dN6bsm+ub2Zc68lQddOUBCbGwdMVHFgdQXPAB77n Z67i0IO+EinlQ+qsC4Fg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sA3Hd-00000005O4m-0toZ; Thu, 23 May 2024 07:54:41 +0000 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sA3HR-00000005Nzr-2VfU for linux-arm-kernel@lists.infradead.org; Thu, 23 May 2024 07:54:31 +0000 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-354f51ac110so1088693f8f.0 for ; Thu, 23 May 2024 00:54:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1716450867; x=1717055667; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hrFQSVhPJTExMHxUs9x2644C6X3jCTcC0vL8A1PKT6s=; b=gmvg2UQhDt6KXAY0K17ok49474lks+zCtizrEvFDMXDq8+3I5nnyK0yLH+vpzxS+g9 a/8V/WhcGKjGDktWzPdgKfaadbLvLEsXWRSOQ9CZ7NSUT35TesmdwoW8oOXntDNRJ6sR 5RoOHu3Y6baz6mXJyx2LPDprK3pGV4doYcZKdyDNqRugO3uAG83Jo2XmJsEN8ObKYdkp Osilirwod0OHa2nS4VsiNTdFXPgJAHX7lL4qUUvL7rjaenmPkh6SR12yJNmlnVTNlBAa waiZhPrnamksSzZhpHLcYQTyxyypsnfofi0AlZgUSIm+yDW5xrRLa4gfbzArRI7aXk07 TB6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716450867; x=1717055667; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hrFQSVhPJTExMHxUs9x2644C6X3jCTcC0vL8A1PKT6s=; b=GV8MVXHOjtHgY57e1iFnHGG+As2jeqhCcuRo/lv9GqPFAvVK/7A3rfqtzQzLpfntJ+ ca4MbTWNJR6m8ofKz+FEvKoAv9+zR9Q/45X3NMflmL3xiYhnDo5lqDSZhzrcM3lU/uy2 8PBZt+4pH2w6BcTx5ILMZyREe2eGWhIXIhsJ7pox3HlgjuJcZBeEeKgWfI2OKvL/FM+Q UUsLJegE7x9IQpFZ5qZ3kNkDK4kKnl6LJMRogMRsKIcgJctLBtaNn8P1Gw3kVxc6+k+9 eks0Pbhua3d+MweYCiDftHRJdvrvRZN0YZFRlmX8A05qH2kv7x0eIUiAIZYk61O7ktG4 9d9A== X-Forwarded-Encrypted: i=1; AJvYcCXDSLS61JjoXWbABajSerSZpkjyhf/AwWrVpkcEiHG0aj3PSKF51c46eoXSplB714oSKLTPdIRCxshTbPvE2xP3FiHMzC3MYO/oJyE8q1FSw7tPbnA= X-Gm-Message-State: AOJu0YzwKbwuSJlhlwKGjZmRQhFUq64I/xKGBkaIJaSwVufwlhumC1xn kaSGZS2HWCoHcxTOaiqVkWIKLBotGKzM492iO6b4qjLNwP4ExW/39TmTL67olXk= X-Google-Smtp-Source: AGHT+IHpdHwgvkOic2e5snbrW03BmHrtQiZTJlEnXodGIaGdt59+8iaoH1lfBH+5/wLQqizWIx78pA== X-Received: by 2002:a05:6000:1fa5:b0:355:15a:f0b5 with SMTP id ffacd0b85a97d-355015af206mr229576f8f.32.1716450866839; Thu, 23 May 2024 00:54:26 -0700 (PDT) Received: from blmsp.fritz.box ([2001:4091:a246:821e:6f3b:6b50:4762:8343]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3502baad074sm36501833f8f.70.2024.05.23.00.54.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 May 2024 00:54:26 -0700 (PDT) From: Markus Schneider-Pargmann To: Chandrasekar Ramakrishnan , Marc Kleine-Budde , Vincent Mailhol , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nishanth Menon , Vignesh Raghavendra , Tero Kristo Cc: Vibhore Vardhan , Kevin Hilman , Dhruva Gole , =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= , Simon Horman , linux-can@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Markus Schneider-Pargmann Subject: [PATCH 3/7] can: m_can: Map WoL to device_set_wakeup_enable Date: Thu, 23 May 2024 09:53:43 +0200 Message-ID: <20240523075347.1282395-4-msp@baylibre.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240523075347.1282395-1-msp@baylibre.com> References: <20240523075347.1282395-1-msp@baylibre.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240523_005429_663834_45C446D4 X-CRM114-Status: GOOD ( 15.40 ) 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="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 In some devices the pins of the m_can module can act as a wakeup source. This patch helps do that by connecting the PHY_WAKE WoL option to device_set_wakeup_enable. By marking this device as being wakeup enabled, this setting can be used by platform code to decide which sleep or poweroff mode to use. Also this prepares the driver for the next patch in which the pinctrl settings are changed depending on the desired wakeup source. Signed-off-by: Markus Schneider-Pargmann --- drivers/net/can/m_can/m_can.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c index 14b231c4d7ec..80964e403a5e 100644 --- a/drivers/net/can/m_can/m_can.c +++ b/drivers/net/can/m_can/m_can.c @@ -2129,6 +2129,26 @@ static int m_can_set_coalesce(struct net_device *dev, return 0; } +static void m_can_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + struct m_can_classdev *cdev = netdev_priv(dev); + + wol->supported = device_can_wakeup(cdev->dev) ? WAKE_PHY : 0; + wol->wolopts = device_may_wakeup(cdev->dev) ? WAKE_PHY : 0; +} + +static int m_can_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + struct m_can_classdev *cdev = netdev_priv(dev); + + if ((wol->wolopts & WAKE_PHY) != wol->wolopts) + return -EINVAL; + + device_set_wakeup_enable(cdev->dev, !!wol->wolopts & WAKE_PHY); + + return 0; +} + static const struct ethtool_ops m_can_ethtool_ops = { .supported_coalesce_params = ETHTOOL_COALESCE_RX_USECS_IRQ | ETHTOOL_COALESCE_RX_MAX_FRAMES_IRQ | @@ -2142,6 +2162,8 @@ static const struct ethtool_ops m_can_ethtool_ops = { static const struct ethtool_ops m_can_ethtool_ops_polling = { .get_ts_info = ethtool_op_get_ts_info, + .get_wol = m_can_get_wol, + .set_wol = m_can_set_wol, }; static int register_m_can_dev(struct net_device *dev) @@ -2266,6 +2288,9 @@ struct m_can_classdev *m_can_class_allocate_dev(struct device *dev, goto out; } + if (dev->of_node && of_property_read_bool(dev->of_node, "wakeup-source")) + device_set_wakeup_capable(dev, true); + /* Get TX FIFO size * Defines the total amount of echo buffers for loopback */ -- 2.43.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel