From nobody Tue Jun 30 22:22:54 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2A1CC433F5 for ; Fri, 7 Jan 2022 07:44:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345004AbiAGHoc (ORCPT ); Fri, 7 Jan 2022 02:44:32 -0500 Received: from mail-vi1eur05on2120.outbound.protection.outlook.com ([40.107.21.120]:43744 "EHLO EUR05-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1344827AbiAGHoa (ORCPT ); Fri, 7 Jan 2022 02:44:30 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CE9rEEBSZZTg9t/XKi6kNMYTXXUZBuz89V85AHdBDbFyo+hATiv2hBavs1j0WDuN3/PPEuPPc2chRJ5Yl1NZ3LLRP7wf1UcSCiSZqcR3E7iI9H7koQPjQSEMFc0sD2y2WobZgPuTqWSlqP0ANDKSbtGwSS6ONHFUgqL6/7bdZ6hp6aRhH7vodN36CUjJt1vjB4itRHh/Jk0lLWLgR/ooYQJw1QvtctdwJxeUgt5YS98uarnjNhstJKBXadHVfeC45spcBMSH/1swr0+EXcaYTgeS5fXgLlWmjGeJbaM4HKBQMMtBuFw72ZnoUwNB+5UfvylY+AV/1Xt8/b6dE3JR8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xc/yQbL0IGc7qvuyjON7Ce5eE9T+c6acnj3L/mptDZA=; b=JNLDamnt46e71Mq5nAYuJUCN1T1R4fQ5Faj9GE7n3s/tTFcw4d09ZLVhwmzM8/r6hv9PG+7QCsEQdtMDjW5b9/QJLQJOu4pbXieUuHWeMlwpqwlgHBwbjQ3MqUQ4tHifvQMpZgnciiuYbxbQU6P+RrYCVzD91G/hv8hIkq1jwR8ZP2Orc+68AD1Wp5XPHXB3ah5Eu/7krSWO91w+wxUE46/30BBBe5IUxDnm/H7dH99l4TtC/GLRIDplvKodTCjjya74UGmyzWSEmuigs3Oa5G2Frl8t9MDlBi3VWPMzV/VXu97cVcQShOuvPy++/8bbquqMjv24z+YEKgWtteRipg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=axentia.se; dmarc=pass action=none header.from=axentia.se; dkim=pass header.d=axentia.se; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentia.se; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xc/yQbL0IGc7qvuyjON7Ce5eE9T+c6acnj3L/mptDZA=; b=LEqMAHpFdk7NL64TkEJowBlEXguUx/G46F7GnZx8CMBesbSccBlip8xgd8yGha0T9SSZolpN6jTnLdD3apJHDD9LJ6faiaXbgutJ3wfSw7Qt6u+UkB5DvbqlM2iLSerzWJvlL5Hix6ExIQiVcfSlpalK3peDp+JNz2hH/m630ck= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=axentia.se; Received: from DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) by DB6PR0202MB2792.eurprd02.prod.outlook.com (2603:10a6:4:b3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 7 Jan 2022 07:44:28 +0000 Received: from DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745]) by DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745%4]) with mapi id 15.20.4867.011; Fri, 7 Jan 2022 07:44:28 +0000 Message-ID: Date: Fri, 7 Jan 2022 08:44:25 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Content-Language: sv-SE To: Greg Kroah-Hartman Cc: Aswath Govindraju , "linux-kernel@vger.kernel.org" From: Peter Rosin Subject: [PATCH v2 1/4] mux: Add support for reading mux state from consumer DT node Organization: Axentia Technologies AB In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HE1PR0101CA0014.eurprd01.prod.exchangelabs.com (2603:10a6:3:77::24) To DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 94f74ec8-1e5d-4342-1211-08d9d1b18897 X-MS-TrafficTypeDiagnostic: DB6PR0202MB2792:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:390; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M1qgHMsZQO/vmzzvDCXP41CcurlWZfxwtGK6mDx+SLRzaRUpb3U2EfuqXNkWKeG+XyyZkj0acTB86NSY3s+NpI/RW8dBzxphzEm+zHerdK4D8J8MC8GW9nwoTUbbewEq/n74r859vdg8Z1cR0TcQpta9uXhh8rTVUnvU1HWxap9Jjw9dTDksBu7SazX7J+8EdudRL4YBSE3cImIERPn4boX8r37NWw5CGJR8vo0ZCb6m0b2ADJ7wt1mY5tx6pz0z/4+icj67lH/3HTGXfgnhmaS2A3MzddQpb4xo/6evpoREt0h5qon1PtyX6cigG/dPx1/ksNzywrzQEv9JapeV8VExds6UBkqEhG/eDvpOQv00pEufLL+62MjzU1w4yqvuPpu45f4KqkbAewIIldNS/jewCn96XezXnvV0eWb3St8YAKAruJqxoVEfMRnxgAckXjhihOfqxcwdJTXF0vWXGbaVNWRvOzDocMZUt/DwTbYvbRBj4fXF8Bx+cBQ2DFuBtHdTW+KXKobpu8NiI191GzoDPHfc5uHpd6wvHdECdPS2ffapEsgpObWSyQLnxFDsUFFTLvogv8cCt+qhSbTfLIf58Il6JsGwCN+q12Uq+5nKyIHVRJ47gfTg8BEMAZeCsRkTJUED8wIuHTvINhwaJ1h5VpsxMhqEIYut9o6WomNoWiY0+1ZqyLgZfr2HSNpJSCuf6TbRgUtN3G763NLplU5VEX2ynuvClGTjNm79iJPf3yo+PEZtF5vuyBqzpC68QSAa4Ugdz1vZ2EJbyIS1MQD8aQitOlwnloeSxDzSTeAlhvoFjKDloepIqtFF7sIu X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR02MB5482.eurprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39830400003)(136003)(346002)(376002)(396003)(8676002)(8936002)(54906003)(6666004)(36756003)(31686004)(6486002)(86362001)(2906002)(5660300002)(83380400001)(6916009)(36916002)(38100700002)(186003)(31696002)(6506007)(30864003)(26005)(4326008)(6512007)(2616005)(508600001)(316002)(66476007)(66946007)(66556008)(966005)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VHVBU1FIRmZvS1JqaGNDdGFIdEc0OGdvS0hWZVFKK1ZGNEhja2lxbmtaNXpK?= =?utf-8?B?aTNkc2pyZ3VWYlU2SzdqREYzM0lEbG1rTkdpVGNqamUwcW9mWGdLeVA1WHU3?= =?utf-8?B?UUE3Y1hQSGtoaVJWNXFJazJMdkFuaUZrTC9PMDQwaW1CL0I0SytYaGRGc05H?= =?utf-8?B?VFc5VTR1aS8vUG81VCtOQVFZQlRaV3o3amoxME4rWjBKSmNjb0ZGYTgyQVQ5?= =?utf-8?B?clpkWGxmVDhLeEdoT0d6bTFXZlZXK29pQjFQa01SVXBIYXI4ejYvc3QzYzJ0?= =?utf-8?B?Qi9NVFZGcTJvamYreDg0dStWanZrdjNiNXA1bjRrbEY3bVZJUTFZcUJIcTRa?= =?utf-8?B?cENuNjRnNEtIWld4ajJqU2RxRFlrMkVKTmxPOHVyUkJTMVBDYVpva3RLMUx1?= =?utf-8?B?Z2VMQVRHWEpGZmZ0a3J3UXh0Q0x6Tm82QUd2R1Btd0F1cTJKeXdELzNncUov?= =?utf-8?B?ME52T0VxbE9RbXNSdDFRdUp3dVZmbVhESURSYmRDVjBiS3llWEw1NHg1eWFD?= =?utf-8?B?RC9iWDNpUCtPREZOUUlJYzJuaXJpVTB2ZUdNR2g2WWxPQllQaDVPWkY2TUk5?= =?utf-8?B?Rk1DVmJReUFZMTRzVHVTV1RvVjZnT3lZemNXRXhxZHZlMkVuaFRtR2Y4VTFk?= =?utf-8?B?ZFdpcWs3SytCVjdWZ1BIRU5HTTM3K3JZZUp1WnFoZ0h1QkcxSmlVajZVUEdP?= =?utf-8?B?bHBHZHJlYitIVG5BU1RwWEVlOGFzOTdKOTdnSzRKbUt0aUNBM0REL20vTFQz?= =?utf-8?B?dzhlRTBHRnRDSWI3OTFSeGRsdWF0aG1Yc3cwTUo4b2s5TEtySTgySXg0eTY4?= =?utf-8?B?M1c5eG0xTXdnQkhMaCtaVEJsNGE4cUxORHJQeUtuWVROUzFzdEJlUEZ3MUg3?= =?utf-8?B?M0VlSWw2ZzJUMjRYV285M3l1UjVaQ0plWkhuZDJza2VFNjAycVdjaGVpZDFu?= =?utf-8?B?b1R6OFdFVStVRkw3UHRHN21tWUZvT2YvbVFvRmxIV0U0UVV3aU5XZFRJYlhj?= =?utf-8?B?L0h6YkdZeFVPMFVUUVZNV3BkYjV0WHNZMnpxaWRhMWxkTGZQVWw2MUxsOXhq?= =?utf-8?B?bzJlODVxNU8zTFQvQmtta3pyOUQ1SUtBazh2QjRlVlYyU3RHUmNVeVVKYi9l?= =?utf-8?B?QUx4ekd4Z0VXY0xzZXhoTUNVeUZlN1R0RVpScEZ6R3YrSE1TQ3gwVHIzZnBQ?= =?utf-8?B?SUZLU2R3aFN4SHRwYm9NOWRXaGloUWowMnA0N05QZkhubS9NRitTQ2xRUGk1?= =?utf-8?B?QUMyL3J3L282UVlsQmtFdXdOODNGM1VTckk0RWlod3B1M1kvWGwxVncyTXhq?= =?utf-8?B?WG1mMFBvM0Z5Z29xTHV5SURQVDlBSWIwNlB5eVVXWnZjL3dHVCsrYzVkM2d3?= =?utf-8?B?MnRwUTd1OXdYSmNHYzI0L2JZL3NvZ1R4SVFHUEJnYWRwQ3A0VHZ5VjNSNEts?= =?utf-8?B?dnRNdTRFOHArTzF0U1VmeDlIbkZucjZsbWZVQ1VpdGQvSUtleWkrbXpCVVBM?= =?utf-8?B?VDRMSFljNFBqZmREUFNvSWxGY3Fpa3RQcE9NblBacVF3REhhakZLeGRNd0M4?= =?utf-8?B?dmlnQUo1aUZTSE5kd1Zrc09OaFFsQUFteGZYMm1meFlZaVJSMXFZYVYvdHhy?= =?utf-8?B?TDk1bkg1azRyR2R5eThJaDNpdjNwMlBnZXptQ2ZreWl4RXNDRHBCbEhqWGhS?= =?utf-8?B?dnRSR0lNZjJvM0VaZXJnUjFWblBmcFVzZzJqNUErcjRQUlFaRlIrNGJzcWRB?= =?utf-8?B?cFFPamlMMmRnb21wVjduSnNPWmY1TkVpVVJJMVdvRzBNME5OcVdlMmtkV2hO?= =?utf-8?B?dWo1WkR3T1NZV2hjNUxhbXg0NitsM2N2UUR0VWpFazg0VEUzSm9rclUzUGpT?= =?utf-8?B?SkZpeGgyZyt4bGJleEh1Y0pvSGU1N3dHYVRCd1VQUmlzc0oxMDhCUGh3cFlY?= =?utf-8?B?em1zSFBtczN2NEpRdmxXWnQzNG9UTlVEVkN6NW1LVldEWXhLUGlNSk9LZlQv?= =?utf-8?B?bU9kS2QwU1RMait6aUxJWmdPWXN6TklFbG9acG5XN0dtOXlpQkdQeXZOQTFQ?= =?utf-8?B?T0ZHNG4valg0cmpKUHAyeVA0eEc4QUhUdVVxSHowT0locHhyMnI0aXptVDlu?= =?utf-8?Q?9V+s=3D?= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-Network-Message-Id: 94f74ec8-1e5d-4342-1211-08d9d1b18897 X-MS-Exchange-CrossTenant-AuthSource: DB8PR02MB5482.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 07:44:28.2529 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HQt6jOeRJnDwCxxKa88osuQRiPQn+2cENS/TwZUzqijTyIR/oPiz9cPRxZnluf1d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0202MB2792 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Aswath Govindraju In some cases, we might need to provide the state of the mux to be set for the operation of a given peripheral. Therefore, pass this information using mux-states property. Signed-off-by: Aswath Govindraju Link: https://lore.kernel.org/lkml/20211123081222.27979-1-a-govindraju@ti.c= om Signed-off-by: Peter Rosin (minor edits) --- .../driver-api/driver-model/devres.rst | 1 + drivers/mux/core.c | 219 ++++++++++++++++-- include/linux/mux/consumer.h | 18 ++ 3 files changed, 217 insertions(+), 21 deletions(-) diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentati= on/driver-api/driver-model/devres.rst index 148e19381b79..5018403fe82f 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -368,6 +368,7 @@ MUX devm_mux_chip_alloc() devm_mux_chip_register() devm_mux_control_get() + devm_mux_state_get() =20 NET devm_alloc_etherdev() diff --git a/drivers/mux/core.c b/drivers/mux/core.c index 22f4709768d1..931fa8bd4962 100644 --- a/drivers/mux/core.c +++ b/drivers/mux/core.c @@ -29,6 +29,20 @@ */ #define MUX_CACHE_UNKNOWN MUX_IDLE_AS_IS =20 +/** + * struct mux_state - Represents a mux controller state specific to a given + * consumer. + * @mux: Pointer to a mux controller. + * @state State of the mux to be selected. + * + * This structure is specific to the consumer that acquires it and has + * information specific to that consumer. + */ +struct mux_state { + struct mux_control *mux; + unsigned int state; +}; + static struct class mux_class =3D { .name =3D "mux", .owner =3D THIS_MODULE, @@ -341,7 +355,8 @@ static void mux_control_delay(struct mux_control *mux, = unsigned int delay_us) * On successfully selecting the mux-control state, it will be locked until * there is a call to mux_control_deselect(). If the mux-control is already * selected when mux_control_select() is called, the caller will be blocked - * until mux_control_deselect() is called (by someone else). + * until mux_control_deselect() or mux_state_deselect() is called (by some= one + * else). * * Therefore, make sure to call mux_control_deselect() when the operation = is * complete and the mux-control is free for others to use, but do not call @@ -370,6 +385,30 @@ int mux_control_select_delay(struct mux_control *mux, = unsigned int state, } EXPORT_SYMBOL_GPL(mux_control_select_delay); =20 +/** + * mux_state_select_delay() - Select the given multiplexer state. + * @mstate: The mux-state to select. + * @delay_us: The time to delay (in microseconds) if the mux state is chan= ged. + * + * On successfully selecting the mux-state, its mux-control will be locked + * until there is a call to mux_state_deselect(). If the mux-control is al= ready + * selected when mux_state_select() is called, the caller will be blocked + * until mux_state_deselect() or mux_control_deselect() is called (by some= one + * else). + * + * Therefore, make sure to call mux_state_deselect() when the operation is + * complete and the mux-control is free for others to use, but do not call + * mux_state_deselect() if mux_state_select() fails. + * + * Return: 0 when the mux-state has been selected or a negative + * errno on error. + */ +int mux_state_select_delay(struct mux_state *mstate, unsigned int delay_us) +{ + return mux_control_select_delay(mstate->mux, mstate->state, delay_us); +} +EXPORT_SYMBOL_GPL(mux_state_select_delay); + /** * mux_control_try_select_delay() - Try to select the given multiplexer st= ate. * @mux: The mux-control to request a change of state from. @@ -405,6 +444,27 @@ int mux_control_try_select_delay(struct mux_control *m= ux, unsigned int state, } EXPORT_SYMBOL_GPL(mux_control_try_select_delay); =20 +/** + * mux_state_try_select_delay() - Try to select the given multiplexer stat= e. + * @mstate: The mux-state to select. + * @delay_us: The time to delay (in microseconds) if the mux state is chan= ged. + * + * On successfully selecting the mux-state, its mux-control will be locked + * until mux_state_deselect() is called. + * + * Therefore, make sure to call mux_state_deselect() when the operation is + * complete and the mux-control is free for others to use, but do not call + * mux_state_deselect() if mux_state_try_select() fails. + * + * Return: 0 when the mux-state has been selected or a negative errno on + * error. Specifically -EBUSY if the mux-control is contended. + */ +int mux_state_try_select_delay(struct mux_state *mstate, unsigned int dela= y_us) +{ + return mux_control_try_select_delay(mstate->mux, mstate->state, delay_us); +} +EXPORT_SYMBOL_GPL(mux_state_try_select_delay); + /** * mux_control_deselect() - Deselect the previously selected multiplexer s= tate. * @mux: The mux-control to deselect. @@ -431,6 +491,24 @@ int mux_control_deselect(struct mux_control *mux) } EXPORT_SYMBOL_GPL(mux_control_deselect); =20 +/** + * mux_state_deselect() - Deselect the previously selected multiplexer sta= te. + * @mstate: The mux-state to deselect. + * + * It is required that a single call is made to mux_state_deselect() for + * each and every successful call made to either of mux_state_select() or + * mux_state_try_select(). + * + * Return: 0 on success and a negative errno on error. An error can only + * occur if the mux has an idle state. Note that even if an error occurs, = the + * mux-control is unlocked and is thus free for the next access. + */ +int mux_state_deselect(struct mux_state *mstate) +{ + return mux_control_deselect(mstate->mux); +} +EXPORT_SYMBOL_GPL(mux_state_deselect); + /* Note this function returns a reference to the mux_chip dev. */ static struct mux_chip *of_find_mux_chip_by_node(struct device_node *np) { @@ -441,14 +519,17 @@ static struct mux_chip *of_find_mux_chip_by_node(stru= ct device_node *np) return dev ? to_mux_chip(dev) : NULL; } =20 -/** - * mux_control_get() - Get the mux-control for a device. +/* + * mux_get() - Get the mux-control for a device. * @dev: The device that needs a mux-control. * @mux_name: The name identifying the mux-control. + * @state: Pointer to where the requested state is returned, or NULL when + * the required multiplexer states are handled by other means. * * Return: A pointer to the mux-control, or an ERR_PTR with a negative err= no. */ -struct mux_control *mux_control_get(struct device *dev, const char *mux_na= me) +static struct mux_control *mux_get(struct device *dev, const char *mux_nam= e, + unsigned int *state) { struct device_node *np =3D dev->of_node; struct of_phandle_args args; @@ -458,8 +539,12 @@ struct mux_control *mux_control_get(struct device *dev= , const char *mux_name) int ret; =20 if (mux_name) { - index =3D of_property_match_string(np, "mux-control-names", - mux_name); + if (state) + index =3D of_property_match_string(np, "mux-state-names", + mux_name); + else + index =3D of_property_match_string(np, "mux-control-names", + mux_name); if (index < 0) { dev_err(dev, "mux controller '%s' not found\n", mux_name); @@ -467,12 +552,17 @@ struct mux_control *mux_control_get(struct device *de= v, const char *mux_name) } } =20 - ret =3D of_parse_phandle_with_args(np, - "mux-controls", "#mux-control-cells", - index, &args); + if (state) + ret =3D of_parse_phandle_with_args(np, + "mux-states", "#mux-state-cells", + index, &args); + else + ret =3D of_parse_phandle_with_args(np, + "mux-controls", "#mux-control-cells", + index, &args); if (ret) { - dev_err(dev, "%pOF: failed to get mux-control %s(%i)\n", - np, mux_name ?: "", index); + dev_err(dev, "%pOF: failed to get mux-%s %s(%i)\n", + np, state ? "state" : "control", mux_name ?: "", index); return ERR_PTR(ret); } =20 @@ -481,17 +571,35 @@ struct mux_control *mux_control_get(struct device *de= v, const char *mux_name) if (!mux_chip) return ERR_PTR(-EPROBE_DEFER); =20 - if (args.args_count > 1 || - (!args.args_count && (mux_chip->controllers > 1))) { - dev_err(dev, "%pOF: wrong #mux-control-cells for %pOF\n", - np, args.np); - put_device(&mux_chip->dev); - return ERR_PTR(-EINVAL); - } - controller =3D 0; - if (args.args_count) - controller =3D args.args[0]; + if (state) { + if (args.args_count > 2 || args.args_count =3D=3D 0 || + (args.args_count < 2 && mux_chip->controllers > 1)) { + dev_err(dev, "%pOF: wrong #mux-state-cells for %pOF\n", + np, args.np); + put_device(&mux_chip->dev); + return ERR_PTR(-EINVAL); + } + + if (args.args_count =3D=3D 2) { + controller =3D args.args[0]; + *state =3D args.args[1]; + } else { + *state =3D args.args[0]; + } + + } else { + if (args.args_count > 1 || + (!args.args_count && mux_chip->controllers > 1)) { + dev_err(dev, "%pOF: wrong #mux-control-cells for %pOF\n", + np, args.np); + put_device(&mux_chip->dev); + return ERR_PTR(-EINVAL); + } + + if (args.args_count) + controller =3D args.args[0]; + } =20 if (controller >=3D mux_chip->controllers) { dev_err(dev, "%pOF: bad mux controller %u specified in %pOF\n", @@ -502,6 +610,18 @@ struct mux_control *mux_control_get(struct device *dev= , const char *mux_name) =20 return &mux_chip->mux[controller]; } + +/** + * mux_control_get() - Get the mux-control for a device. + * @dev: The device that needs a mux-control. + * @mux_name: The name identifying the mux-control. + * + * Return: A pointer to the mux-control, or an ERR_PTR with a negative err= no. + */ +struct mux_control *mux_control_get(struct device *dev, const char *mux_na= me) +{ + return mux_get(dev, mux_name, NULL); +} EXPORT_SYMBOL_GPL(mux_control_get); =20 /** @@ -553,6 +673,63 @@ struct mux_control *devm_mux_control_get(struct device= *dev, } EXPORT_SYMBOL_GPL(devm_mux_control_get); =20 +/* + * mux_state_put() - Put away the mux-state for good. + * @mstate: The mux-state to put away. + * + * mux_state_put() reverses the effects of mux_state_get(). + */ +static void mux_state_put(struct mux_state *mstate) +{ + mux_control_put(mstate->mux); + kfree(mstate); +} + +static void devm_mux_state_release(struct device *dev, void *res) +{ + struct mux_state *mstate =3D *(struct mux_state **)res; + + mux_state_put(mstate); +} + +/** + * devm_mux_state_get() - Get the mux-state for a device, with resource + * management. + * @dev: The device that needs a mux-control. + * @mux_name: The name identifying the mux-control. + * + * Return: Pointer to the mux-state, or an ERR_PTR with a negative errno. + */ +struct mux_state *devm_mux_state_get(struct device *dev, + const char *mux_name) +{ + struct mux_state **ptr, *mstate; + struct mux_control *mux_ctrl; + int state; + + mstate =3D devm_kzalloc(dev, sizeof(struct mux_state), GFP_KERNEL); + if (!mstate) + return ERR_PTR(-ENOMEM); + + ptr =3D devres_alloc(devm_mux_state_release, sizeof(*ptr), GFP_KERNEL); + if (!ptr) + return ERR_PTR(-ENOMEM); + + mux_ctrl =3D mux_get(dev, mux_name, &state); + if (IS_ERR(mux_ctrl)) { + devres_free(ptr); + return (struct mux_state *)mux_ctrl; + } + + mstate->mux =3D mux_ctrl; + mstate->state =3D state; + *ptr =3D mstate; + devres_add(dev, ptr); + + return mstate; +} +EXPORT_SYMBOL_GPL(devm_mux_state_get); + /* * Using subsys_initcall instead of module_init here to try to ensure - for * the non-modular case - that the subsystem is initialized when mux consu= mers diff --git a/include/linux/mux/consumer.h b/include/linux/mux/consumer.h index 7a09b040ac39..2e25c838f831 100644 --- a/include/linux/mux/consumer.h +++ b/include/linux/mux/consumer.h @@ -14,14 +14,19 @@ =20 struct device; struct mux_control; +struct mux_state; =20 unsigned int mux_control_states(struct mux_control *mux); int __must_check mux_control_select_delay(struct mux_control *mux, unsigned int state, unsigned int delay_us); +int __must_check mux_state_select_delay(struct mux_state *mstate, + unsigned int delay_us); int __must_check mux_control_try_select_delay(struct mux_control *mux, unsigned int state, unsigned int delay_us); +int __must_check mux_state_try_select_delay(struct mux_state *mstate, + unsigned int delay_us); =20 static inline int __must_check mux_control_select(struct mux_control *mux, unsigned int state) @@ -29,18 +34,31 @@ static inline int __must_check mux_control_select(struc= t mux_control *mux, return mux_control_select_delay(mux, state, 0); } =20 +static inline int __must_check mux_state_select(struct mux_state *mstate) +{ + return mux_state_select_delay(mstate, 0); +} + static inline int __must_check mux_control_try_select(struct mux_control *= mux, unsigned int state) { return mux_control_try_select_delay(mux, state, 0); } =20 +static inline int __must_check mux_state_try_select(struct mux_state *msta= te) +{ + return mux_state_try_select_delay(mstate, 0); +} + int mux_control_deselect(struct mux_control *mux); +int mux_state_deselect(struct mux_state *mstate); =20 struct mux_control *mux_control_get(struct device *dev, const char *mux_na= me); void mux_control_put(struct mux_control *mux); =20 struct mux_control *devm_mux_control_get(struct device *dev, const char *mux_name); +struct mux_state *devm_mux_state_get(struct device *dev, + const char *mux_name); =20 #endif /* _LINUX_MUX_CONSUMER_H */ --=20 2.20.1 From nobody Tue Jun 30 22:22:54 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CB357C433F5 for ; Fri, 7 Jan 2022 07:44:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345100AbiAGHoj (ORCPT ); Fri, 7 Jan 2022 02:44:39 -0500 Received: from mail-eopbgr00126.outbound.protection.outlook.com ([40.107.0.126]:41958 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1345111AbiAGHog (ORCPT ); Fri, 7 Jan 2022 02:44:36 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G9ft2JzR7R+UsOHihaEl0IJM88cUR/RKuyqmo9z1HQNGJuSxFH9vroyXduyG4wzgbVcsPDWxukSHf2Wnu+kQ9/fV2SJtM6GrXfx1vJIkNTkLBk95Fe5dbBv2+XLNyh3X61wUOF7Vo6clLODMhMUxeP7jgZDNZUT6EBN3wflK2KrB4YKSZM0wZZPSzTM4UFrACPwdVItbbMRvP2OM1MY2OKXRybkIeyC9HXfLqUvMy8v2RMaxPJsUFJ25sGa8EH0CzBDwvYxe85eRmNPDdSR/ROFXgEQpdjO1aqYpIPtLO/uT0pF6lBZhSWetGsxGGzw3t7wCYl+nNu4jY54yogzS+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6aAHgff3nOtP2tt6hP5lxE2i/sX5IBuizXGUQnjuKMs=; b=Zm2BW3yGOh3HOBK305FFVOs94VGh+gCyOfBcXSbGhmrGTauBk3spxExxhHzFgZcOpylbTtPfyNIb3hEg8EPwfV77zupuufEsMoaoBMN3789HNHG2YVEC0TXH+vPw65wO23SeCRgFkTMF6TTMNMFo17Y7kBBWr/DSLD2CyY0mteln1Vi1oytuvjGlJrNbpD6ooBzEuX6JgU6IVWwqAUn7OuV8rmymDh3X5hOcsbNTARaR9LPEqCwPFr8LjyT22YQt1M7OAYQbQ8oCAnQjlZ/Jbq6Gw6VMf44YBuopEWkvZeMOO+t4wEls6BrnLRiG6qiiNO4P/KA7Mxslxc1hIoSk5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=axentia.se; dmarc=pass action=none header.from=axentia.se; dkim=pass header.d=axentia.se; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentia.se; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6aAHgff3nOtP2tt6hP5lxE2i/sX5IBuizXGUQnjuKMs=; b=PB/92PPL4zKeS7kPCmpu7SmmCSXB3XZ1OYWZ9AgTa6ZjNGKmlpVUfNq/eAm6fuHEDnPoRLYCVrUQNtgdQ23CaW6ZwQe7UcuDOrtZt+7xxzPuMzRVGk4VzAJnPeMbJ0e1eRZDXfcweAaY4gv06rUBsYDTIZ0/y+kKbJkVMfvPffk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=axentia.se; Received: from DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) by DB6PR0202MB2792.eurprd02.prod.outlook.com (2603:10a6:4:b3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 7 Jan 2022 07:44:34 +0000 Received: from DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745]) by DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745%4]) with mapi id 15.20.4867.011; Fri, 7 Jan 2022 07:44:34 +0000 Message-ID: <6f8cfdfd-9fa6-40d1-09b3-0c9fc50835ac@axentia.se> Date: Fri, 7 Jan 2022 08:44:32 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Content-Language: sv-SE To: Greg Kroah-Hartman Cc: Aswath Govindraju , "linux-kernel@vger.kernel.org" From: Peter Rosin Subject: [PATCH v2 2/4] mux: add missing mux_state_get Organization: Axentia Technologies AB In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HE1PR05CA0358.eurprd05.prod.outlook.com (2603:10a6:7:94::17) To DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0c3335ec-0a04-41a5-45f9-08d9d1b18c8c X-MS-TrafficTypeDiagnostic: DB6PR0202MB2792:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1824; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FQ9ZI730uBKNaoH3SQ60mhtWB3GwoQ7GQTe8yZ5Vn+FB8yD6uYEtkzKgW0DuKmst4F8ShVOMURT72cM61SUhT4i3XXKbNHfuMlwUEbs6yln+jDTzGt2KtZW8nIiy4/jw7a1MedcJjUBWHvSV4ZzBAgJL5HUIwpTgLYsS00CGig5WA6CKvtcrTaoygWsoKXjRTDzAJJEEH/rQTnxYGdFbkn7N6feB8nGyX97EpTpvbLb7WfyJZsTeilPnD2fbvGjdesvkLFy0A5c80sKufr9PoxaY9rGwCEECu0gUgcQufXPAPKZr95xY/Qb6Ke3e6PIFGaMIYFhxN37o5psJTFjS5JkDbGy8gZCa+/PGNEpmh/WdvP59fhqtO4K0s8l6+7rL2c1vbh9nxVW0Re3zuGVfUbXi3KuTkYkrlHNIElWtjdZjEFo0ntFQz60Kj+Z3V3CFAJfh0gC2cBQi6DV6Jblp9Ca2sU+YPAXWefFLjhz9/YEk9+zJl+vcuhdRBcPQSZOykhIFn/6Nz8Usrp6MqnDB3fuCrkkDfrhcvlVn/vfNY4D6+RUaCTta75m2GEf5kt34MEq6MZGYITmhhAfAtTw6ZTmyTY4z/1vRBHc7QrqgRMduHhW/B5RNlOltuodmry5fDJQ6sEvq+t7uo8VgNAO/uw90cWkxWH45HT29nR792H7Z0p5Ax2hSqV71v/0QeaSLT3r/I3joiSHkmXtk0TdvKGTvwI5s16OcR2vXQScfeRo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR02MB5482.eurprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39830400003)(136003)(346002)(376002)(396003)(8676002)(8936002)(54906003)(36756003)(31686004)(6486002)(86362001)(2906002)(5660300002)(83380400001)(6916009)(36916002)(38100700002)(186003)(31696002)(6506007)(26005)(4326008)(6512007)(2616005)(508600001)(316002)(66476007)(66946007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VlBaQ1YxQTJEYzJ2a3plakVic1VmOHdkNmtRVUFLUUkwYXNIeUtPLzZ5ZEZx?= =?utf-8?B?Yjc3Y2tQVkxqTzNQRzhkU0I1dGR5T29senRWcGdTQ3RXZThNRFF4K2diSVg2?= =?utf-8?B?T1gyU2tBeXdRZ2xZY3M0ZnE1Q0RCbFZ5VXZHVHNCb0hkZXRiZUc2VklJUUpz?= =?utf-8?B?RSt5YUs0cEVqa0hORWNwbjZjUzNVNFJrV1UzVTVmVnlvNHJnQ2NEZmc3UmNS?= =?utf-8?B?empzT1FKTGl3RXZoWnVzQzM4R0MwMVk5NlQyY00zUFBhU1Joa3FocVJsWXdN?= =?utf-8?B?MlFBVEdtemc0S2s1Q0FKSkV3NCtZL0s2RllmNmpmQTlWN3ZkSXpEbUVRQnhB?= =?utf-8?B?MmNzVDFHWUJXZWszSGxDSGRjSXRQRXBIYXhsRGVCY01UYTBhTjlKelYybkJq?= =?utf-8?B?Y25leUYzY1RlQXZTNmF1by9La1lTaEdLczg4S1l2a1g3VUNwazl5RnYvS0Yz?= =?utf-8?B?YXp1eFRBbnpXeEh0aUppczkzRWV2T3A5dkV4Y3FnRmFuWG9EQktacnJCUlFu?= =?utf-8?B?VVBPM3ZsSXV5OW9XNlNzcjNhRGc2SVBVTmlWdHE2ZFNwRURXdHF6TGZwK0Vt?= =?utf-8?B?ZjlHT1lGSy9GTEhvanJMVEYzSzZpU0FzdFcyV1BGS0swZktpUE52bXU1NkZ4?= =?utf-8?B?eGw5WGVKNlBkSEZjNTNsSEtQUnBjTDBsQ1RQRTdLTzRRd3NRUllqUTFMcy9i?= =?utf-8?B?RGF2Vzh5U20zRVovN0pmb2t5T0dDeElDMUEyK0w1eFpaN1lsSnZNVkJiM21T?= =?utf-8?B?Z1hRK0phcDZNaXFCNVBVYTZ5bjBIUGRqeHRDZTVuakJmbDVxNndmRnlWbTFL?= =?utf-8?B?N3BZR25JN3N4WXM2Vm1CS1FqY3pRZlBORHJWMkZUODlKSzBTVmVrcVZ5d1FQ?= =?utf-8?B?eFoyV0l0d1VoUEhYZlFsUEgveDd4M09Qb0lBSkc1OUxEdkFqMzEvbXZFT2ph?= =?utf-8?B?K1pldFNpalp5TElHOXRQZ0ZUeHhGdVRxaHo0a1hMbFd4TjlaVHljTkZzSDhj?= =?utf-8?B?NUtuWDhlY2JTMjdTWGllSTVCN1RyZURYUVlxMVJTWVRQdFE3TnB2WFc0YzFt?= =?utf-8?B?eDgyekFGZXF2YWRBM1VDL2ptUGJOY0k1elJSNDZ5UHBNcEYyUEU2TmFIYnpx?= =?utf-8?B?aEhhaC9QelZqL1ZSd0drWVVTR0h6SEhNYkhaeURVM3BJS1FzM2V3NldlNzBy?= =?utf-8?B?WnhmNjhsdXJBM2NDb1BXU3J5WFV4M1RlOVB6VVhzU2VUd1JaMmFHNXVqVkpO?= =?utf-8?B?cFNGakVSbllaWHhhRWRCWXgydkpGM2hERHdtYVBlTHFCQ1BEdHRtYlhQS056?= =?utf-8?B?MENmdlZWNURxRzF1N3FDSmVRLzhXMWdBa1JITWJIeERVRHJTVXVUYjlHbkpD?= =?utf-8?B?cE5pNm56SlV0SDlNcmc3N2ExZ3I1UjB2RE8zcGl6eTN3aVozNGlKWUZlejVK?= =?utf-8?B?Z2hZeko5OHlWdlMxa1pCRlZWNS8vWmtxK3RsbVNLOHRSWTlPS3FhUFhkSS9H?= =?utf-8?B?T29IOGdoY2UvNU9nVzZuTklOVENrZkEvQ3lGVEpJUE0zZFQ1U0ZDbUJENEFR?= =?utf-8?B?a29KSjZJdFBWSnJ1SmlwckFrc3J3M3BhcU9oZXMxQ0R4T0FRU1pvNE5KdE83?= =?utf-8?B?UTJHNW93c1NUUnVmZGMwaE5ERTRTSXVkSEZtMTdhSkxKdkNLdC9NSzNJWkJU?= =?utf-8?B?R1I3cEdGYTBGdGNPVnp3SkRUTXNta1daMjlWL3JpeW5GMitUeExEUk9pSVJq?= =?utf-8?B?bHFzSWtTV0RZUkh1cEx2ZDcxdU41cFVmRkRMWDNkZHMydk5NN2txSG1vU1h0?= =?utf-8?B?enRLckVROFZtcEJQNHVZWFBTVTNBOE9FN01YOHViVlZ2NzFjUkdFNm1JQmdM?= =?utf-8?B?ME9tZkJPbTAvdEw2SnlvYTJoUlc3NlQ4anJaWFVGMkhPYWlpNXY3RFMva2hO?= =?utf-8?B?aGJhcVVjb1VhUWFyS1VoNmE5UmhIQk9iekJKdlNaeHVXTnE5dDZmbjVvWjZ4?= =?utf-8?B?MTdlVHc2cDNlZ0Z6MUVla2xXbHFWOFkwV3V4M2pOQnNaMzdYYlN2THc4N3Yr?= =?utf-8?B?UElSdWFaNXl3VjBqNUhrQSs4M2RJVG1nakpZdGNhRXdYTUxCMGZ6eXQyN0hj?= =?utf-8?Q?y5y0=3D?= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-Network-Message-Id: 0c3335ec-0a04-41a5-45f9-08d9d1b18c8c X-MS-Exchange-CrossTenant-AuthSource: DB8PR02MB5482.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 07:44:34.8305 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GImJTSfoOfOtbpvxS7IgzIV4UcxPpL7u/nuOuPHD9g8sG5NfwXbgchgeGdBTXeg3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0202MB2792 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" And implement devm_mux_state_get in terms of the new function. Now we have both mux_state_get and mux_state_put as convenient functions ready to be exported should someone ever need unmanaged interfaces. Tested-by: Aswath Govindraju Signed-off-by: Peter Rosin --- drivers/mux/core.c | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/drivers/mux/core.c b/drivers/mux/core.c index 931fa8bd4962..5cf2124fa55b 100644 --- a/drivers/mux/core.c +++ b/drivers/mux/core.c @@ -673,6 +673,32 @@ struct mux_control *devm_mux_control_get(struct device= *dev, } EXPORT_SYMBOL_GPL(devm_mux_control_get); =20 +/* + * mux_state_get() - Get the mux-state for a device. + * @dev: The device that needs a mux-state. + * @mux_name: The name identifying the mux-state. + * + * Return: A pointer to the mux-state, or an ERR_PTR with a negative errno. + */ +static struct mux_state *mux_state_get(struct device *dev, const char *mux= _name) +{ + struct mux_state *mstate; + + mstate =3D kzalloc(sizeof(*mstate), GFP_KERNEL); + if (!mstate) + return ERR_PTR(-ENOMEM); + + mstate->mux =3D mux_get(dev, mux_name, &mstate->state); + if (IS_ERR(mstate->mux)) { + int err =3D PTR_ERR(mstate->mux); + + kfree(mstate); + return ERR_PTR(err); + } + + return mstate; +} + /* * mux_state_put() - Put away the mux-state for good. * @mstate: The mux-state to put away. @@ -704,25 +730,17 @@ struct mux_state *devm_mux_state_get(struct device *d= ev, const char *mux_name) { struct mux_state **ptr, *mstate; - struct mux_control *mux_ctrl; - int state; - - mstate =3D devm_kzalloc(dev, sizeof(struct mux_state), GFP_KERNEL); - if (!mstate) - return ERR_PTR(-ENOMEM); =20 ptr =3D devres_alloc(devm_mux_state_release, sizeof(*ptr), GFP_KERNEL); if (!ptr) return ERR_PTR(-ENOMEM); =20 - mux_ctrl =3D mux_get(dev, mux_name, &state); - if (IS_ERR(mux_ctrl)) { + mstate =3D mux_state_get(dev, mux_name); + if (IS_ERR(mstate)) { devres_free(ptr); - return (struct mux_state *)mux_ctrl; + return mstate; } =20 - mstate->mux =3D mux_ctrl; - mstate->state =3D state; *ptr =3D mstate; devres_add(dev, ptr); =20 --=20 2.20.1 From nobody Tue Jun 30 22:22:54 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1FC33C433F5 for ; Fri, 7 Jan 2022 07:44:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345148AbiAGHoo (ORCPT ); Fri, 7 Jan 2022 02:44:44 -0500 Received: from mail-vi1eur05on2126.outbound.protection.outlook.com ([40.107.21.126]:28640 "EHLO EUR05-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S235891AbiAGHom (ORCPT ); Fri, 7 Jan 2022 02:44:42 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JBWeKsOyZIDjphMA5t1i23bs3iCc6Wc9Asq6noa6yQrPeJ1kAqbMMtEAfA7gkaxeYx7JwPWUYleV89+t48wwlvhb/wUam+yKLZS1jEJHsqE/gL4u+5l1DGYsGmCecOTMMnpQ8Qzj7nRYW/XR1ZEIBhynEGrOW0Z6iIgVVAAtHyEUHyBmBo08Y+WdqUB2vAbhHLvReqe09tMIVn5CQokM8FezkgXZj89rbOprK6eskxs1V2xOKjTEh7GevXJSepVXhvijNRwCZ9uRvUP7DeUQo/VItsByqD9KC8nB5t9axROyAJU085p35i1Ood1f5AfDO64fxNCAC6fwg4pnZtUDPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Wp0ue/Lyb5EMxnq6ks4kzQjhrgazWu7owBnheuOmJUk=; b=kigd4VCIducmn+Mjhwd5m9gSqa58GmXZCjEWy5GEzIHcCApIEimgtDvH9v7Vl296APkTuqraniqkC5x+0mpYeYVFk3xaGgpZrIeiSOzCB31iDy4yVDl2yw9zZYPxV271a7oPZl9m3EKQfadztGwEk7x+trclgd7YyTbuogl532rAb8g7jQBnP4JDLHzZDAgVAO7YeCrDfgVwVX8KNlLfKi8lAvYO0WBjzQbKIOFYECHGG0GLH3Sb8+KmojE97hN4wmuqwscK5pbnEMh3BBmopJmwF0X639jfJOyxVYrBo80NLTnaVDMoz7X9QR+oz/yybpm596FjjvVF07dAxptiJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=axentia.se; dmarc=pass action=none header.from=axentia.se; dkim=pass header.d=axentia.se; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentia.se; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Wp0ue/Lyb5EMxnq6ks4kzQjhrgazWu7owBnheuOmJUk=; b=DuBuBRvvunUi79kzVayJUoudU/Uivd26MuRom6kAaJYKgjgqI3S8BqyIdgTQJiQV/X2ykWiABLK85gQzxF4bfSu3btdcYkREUUIT5IQ1IYC1cVH03U7oyqVJMnHLiv3VTwpNHhvlWr91ETu3PI9Gd4wgiQHK1kSX7m7p5fcHIF8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=axentia.se; Received: from DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) by DB6PR0202MB2792.eurprd02.prod.outlook.com (2603:10a6:4:b3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 7 Jan 2022 07:44:41 +0000 Received: from DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745]) by DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745%4]) with mapi id 15.20.4867.011; Fri, 7 Jan 2022 07:44:41 +0000 Message-ID: <75067db8-0264-c49c-daa8-d7a877932711@axentia.se> Date: Fri, 7 Jan 2022 08:44:38 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Content-Language: sv-SE To: Greg Kroah-Hartman Cc: Aswath Govindraju , "linux-kernel@vger.kernel.org" From: Peter Rosin Subject: [PATCH v2 3/4] mux: fix grammar, missing "is". Organization: Axentia Technologies AB In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HE1PR05CA0364.eurprd05.prod.outlook.com (2603:10a6:7:94::23) To DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d074492a-5221-4d3b-f4c8-08d9d1b19039 X-MS-TrafficTypeDiagnostic: DB6PR0202MB2792:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fc7BRmjeYHD+Bz+e25xYiqqMSv0yf/YfnhnjbR5QaOOMGnvM+deOtb9ykD7ZwXf/xXCL5lPYFam962neCaNPkQy4Hqd7LYspk/n5jiVWniPB0vfeG/qDuu2zGQd34A0nEf7OXRqI/38dgdLUrbxSSOmYpaYvhR3zoUp7F8X5rnbe2FzSaf0a5/zv/WE5TUpl98qEf2lf2JPc3Ytw9J2uswFKK/3q2uJib2mWQCBJwGRESpVN12AJAZAZwJ/mUcnYuH3lHSvz3WOjyLPVZDPptKeH70kFb/7ix5dbwO4uT3i7VDrFCGJR6/MSDWrCye2XiUSi57IWiRAxOtKeiTl71jHdnqv9FjQ/AOnuR7EOWaCExenE8SkBPihesylKzrzRWRlLMcNE1ckckvPnTcE5zW3cA5pF5fZ9M5Y1QyjnLkPLrsWajtcwlG20V3nZAbQdR72U8JSxb6rkwa4MkIJisJz6LEaU+njULEy8Ik+3mQJ1tKrYYLjf9zFemq76teHe0swdmmSYQmDHjy7TZOX/RxtVFTjg5TBZjy3u15qEE9AkC+P1LVUAQ47KmKgUvWr3B60OjmOPTUgYTV4VBu7WiAoHZjFBkuwUWTHkrWsl0VgnfgDFsHrXi/NQ9IaDRsSvBBGgJYExkAwCb2WsLaHrm6OX+uAwUnbjR7SREIi3XHWhzEU5hbXK6hBwGEpxHYZOEhCFipMDgjX0reOr1aQ0WrDTuc9EwVVWvH4BV5DDeBU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR02MB5482.eurprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39830400003)(136003)(346002)(376002)(396003)(8676002)(8936002)(54906003)(6666004)(36756003)(31686004)(6486002)(86362001)(2906002)(5660300002)(83380400001)(6916009)(36916002)(38100700002)(186003)(31696002)(6506007)(4744005)(26005)(4326008)(6512007)(2616005)(508600001)(316002)(66476007)(66946007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TFBUZDUvbHdKNCtMeHY1TGpSdmg2VzlUZjNkK204RFNmbEtMTW1iMjEyMzVD?= =?utf-8?B?NXlqMitHdUdaNFZqK0RMUFRGbTFUUFIxZFBob25PWTF0bWw3OThDK3Bvanlq?= =?utf-8?B?Wkg5elc2TVU0Z1Z0dHRLbCtiOHVsek5KVTRNdDl6eHZDRGs4Q2JzS3NIcW5a?= =?utf-8?B?NUxUNms2SE93UW5qOTZWck1GdjhKby9Yb1krcjUxcHpORVlta21wL0s2RWZR?= =?utf-8?B?M1pEMWc1dEVpZVYxMDFRWFE2aWYwVzRQaDJ1LzByblVxS29WOGRUSDJoYkJk?= =?utf-8?B?b0FMdzdpclFYcTJIQjErR3d1V1RyZndCelZHeVp4SUU3a0YrdTBZRmxaQnYy?= =?utf-8?B?Y2pmd0p2STc3WGMxY3NRdlkvYmpJTEhRRWpuMmRwd2JVWHdGMEJ0Y1RuQVZz?= =?utf-8?B?dVh1cnNPN2tWVHlPdUlCODlxU2wxaG9VMzZCSUt2eDUxNHZjZkxRUktpSVZn?= =?utf-8?B?ZUI2eWpqUVo3QVRsWDdscjNpQlpDcnoyUC82TXhIaTB0Z3J5K3NFZVNPN1JZ?= =?utf-8?B?Wk9WcTV4RGxybUJiekVjUXZ6RWdObFZvWEU4cGFVVWUyQVFCUXBnOC81eE5S?= =?utf-8?B?UEMrMkpRT0t5S0pEbVRKa2MvZGltcE8yZVlGSjZ5K21xVlJQTEN6dUt0eVhG?= =?utf-8?B?b21oTDYwUjE2UFVKNUVqcXdnVUdkNXFMU1lLaWNmMVRYd1plajJDa2FkeEZy?= =?utf-8?B?a1NESENVd2U0eVErQzNnc1g3S1EyT3BIYWxVVDMyd3gzY1VIMndva1I2Z1hE?= =?utf-8?B?S1RJV0lPREkwL3BEbGVuMzBGTWxIVTZDbXk4clNNcHRCT215dSsrYXNLdHZ2?= =?utf-8?B?N0piLzJEYUdPdy9sY3dTd29GOHNsam5tSWozZVI4WGlzZVIraTVJK3hvem51?= =?utf-8?B?b20wRFQ0QkZVQWs3eGhLZkhUWHRHV0Y4Wk1uNng5OE81NGt1a0xNN0dGck11?= =?utf-8?B?ZXIzTTZnQXRmV3Rvc0JVUU5EbnJLeEQyOXp4VTgza1FNYUk0YlRMK2dYbytj?= =?utf-8?B?OFVjcXhSSytMbkFXc09xdmZOcGN5RHlnc0xtUXFpZkRDN2pCVWFKMEV6SFJD?= =?utf-8?B?VFJsZXlPZENSSlRZY0NrbzJZbUhYMkU0YnRDUjNTTFQyUjFFY0tqdGk0SzlC?= =?utf-8?B?M2Q5L2FDSDgzUVBMWGt4eFNqdU9LUDlKcTdGZDB0QlZ2akVkWFNzTEpEVFMy?= =?utf-8?B?RmJ3VFo2djYrVVRRb0JXVnQ5b1hlUTVCc3VIUTgzeGppSHNyTEttRzlETjN5?= =?utf-8?B?UVNXc3Byc2k1TThkTTlxT1V2a0lGdVVzL0hBNVVwM2VKd050TWxIZTNWUFV6?= =?utf-8?B?UUFHc0R0Wm5QcGtZdmZ6NENEWUZLMVpBblJzUXJNZDFBN3ZMdUtwQUltK21K?= =?utf-8?B?QUs5UkpkSjFuaWJkRWNGUURkdEo0dGFLYWNDanpOOS95cGlyaEQ2VjluUVJF?= =?utf-8?B?TTBLLzhuQ0tXR2prK2YxZmxqRmF0V0VOQlkzWmhVbU5sZHlUbXRhbFZsWUpR?= =?utf-8?B?b2MvK2ZsN0d5Z2NnYTVuU05YV28vZHd3VEZSMmVrVVUxVTJxYzh5a3J6QXFH?= =?utf-8?B?bHR2ZnJXdVo0eXF1YXVNeGtzQWhHd2M5OExQd21meU5YVURmWWQ4WGhDZkR4?= =?utf-8?B?Y0M5T1FYY0JTN1VZQnhHeStpYzhvWUNKaHduVUNrU0RDZ1pKRUtlMHNqZ3Z5?= =?utf-8?B?Q3o4L0V0dmtSb3lyK2FMNzR5Mkh2LzVCRHlmNExTZmZJTHg0eXJXM3EydGVr?= =?utf-8?B?cG1WbzNheVBqS0VsK3plSHZ3UXhpdXlKTVk4RElsSHlKSnZFazJoQXp2bjVC?= =?utf-8?B?K0dkdTl5ckhUZ05GVHlmd1hMNnl1MjRUZUY1N1BuVGhUUXU2WTFjMGsxRmxJ?= =?utf-8?B?VXJZR2lhT0p6TlU0MGZzUnVkUHZHNEpMVHptNGdQQ2dEMzhadXdWTXZEai9i?= =?utf-8?B?RWI5MWhmR0cwNjAzZEt2c0JRQlVJaCs4djR4U0VNUVZTUSs3MDlDeXR4bUdk?= =?utf-8?B?ZXlPZmhkRWxPL3MzUzhQSTlQM2FMSFQ4NXk2aldHSmlkeFcvdkJENGVWOUNU?= =?utf-8?B?RlJXMnQ4ZDFQU044elhvRTJjbDVqc3dWU3UwR1pVQ3QvTE1mTnhHZ0NlYW56?= =?utf-8?Q?l0CQ=3D?= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-Network-Message-Id: d074492a-5221-4d3b-f4c8-08d9d1b19039 X-MS-Exchange-CrossTenant-AuthSource: DB8PR02MB5482.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 07:44:41.0019 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2h/BPtt8dtxFomaBKSm2WEEMUFWOIdx8zHceql2sFzi6xfIjsAKiBCcZQcEEugAu X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0202MB2792 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This makes it easier to parse. Signed-off-by: Peter Rosin --- drivers/mux/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mux/core.c b/drivers/mux/core.c index 5cf2124fa55b..1a76a536d4b1 100644 --- a/drivers/mux/core.c +++ b/drivers/mux/core.c @@ -416,7 +416,7 @@ EXPORT_SYMBOL_GPL(mux_state_select_delay); * @delay_us: The time to delay (in microseconds) if the mux state is chan= ged. * * On successfully selecting the mux-control state, it will be locked until - * mux_control_deselect() called. + * mux_control_deselect() is called. * * Therefore, make sure to call mux_control_deselect() when the operation = is * complete and the mux-control is free for others to use, but do not call --=20 2.20.1 From nobody Tue Jun 30 22:22:54 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7BD0C433F5 for ; Fri, 7 Jan 2022 07:44:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235999AbiAGHow (ORCPT ); Fri, 7 Jan 2022 02:44:52 -0500 Received: from mail-eopbgr80109.outbound.protection.outlook.com ([40.107.8.109]:43209 "EHLO EUR04-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1345073AbiAGHou (ORCPT ); Fri, 7 Jan 2022 02:44:50 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O76FNLLfPnX05rnwCU0nKSd4P1l+qY/YDFzdlv1TEihNoJ7+UioizGlcGNGIW4dJSiMzYaIg8S6bLgI++uwU13wIFtUem/ivnjdD0rkd5wQmU1+5LeCT146gSFhGfSmf62ekD4nYcxSQdR7ZMqaSjozvZhpSySjNdfVdoSnQ4hL3qWxlI1OspBsIU1IdOVBciVkU5z6uugw9N8OFk1GIt5MPQxUFw13r/PGugq+cuXA0J58Aa6ErRwkSE9gNsuqccse+z/tInHRIy2Y+edGDX/MnCYFLvEEgvXsaATj81w1UY7Y1l6suB9uKXC87TuZBbWq8PVWRb1lk86CzTMjAOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/crk+PWLMfdNlqPssDFY9cxSKpEaJ1HkFaU5vyjtNQQ=; b=Ci3cESI6/FOJ5al0CqHf8nH/si9heVdK538FFfBM01+cRBkfkjsTxpWPp6BpWpibTQj8Bb4aKhuT8A9+fuvjK5PPBC3ywxRlQIZBQm+8T72yk1IqhDmD7TPhpLOiM2kgmFcSOyL+ivlS5PEqI7Gz3D++ies/+Sy4Tnbtqa1N4SLkwsosn2SHz2XJGPxpEBDKh5eGJ6dCq1vrqJF77N23POfzAn2rPpHtG7ChG/A5Cbvan1ARMMs+DY8P9fkx6gZLBqlvT4gxR03nJFyrNOxSy4Hv/kE4XyBdPRT4exINF1FieXXspgxKzl5ngP/jcQVDqc9/dRbsegY2aBUJr1rugA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=axentia.se; dmarc=pass action=none header.from=axentia.se; dkim=pass header.d=axentia.se; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentia.se; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/crk+PWLMfdNlqPssDFY9cxSKpEaJ1HkFaU5vyjtNQQ=; b=SKPnzBiR9uwf+589xCFIABhcZiZS54URpKKDv5aiEmfZiKWPLWhLTkRHOzLOQLlLjh1uDWzB+2/mzpISjB5AZuUlU+1qjRIiL9FWD2LlHspOTkNZaScaFMXn1Ol9dsP559cBTlaZotTgMuncVxhcqn0ttwJpe/E3uUc/QoSH3bk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=axentia.se; Received: from DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) by DB7PR02MB3674.eurprd02.prod.outlook.com (2603:10a6:5:12::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 7 Jan 2022 07:44:48 +0000 Received: from DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745]) by DB8PR02MB5482.eurprd02.prod.outlook.com ([fe80::99a:847f:ce2e:745%4]) with mapi id 15.20.4867.011; Fri, 7 Jan 2022 07:44:48 +0000 Message-ID: Date: Fri, 7 Jan 2022 08:44:45 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Content-Language: sv-SE To: Greg Kroah-Hartman Cc: Aswath Govindraju , "linux-kernel@vger.kernel.org" From: Peter Rosin Subject: [PATCH v2 4/4] mux: Fix struct mux_state kernel-doc comment Organization: Axentia Technologies AB In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HE1PR05CA0368.eurprd05.prod.outlook.com (2603:10a6:7:94::27) To DB8PR02MB5482.eurprd02.prod.outlook.com (2603:10a6:10:eb::29) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 69cfc527-664c-4b7e-5c20-08d9d1b194a6 X-MS-TrafficTypeDiagnostic: DB7PR02MB3674:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M8BbhrUKJZggTlwdCNTT28uqXawLkFkEgNLlVoYIwoC68VnSQNY1lpLv8sZvq0ZbQpxZvQWBniQvczPWlgnLLDOkvTZUEnnNrx99ko8fLtKhkGjHPV99xME6ypKEb6Q2lS3ae4fhu/ARfsDhmyBreYGD3DGAyw6R2zzHLr8uI1nwa1g+UCifRSoct58hMA7hSDDxzY3qzqhcxmXbe8NRmRZLC6XsaqfQanpSbkPwgTvGwsTZ9WA2ZlaqwIWPN0IxpDuEBlQ3a87lz+dAKAxEfms3YCb6qddYZ5j5kgaijpTZcvC4LqppcYpw+wX4RfnFhxdOWa93Y/GmmJuAnA/zlg1f4+di7bEnZM2CDIOYIGjELBATlt6Q80I4UqhXVY9rfZDSkEnrfkZ1BVyIplaFTCTofu1NJp5n1B89nWDhDe5vla+b1mhspL9KJVPo25b7i0D0egw8jt1qKDJhx2nHHsRkBNNvcP8P+f7F2GjG3/MkzFU/S9iqhjFJHTcGb0ldx2POYQYQUGEeN1fCoLVSi2XQ//ivkNB07wE/GKAqu8lxR/9wwOkjg+SeMqqQBd5tV6NqR5FdbLha0PJNM2vfkX7N6gacfVqlofrmSaIvnuh9T+9hnb3UgPm5XrpENpmzppMM+iFKFL1nG+vZt7gEK5l/uzGwP2rZyCYHtu08eIBcIht3dfDsax7d4U79VT6k88USscAuiPHCw2sMN69jVwGQkIDarYCkSJuTq6O1wS4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR02MB5482.eurprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(396003)(376002)(366004)(39830400003)(31696002)(6916009)(4744005)(36756003)(6506007)(6486002)(2616005)(31686004)(66476007)(66946007)(86362001)(4326008)(66556008)(54906003)(36916002)(508600001)(8676002)(6512007)(186003)(26005)(38100700002)(6666004)(8936002)(316002)(5660300002)(83380400001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZnpDMzd4aW40M2VwSHlPejM5UUgwQ01jZk93WThJcTNpNWtsaWZVakZkOXoz?= =?utf-8?B?TGlWSTBGYklReDBWM3NJU3p1SjlSQjE2Q0pLb3cvRXprUEt3c0xvK2pwanBK?= =?utf-8?B?S3krc3pUZFB4UWtEcytzRWoyQkFvWi9LUzFyZ0tmOUJrbHZvVkhzMDBTYUUr?= =?utf-8?B?MTRGd0VtVTF3WnZ6TU9uT1RyRWpvc3JkRlRBaTQrbSt4cy94WFN5aENlT0g2?= =?utf-8?B?WGRobmJaUkFqM2J5b0RyWVJMWHR6V2tEb0F3d1JBRWhSTXJYa2RZZ3ZQeitK?= =?utf-8?B?SlVEc2V1VklKWmhBT2RUeGpVRzhETXUyZWxOL09IZHlLcUw5MkZiNVNRRlkv?= =?utf-8?B?MXkvTVVadzlTS1VvN1ZsTHVyK2tGVjZleW13elRnN0VOYm5jcnRWRE5XYzdo?= =?utf-8?B?bFpwSnNKdFdNQ0ZzaXM0Vngxall1OFhaZ3NoUUM2a1QyQTl6N0haZWk2N2Ro?= =?utf-8?B?T1RTbFd1dE11dFVhKytJdmYyZGo5dWJwaTU3ZFN4bVpidVkwV2M0N1NFay9Q?= =?utf-8?B?dE9TM1I4SHB6UldYU1RicVJpUlJhaklZejFPRXFxS3JkbFdZdzZIekNpMGMr?= =?utf-8?B?R3R3QUJlOHBhWGh4UzgvM2Y3Lzg3QlE0VVdBRE80N1kxZDVicEY2V1d1TEJ5?= =?utf-8?B?cU5nUVFQSWFqU0xMVmVIY1MyWVNpOHEyeHhadS9tZVg1cHV5MHN1c1dISS82?= =?utf-8?B?ZTNmUm1ZMHVMbnh4VEdKVVF4c2Q5bUpkQjVoUkU1R0MrTUlOWnc2RkdKZUo4?= =?utf-8?B?bFJFQXZnc2VFSUVpSXRNN0ZIdDZqWkhlUlRYMFdYMVcvRnpFSmp0ajJwcFVn?= =?utf-8?B?cjNCdkhNVXh2SFVPQmpyeFdyZE5ER2djSmtjdDFmNUVJK0ZVSFZBdHhwcm1Z?= =?utf-8?B?cHJ6SHFGRjFxVC9nYUpONmQxVW9vOExJc1VvR3U0UmlKangrKzU0Y0t5akht?= =?utf-8?B?MkJrUkNQVVBvc2YzUk80bVo2WXRCZEZnQ0tNdUcxeWw2NmNYVmd3TlZCOXJy?= =?utf-8?B?anl0TWt4b0xRZ053cTBvbCtrbFlsazhwYlFuM3hCSDlYa0NlZDZTZXMzVWxU?= =?utf-8?B?N2hwTmVFOWhxT0g4NkdqWktRT3BsVmdSMlNTMGx4M0Q0ZVJRaG9UcW5aMzVi?= =?utf-8?B?b05zOGJvamd5M285S0Z4OVNRRzZHdmdKcit4ZWJjdkZCQUl5ZmJXQkpMZS9I?= =?utf-8?B?b3VXaVNmQnJYOTh2dmQ2VSs5Q2YzUzlZWUNPeWNyOEU3eGNpMWhYeFlieGlK?= =?utf-8?B?cDBOdDlwSFlzN1hkV2JuQ0JkZU1KUy9QejhlYVdOU08zbEkzSzFRSFV2Z2Zi?= =?utf-8?B?WnBleTQwZlIyWW5iYnpvT0orckdkcDFhVTNUYUlGZmtNM2RqbitDdDBkaVp6?= =?utf-8?B?QWJHQUorOWpoeEpnR1lucitQWXZuakZUbHpqV0p2aGFyWnJtTXl2QThHVnNO?= =?utf-8?B?MVY4M1U3RU5yV2pyRnhnRTNubUJHa3RXOUFuYjFJOHZkMmJPMUFkQWhBeGJr?= =?utf-8?B?Q1RHOVJ2a2NVWVozYlNWSjdKM1AvbSsvUDRaKzdUQk0xRmZqS3Z2SzkxMkpo?= =?utf-8?B?dVRSUUJJaS9oTjAzdDdEYVRUbmZoSFdvVE9zemgwNlcvdDYrdVpDU1hTZ3N1?= =?utf-8?B?S3p4U2hWM0lsd2MvOE93R2hXQlZicVNmVEtnbWEzYU85U2JUYUg2YStLVkN6?= =?utf-8?B?dGdScmxXc1J3cHhFc05Lc3JydGxlcUFwRlJNSnNtR0tQVS91UG84aHJ4d1Zm?= =?utf-8?B?TjVJeUsyYjViNWMxWVBzRkx3Vjh6V0JCLzZPTVVoTzV2NmgwNm15YUFKQ2xk?= =?utf-8?B?S2daYXI0alRHdWE4VVloMnJkSDdJc0xsRTl0dHR3NWR3S243NDV4dmU0SjVR?= =?utf-8?B?NUJtN2pCSVlncVJBT0ZDUFNkU2xXbjhrazNBa2oxZk5Md3RaWmNoakw2QzUw?= =?utf-8?B?djhrSXpZU3A1YzVKVndmYjRTcnVyZjFGUlh4YkVMcUk1RkI5UVpkOFJkeVB0?= =?utf-8?B?QkFpZk15MGNsUTlEZnRiaVFIcWVNYXJQdWZRbkNzZ3BHMWpUdkt3Q2ZBN1Z1?= =?utf-8?B?anNvZzI2Rk5pTnlIMTBIOFJ6VDNzUElZc05pTFlJM0U1SVRRN2F0dm1WODFn?= =?utf-8?Q?+bYg=3D?= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-Network-Message-Id: 69cfc527-664c-4b7e-5c20-08d9d1b194a6 X-MS-Exchange-CrossTenant-AuthSource: DB8PR02MB5482.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 07:44:48.4545 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mSwzxGPgH/aX7FP2AH1M1MlWWn/nKnFrS18NydbEjV1oeNm0YTM2lVQTwSiuZ/2B X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR02MB3674 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Yang Li A warning is reported because a colon was dropped, it is found by running scripts/kernel-doc, which is caused by using 'make W=3D1'. drivers/mux/core.c:44: warning: Function parameter or member 'state' not described in 'mux_state' Reported-by: Abaci Robot Signed-off-by: Yang Li Signed-off-by: Peter Rosin --- drivers/mux/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mux/core.c b/drivers/mux/core.c index 1a76a536d4b1..49bedbe6316c 100644 --- a/drivers/mux/core.c +++ b/drivers/mux/core.c @@ -33,7 +33,7 @@ * struct mux_state - Represents a mux controller state specific to a given * consumer. * @mux: Pointer to a mux controller. - * @state State of the mux to be selected. + * @state: State of the mux to be selected. * * This structure is specific to the consumer that acquires it and has * information specific to that consumer. --=20 2.20.1