Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp4144449ybi; Mon, 29 Jul 2019 20:13:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqwZj9y1d5khKxQGLJ9YRO71RT408cAkJKve0P/ZI9v18FEeU+0O/HZVa7zkAfeUwm9TC8wU X-Received: by 2002:aa7:8481:: with SMTP id u1mr38014592pfn.243.1564456413003; Mon, 29 Jul 2019 20:13:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564456412; cv=none; d=google.com; s=arc-20160816; b=FEnz3uquZ5YdRF3VlKs93YMGIrvZHbNzlWIWkcfrbxpQ/RXUzJvNMC+Pc36A6ZlpAP oUVb8SRjXznZEQcbCHvYw4Jd1TVK+V+gEUhEjoYF97f/LzX6oTxSbPEpM7qZUsbDcrni AAM7oU2TeMOTpsi2TtLTkRRvJ53HYklbepGLlltz81qkZC3MJMpVKXm62UwprVHURMEv Lb1cDd9MbJTsdKg1+twlhCh9K2F/tKwUkzTY63V7/PjYChlYCMMskh8m9r35q75hCU+x Zogsa0DTDD7D9v1n53qBsdRNC9u6EZWBcaPllgE8GtlG6x4orLSzMVdubRQFG8RIUxAX D6Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=srsaV7rzeEymjAzgSWNLmNrniFdnk6Pa83TgYZnyX/o=; b=0t0P2CJvLqfTLXV8ce7UxCZiLtLy0ptFkaXnBCgaa+QyW/0pM1W/fd0uRsiHX+hjX0 jH6693VVfzmlUyaRfYvjLAgSx/CiVkl2hwDAtiVC0i6uOhPhJY/0Cz+/tkjQsst8YT8U DM22tohhlGC0VOJyJNSFicn4Nb3XAmq/zAl1jxo9kIcHAo97Jg9eNCEF4AhIhqmileAg yQA+BFKKtAaSM6Ig8re4DYe84OxLV6RB1Hg6SKZzH3RCy8waQaF5Q7Np7U2iv7tNr7ZS VKB6zsGlGfIHjz0D9Wk1/SScFSBem5gc+OqhNQWbRkaQbgP+gIqYaSxO2QKzLguD78kv CSaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=GDOHpV5z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l186si29610508pgd.455.2019.07.29.20.13.18; Mon, 29 Jul 2019 20:13:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=GDOHpV5z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728469AbfG2WOL (ORCPT + 99 others); Mon, 29 Jul 2019 18:14:11 -0400 Received: from mail-ot1-f68.google.com ([209.85.210.68]:34113 "EHLO mail-ot1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726327AbfG2WOL (ORCPT ); Mon, 29 Jul 2019 18:14:11 -0400 Received: by mail-ot1-f68.google.com with SMTP id n5so64269126otk.1 for ; Mon, 29 Jul 2019 15:14:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=srsaV7rzeEymjAzgSWNLmNrniFdnk6Pa83TgYZnyX/o=; b=GDOHpV5z0vkTp/Hi9k2G9RgZZVziD9cVw4u/mDbabUF6fthqBEpD/8MLgeaoZ54AXl gp0l4hXk6AWGC2IzW4ii/4UQEBxzajmUlkfHWmKxGm24d+k5C45V0pg1L+oyVAX4YD7u h8NXxkhTqhfvFrBdj6h4GOpXGJxxrvxpRVDn2kNMV7WMhIA18dWbtiofquPD9NoIBfQ7 zUVtuqXW4rzQFaGb7Feac5wlgC92z0LPraATDJ2Qo9/hSoW6qpBPmDv2n5UdUAi0DT04 q2OHystI5so/Rgnn1bJznS4CHAiSrfhiNNdMDQZ4lT+pZ8/1qrm3uIT8I4LhsfaGG8f7 F5Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=srsaV7rzeEymjAzgSWNLmNrniFdnk6Pa83TgYZnyX/o=; b=HOq+N7l88ll0S4cPwpBi+rEnJGmaTt2y1lCjzx1FOZxL1yWhxRDF2OdtgcUEGVatUh X0x+WgIm1FoP/krrnGB1erzCww09pJg5jz7DThjPcxoYMLL9rv7SEHfWby2YuUaEqh+M miz9jCHUjkvc0jG20hsNEzqQGAXJ0HomLNyBepvger8gVzr4WwViwyUHykrNwcd7XGov q482Jm72v3InquKfShCbaMg30FsKv0dTX460rzWMedG8obgX3xuBnR8FECGVzNKYc/A4 WuP4/XnjCvKY8z/at8MOsGnLJu2kelcQU9jnHMcJZAGWrmX3llDG7ULS1qFxgfd6mYX/ gQpA== X-Gm-Message-State: APjAAAVNSMsKgeKo74TZZy5FWTj1dSjwePeFq5mharK9+0CTVycANa1h LDwAHF2iZvam59VasQIZwfdThQeRFvbBcObvc9rX+Q== X-Received: by 2002:a9d:6201:: with SMTP id g1mr85088815otj.195.1564438450498; Mon, 29 Jul 2019 15:14:10 -0700 (PDT) MIME-Version: 1.0 References: <2305283.AStDPdUUnE@kreacher> In-Reply-To: From: Saravana Kannan Date: Mon, 29 Jul 2019 15:13:34 -0700 Message-ID: Subject: Re: [PATCH v2] driver core: Remove device link creation limitation To: "Rafael J. Wysocki" Cc: Dmitry Osipenko , "Rafael J. Wysocki" , Greg Kroah-Hartman , LKML , Linux PM , Lukas Wunner , Jon Hunter , Ulf Hansson , Marek Szyprowski , "linux-tegra@vger.kernel.org" , Thierry Reding Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 29, 2019 at 3:03 PM Rafael J. Wysocki wrote: > > On Mon, Jul 29, 2019 at 11:43 PM Saravana Kannan wrote: > > > > On Mon, Jul 29, 2019 at 2:25 PM Rafael J. Wysocki wrote: > > > > > > On Mon, Jul 29, 2019 at 10:47 PM Saravana Kannan wrote: > > > > > > > > Rafael, > > > > > > > > This is the fix you need. Or something link this. > > > > > > > > I had asked you to reject DL_FLAG_MANAGED as an input flag if you are > > > > marking it as internal (in the comments). But looks like you were also > > > > trying to check for "undefined" bit positions. However, the check > > > > isn't correct because DL_MANAGED_FLAGS doesn't include (rightfully so) > > > > DL_FLAG_PM_RUNTIME and DL_FLAG_RPM_ACTIVE . > > > > > > > > I tried to write a DL_FLAG_EXTERNAL to include all the external flags, > > > > but that felt like a maintenance headache that's not worth carrying. I > > > > think it's simpler to just error out when internal flags being passed > > > > in and ignore any undefined bit positions. > > > > > > Well, IMO it is better to prevent people from passing unrecognized > > > flags to device_link_add() at all, even if that means some extra > > > effort when adding new flags. > > > > It isn't so much the extra effort that's a concern, but people might > > miss updating whatever grouping macro we use. > > > > > > > > I'll post an alternative fix shortly. > > > > You might want to move the MANAGED_FLAGs and other grouping macros > > into the header file then? So that if someone is adding new flags, > > it'll be less likely they'll forget to update the grouping macro? > > They would need to update device_link_add() itself, so updating a > thing next to it does't seem to be so much of an issue. > > Moreover, the "grouping macro" is not relevant for any users of the > API, just for device_link_add() itself, so I'm not sure how much > better it is to have it in the header. > > And, of course, if anyone forgets to update the "grouping macro", they > will find that the new flags are rejected immediately. Sounds good. -Saravana