Received: by 2002:ac0:de83:0:0:0:0:0 with SMTP id b3csp1280638imk; Sun, 3 Jul 2022 22:59:02 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tb2D0J1Y352evDAaDact9NuW2+v5QocCqiw8h2gfOC5UgbMzHGxfDWPr/HAf0isQYUi0zA X-Received: by 2002:a17:906:8a59:b0:72a:4249:e998 with SMTP id gx25-20020a1709068a5900b0072a4249e998mr25747401ejc.731.1656914341864; Sun, 03 Jul 2022 22:59:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656914341; cv=none; d=google.com; s=arc-20160816; b=zDnlQmPaKv/xPSMiRYNvQe+nBg6ZRoLDo3AXLqu0+JEailEgNuIZS0PYCkQDV3yRBd FKiSDkCGvgZkrV/9Hc6Yh5201g/4rdmI5uqChcnQbtjS8O76xMzgVDxfeH0rvPFQ7czJ TcnsntaA+e5VlMpex2mejXSKrOUCJT7d4CNHjI7GaRFWiNj8X6JgXtiNVa61Tuctvv1q uo+e9zeTwqEI2G8yLvgdmSt8XIRALePRngsZFhG1+ZHs49qVvpXCVWWtisaxlUU8+IKu Zr4MaB9tMEnQ0/j1HpK8szO7h3lf9Hgt307/+vhe3sw0XN0gvHw2FUAJJGDh8uxLhn+5 Nqmg== 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:dkim-signature; bh=+3qigyL9vv79cTJ8UkCEe2EpcmB9Vc2G3ATNCToTu0c=; b=GPNaAuAjDjFke3PaHbdLvP7xKMO5xsPKrDobXplVzL1XUPR4HsFTe99m/+JVkhwLg6 VON65yXTVISRQMHCC85Kxnb2IGd2YvddxmTPe98ro7FAD03HiXaIzOU2fhaF6931LoRy L90WJ3NbC66IIGRlGnqCenQWzJViUA7RyxDOrcuSbRvymPSJY4QKgMQATtdGRb9Zmc1n WfhaI4N8TCVs0Af3axxsGTscKnkUfJhQOOr9pAfxNP6J5FvO/r3tucugEf+eNcFOs25D 12OV4ae8ABe1cbLydGHnFqKKjqX3Hox2SHS3l7W8xGUTOth+CcnftfJFCSPeaiI2LlG0 0Tpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ekLrtKc7; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f17-20020a50ee91000000b00434f9d93b4csi33446703edr.312.2022.07.03.22.58.36; Sun, 03 Jul 2022 22:59:01 -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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ekLrtKc7; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231429AbiGDFo5 (ORCPT + 99 others); Mon, 4 Jul 2022 01:44:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46438 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232842AbiGDFoh (ORCPT ); Mon, 4 Jul 2022 01:44:37 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 282DA1EB for ; Sun, 3 Jul 2022 22:43:18 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id C0DB8B80D14 for ; Mon, 4 Jul 2022 05:43:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 87E64C3411E; Mon, 4 Jul 2022 05:43:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1656913395; bh=7DfuY5XxRaCJ/JJc77L8f/sUPg9aXEsMmG4x+Akyq3w=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ekLrtKc7kfUwIrnVZDU5MnNeb9hcL0VpyOERthDddi580aA0XvmNZPYDOhTRYKuV2 nV/UECsUw5EViHBeFl+4a6TMZTjyvNlB5l4yW1vsmuxRdLsB3PqFMgt4Jiu7hBJRV8 iqgs/9DCOUXeJbNUSqudYTeJDRQ4d3ow2w09cxv2O39urniJiOlUCZE41+hG/C2dkJ 1NmD6IOg9+85fXgpbAUifSM6DA2ZHBuLM/4x6Vk3D5tVi1lqU6MsEETy6l3rWr41kp U3IYn6hbhko40PIR6PNkc7TAbunhoQ0Zabs4Jlo7I33puv1TSSopCW7xSrfikLPyz1 MwSPmOmPrvNdg== Date: Mon, 4 Jul 2022 11:13:10 +0530 From: Vinod Koul To: Pierre-Louis Bossart Cc: Bard Liao , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, srinivas.kandagatla@linaro.org, sanyog.r.kale@intel.com, bard.liao@intel.com Subject: Re: [PATCH] soundwire: bus_type: fix remove and shutdown support Message-ID: References: <20220610015105.25987-1-yung-chuan.liao@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,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 On 23-06-22, 09:54, Pierre-Louis Bossart wrote: > > > On 6/23/22 02:55, Vinod Koul wrote: > > On 10-06-22, 09:51, Bard Liao wrote: > >> From: Pierre-Louis Bossart > >> > >> The bus sdw_drv_remove() and sdw_drv_shutdown() helpers are used > >> conditionally, if the driver provides these routines. > >> > >> These helpers already test if the driver provides a .remove or > >> .shutdown callback, so there's no harm in invoking the > >> sdw_drv_remove() and sdw_drv_shutdown() unconditionally. > > > > Okay sounds good > > > >> In addition, the current code is imbalanced with > >> dev_pm_domain_attach() called from sdw_drv_probe(), but > >> dev_pm_domain_detach() called from sdw_drv_remove() only if the driver > >> provides a .remove callback. > > > > Am not sure I follow what is imbalance, pm_domain_attach/detach? > > Yes, the dev_pm_domain_detach() is done conditionally, depending on the > presence of a driver .remove callback, that's not so good. Sorry am bit confused now, this is what I have in sdw-next static int sdw_drv_remove(struct device *dev) { struct sdw_slave *slave = dev_to_sdw_dev(dev); struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); int ret = 0; if (drv->remove) ret = drv->remove(slave); dev_pm_domain_detach(dev, false); return ret; } I see that dev_pm_domain_detach() is called unconditionally and not dependent on remove method which seems right to me. The code seems same since 9251345dca24b -- ~Vinod