Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp4352792rwr; Mon, 8 May 2023 06:38:11 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7D2wwpqLxBb3as6W3fg65R8kAUuF5Sy5kqSEzAkzNAte149MJSMJesTs3aqA057X58cNiJ X-Received: by 2002:a17:902:d701:b0:1ab:624:38cb with SMTP id w1-20020a170902d70100b001ab062438cbmr9626200ply.14.1683553091462; Mon, 08 May 2023 06:38:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683553091; cv=none; d=google.com; s=arc-20160816; b=AtOLbcbfyyB1rNOMzHGcNICRbdJAiFmxEodfdMLu2Hxek/jOKFkIdnQyaaxt16a4rn vk4PccRJXcuc+JLEl0dDgyw5GoVWw46phSKvAWHx75B+rlRjXXbT1GqQMn9WpGqnvRZI bluYg1Gi/JT1g+EatcXwQ2IpvHPqqeAYwcMyCkxYjmKyLalrqUG+Z38Kia/IIGYrwnGF iFjM9tnHxY7eDKYE9Uam6X9JfaLf93rzXwy4BguFNTuK+PNdhkOuq0eFTfN8k+II/PcC Uj1eATktp5pYRrZqPZF6dxX/bG8efe0X4e6AcRyOFTLFuWWojgRIAcDx+ZhzHp+a/S6l kAVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=D4sxMwywN4nemw5VRnlHOfhid6dAxmDuhtINfJTmBUg=; b=kWURk8a98DcrZ0g2vxXpRH86b02iiXvzVkGrS4YfT6yvJlsDVYdNMULl3pE0765BSg ZAVswX6Y8mY/VkiLjBUo3evnCBubEY3FOE9zWe6Qh08XlNbFm0+vYefPsjF3cvJSreA+ sLXtmIwO12nIks/XprHYn2/+HKY5x5ll3G/gwOYM0mHSSFCzJFh163YTku3QjcSToN6J i7AZj1NxdQNvSxD8cqtthe1rx48W9Y26D74nRXBz5ZeLdalo1FMLL4vhfa1zdMpbWLur Fw4Qpy1Xf588Uuwn7Ff+TTJsr3GBpg1oUbfRz9vHY5foZWcJCzwfQfn1FXvD0tPS7ukz 9P+g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u22-20020a170902a61600b001ac83d28c39si1219985plq.234.2023.05.08.06.37.53; Mon, 08 May 2023 06:38:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234308AbjEHNfQ (ORCPT + 99 others); Mon, 8 May 2023 09:35:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234300AbjEHNfI (ORCPT ); Mon, 8 May 2023 09:35:08 -0400 Received: from muru.com (muru.com [72.249.23.125]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9F07530E73; Mon, 8 May 2023 06:35:05 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTPS id 6F0548111; Mon, 8 May 2023 13:35:04 +0000 (UTC) Date: Mon, 8 May 2023 16:35:03 +0300 From: Tony Lindgren To: Andy Shevchenko Cc: Greg Kroah-Hartman , Jiri Slaby , Dhruva Gole , Ilpo =?utf-8?B?SsOkcnZpbmVu?= , Johan Hovold , Sebastian Andrzej Siewior , Vignesh Raghavendra , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org Subject: Re: [PATCH v10 1/1] serial: core: Start managing serial controllers to enable runtime PM Message-ID: <20230508133503.GX14287@atomide.com> References: <20230508110339.38699-1-tony@atomide.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Andy Shevchenko [230508 12:11]: > On Mon, May 08, 2023 at 02:03:35PM +0300, Tony Lindgren wrote: > > We want to enable runtime PM for serial port device drivers in a generic > > way. To do this, we want to have the serial core layer manage the > > registered physical serial controller devices. > > > > To do this, let's set up a struct bus and struct device for the serial > > core controller as suggested by Greg and Jiri. The serial core controller > > devices are children of the physical serial port device. The serial core > > controller device is needed to support multiple different kind of ports > > connected to single physical serial port device. > > > > Let's also set up a struct device for the serial core port. The serial > > core port instances are children of the serial core controller device. > > > > With the serial core port device we can now flush pending TX on the > > runtime PM resume as suggested by Johan. > > Sorry, I'm on vacation. But just brief comments below. > In general looks good to me. OK have a nice vacation :) > > -obj-$(CONFIG_SERIAL_CORE) += serial_core.o > > +obj-$(CONFIG_SERIAL_CORE) += serial_base.o > > +serial_base-objs := serial_core.o serial_base_bus.o serial_ctrl.o serial_port.o > > 'objs' is for user space tools, kernel should use 'y' Oh OK. > > +static DEFINE_RUNTIME_DEV_PM_OPS(serial_port_pm, NULL, > > + serial_port_runtime_resume, NULL); > > Maybe > > static DEFINE_RUNTIME_DEV_PM_OPS(serial_port_pm, > NULL, serial_port_runtime_resume, NULL); > > for better logical split? Sure. Thanks, Tony