Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp200020pxb; Tue, 14 Sep 2021 23:18:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpKoHQ23Mbsi2EI2uU5FPdgKivQi2pliOIxmuhvVckZrCl8Fmj1uRgicNTSrTm2E9RAA6w X-Received: by 2002:a05:6e02:154f:: with SMTP id j15mr598625ilu.236.1631686728869; Tue, 14 Sep 2021 23:18:48 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1631686728; cv=pass; d=google.com; s=arc-20160816; b=StwG67hdXDBZHOmE90oEI5wfUsmxHj+8n7bRhL2kCylqGsnkO7dh+5zPiAuKhky0Gj WGTPjWzePe4UNixgm88YWGKLVSkGd/s6lEXX7BjKgUYVKBwi3tpShzy4+cQcTBpcxra+ l7mvCX2Dfty0X3voRBZeWVuVMLVVXOSpDtUgxsmwKuR43duD5I3xAuLKERUdT3jopTY6 Ce1us1MX2DJS5/GxYT6IjsOWSKsGFl66uRi75FK/iEs0hc0vy+Gq/i6YFiFuF+yWRI7d xiu984MiXv+DHyV6s5xYYoYNCYmyUelbSHSfHNVrgMhxDOf0ZSRJh6vVbN87b0fs5kbE 0zCg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=Uf7r+m3RGSrQga2h9Zrga9YtlFjdUqsvzXCnC2wdxgQ=; b=AoE2dO2RyidyZbWway4GCGsNVXV+oiRFEnSx+kIRktqyfzMbZP4InZluxWriYSYcl1 W1SPYRlJWAUCLzaETXtUOk3o5o/kIDDkYdrACQa52ruAu7UqPdCzEOdYFRhHkhKzPN+f pK0bCsk26Ux8YQZ9HNAOK5fzDKhT5/lGc1tv1kKgUZn4MVhrYNxZhWC3Um/Ux8cw+bjt eW2fZPgjpesH+RnO5Ym4lmcl88RIJ5kal8J0F6ae+jSoI8sfscQ7RvA7oruQoeddJYOq MXfroogjMA++eD+nuViwyZQwtI/7s/RtA+nAW+OabcqxnGWLetdqNGK8SHQuJleDiF0Q 3CJA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector2-xilinx-onmicrosoft-com header.b=aiLa65gk; arc=pass (i=1 spf=pass spfdomain=xilinx.com dkim=pass dkdomain=xilinx.com dmarc=pass fromdomain=xilinx.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xilinx.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v12si6035701ilh.31.2021.09.14.23.18.36; Tue, 14 Sep 2021 23:18:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector2-xilinx-onmicrosoft-com header.b=aiLa65gk; arc=pass (i=1 spf=pass spfdomain=xilinx.com dkim=pass dkdomain=xilinx.com dmarc=pass fromdomain=xilinx.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xilinx.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236367AbhIOGRh (ORCPT + 99 others); Wed, 15 Sep 2021 02:17:37 -0400 Received: from mail-dm6nam11on2077.outbound.protection.outlook.com ([40.107.223.77]:51296 "EHLO NAM11-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S230428AbhIOGRh (ORCPT ); Wed, 15 Sep 2021 02:17:37 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lFe3iOzpknMLdBCyE37h+Qc+vYr4nEgbIDO+zMQP8E8ia25TK5WiG+EV5dFLt9mb0/9tLvQSI2YioxtSmZvRk6WQZvcoFmA+6pAvmOqSwaxZEtsEfHTjpFQZuPoBosljQ/qVcW5WmyFIxNjaUQki2Xk3OuJDLpr52RG0zjcPtVbQS1CYoyPSNuadBdto8XsAaSlrZrwMaQj8VPElZoM/pRaH3HqDA+Md4g4cP/zjFQD99qjxU7hh60Bf8lWDgjQ+3wyFsUatN058IP8nFmO2VVX9pYW1Weh6fxy3ezYiB5zq0ajANdqCbwMwvE1QteoWoZkRc29D3Ta2zs2r5uKS1Q== 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; bh=Uf7r+m3RGSrQga2h9Zrga9YtlFjdUqsvzXCnC2wdxgQ=; b=G18McZhRYDm3Z8l6I8BrauTQu0GiY8JKyYB3JpgSEkuRFB4Ib9BAypA5pmKQfA/zAWuuuLcVfoI3JgDc4Nf9C/wZJiSGLLLlE2toCB0tc1izaYBtDlX1t8YqChs8tWACZG/uGUHHGftUQqZTRm/otHWSXwac8nyRWM+JiOWtvj909PiVinOqjKTSj+KZnyhdws2S14Y/Xwjx68z4Zx3h27UMgXHmsF4Jv7vGoGwC4bDsKZ6neo1uTB4ge9sfglvtJUgFynGcRU6WOWk9q/NTepOzEh0kioNKdmMRSC0XhQq0+Mx7s5x1i4M0G01IUyy3tH1CsN62kflc2vavflwxDQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=xilinx.com; dmarc=pass action=none header.from=xilinx.com; dkim=pass header.d=xilinx.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Uf7r+m3RGSrQga2h9Zrga9YtlFjdUqsvzXCnC2wdxgQ=; b=aiLa65gkMBRig7uBJiuyPu0LPiBuKwZocnYrsOjqqot+e/gjkRP9C8p3LQLs61h//sVPqA8OQSnmgyBVrvJMSNyEQ1Q6gfOHOYOafhue86e/2FI8LNn4d+GiQfa6JOBzeZeigudnTX/O3IJXquGAUU3DqwwX4D6ZxrI5Ij6Ioig= Received: from BYAPR02MB4488.namprd02.prod.outlook.com (2603:10b6:a03:57::28) by BYAPR02MB3941.namprd02.prod.outlook.com (2603:10b6:a02:f8::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Wed, 15 Sep 2021 06:16:16 +0000 Received: from BYAPR02MB4488.namprd02.prod.outlook.com ([fe80::99ea:4428:526e:4a82]) by BYAPR02MB4488.namprd02.prod.outlook.com ([fe80::99ea:4428:526e:4a82%7]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 06:16:16 +0000 From: Ronak Jain To: Greg KH CC: Michal Simek , "linux-kernel@vger.kernel.org" , Rajan Vaja , "corbet@lwn.net" , "linux-arm-kernel@lists.infradead.org" , "arnd@arndb.de" , Sai Krishna Potthuri Subject: RE: [PATCH v2 3/3] firmware: xilinx: Add sysfs support for feature config Thread-Topic: [PATCH v2 3/3] firmware: xilinx: Add sysfs support for feature config Thread-Index: AQHXqHr2mimi3nx8iUKHSoOC4mnBQqujQsiAgAFdQYA= Date: Wed, 15 Sep 2021 06:16:16 +0000 Message-ID: References: <20210913083955.27146-1-ronak.jain@xilinx.com> <20210913083955.27146-4-ronak.jain@xilinx.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-TNEF-Correlator: authentication-results: linuxfoundation.org; dkim=none (message not signed) header.d=none;linuxfoundation.org; dmarc=none action=none header.from=xilinx.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 88e9d387-b0bd-46a1-5513-08d97810534b x-ms-traffictypediagnostic: BYAPR02MB3941: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2887; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jxFd4iRD8aEzISXWz4C1oiijhalrMCzWPL4mbfpLb6KwhSrB/TSOCzNbdoFoAdDeY1TSrobiCXwtf+ZmHhpUhKlwfRyEh2s8nCxcBNGRp0gyl2PShGykVf4tfKocklMt7XtZZvKo1hOdIqOoW1/4jhybaPkTfGty49otpJGIa+Lt5DCYsmuoJZDuhwmrt5WnIJF/AN6kcGk9WkscMP5bEAM/ZMp0JSsNqDSUwrNJQQr6FKY3MDkBAndCxZXni5fla6GOpfebtCU4CpLnA2QQy+7gZ/J6BpCiP+dOY1uVsJGqCxJZUT9Q9YRhGhLWpISCW9Ao3p0wflMqJLdLMiKzxf0VxDRK5M/ZKXt1bwJQtzBgi8gOFjwSlxkRoFciGW+ZTOjvVG4I6Ck5sCeG2hKDU58+8ztfuGtPdv7zG3Rhr26lN+AfcnkhCv+riyMeYGYED9exaULcGC8jscBfumLBlE9MD5tr7B1M/wdkzxkhtzmIr/5nKKZbk/zD9zlQSynthDeaFsHrSCbuP9cmgoj3aHJwj03g+r+ObG1OdOalCvxiah8uBgupHhAi41MCGWyKGcGo1qP3q6N7rGFFzOHRMLyEX7N7IcbmaTcB4MByaUEwwojWcwDPH/Bl/4HeOytTMA78b/4WsNfRzu8fdYBElmIkPsdURbWqIwevB2AeMOp1nSvt0eOYHYYOoPEPjf0in2L5JRVOf4KRk7kxAWzeAA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR02MB4488.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(26005)(4326008)(5660300002)(54906003)(8676002)(122000001)(38070700005)(508600001)(38100700002)(66556008)(83380400001)(76116006)(9686003)(6506007)(64756008)(6916009)(66446008)(55016002)(2906002)(71200400001)(186003)(66476007)(86362001)(33656002)(316002)(7696005)(107886003)(52536014)(66946007)(53546011)(8936002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?6sYZV9zWi7WtsegDp8NdysAgNzY2BnnvPRrsbY3Z0lBtfU0WfuvHkq9jo7K1?= =?us-ascii?Q?QzA/OT+UM7F4ddaNr6J4bkdPalN4llbRR+WeQB3OrwB5bVRWMd4jEEYufWnk?= =?us-ascii?Q?2Yae5EmLtaZIVHXx75dFwEADzNm1zGJ4lqGa+wnTDPI/lDZf4RBvq2RTgzAu?= =?us-ascii?Q?rsPp/whVB5vi6VzhO1g6mWDjGXYn6OhRvGFJMTcgbbEsCypcBtebhDCriyP1?= =?us-ascii?Q?n5Eq12WCjlWgEjk9w6sBp+1rjIsI0VmtAEoRg1dcv7mwGSy7i/oXCmETbaQ1?= =?us-ascii?Q?mt7syjgNnaU6xR39W+ER7LhlsaIe6X/EPhkEZIFRIdVJ3ln4E485gnV5oFqA?= =?us-ascii?Q?bRqL2O9pXD1cbk14xRjUBc/silOy174mHCksHgJepB89uQofTF9HLzpW3Pte?= =?us-ascii?Q?LPPTTCQphcqbiHVI6D480roc20zehdQ8g3fzvKXjzh5ytXmSd3Rs1g/L7mQN?= =?us-ascii?Q?GRx5xTXaalnWfZnxToZAkKJWLfz6ab1aHhpcDIIclCB59n5NBhgdsMD1SkZt?= =?us-ascii?Q?7zAcQBagCM0oUSTpblIKMD/sl1hZAjPKsnX9rFK8dMcuiPZ82GgTuRWPLRKS?= =?us-ascii?Q?uT+Py0sBH+RG7zJcRrXN2FWWGgZAfipi8DFk32tDFQpyKNwmnvUGAwAjpU7z?= =?us-ascii?Q?QW9JwRd8iNzWvDGwPzjZxT4/1rkk/QQHK/ORPQetCjs18qjNxQhdt8QoHLjY?= =?us-ascii?Q?+I8MMyGlnV+llf8w/3WmvyFv9hodWD9NcNABV+33FKZeFwe2Ezd1AVHxfoZc?= =?us-ascii?Q?JDpnXLcXZPTTyPJ9xa6x3u3UEPaQpvrUCknEhzGX22USe9EmqGgLQ2X6DTeP?= =?us-ascii?Q?KID0dKs3UW3wyDRxsLglYTj54u04IiuE/b+Bt0rdLnHwcTmkrYgUthIFe9BI?= =?us-ascii?Q?6XMee9+uKiiqdxAHxT8JiMNivN+GkbtgyFlqdjQjryfT+QxOzpragNIaYlPq?= =?us-ascii?Q?jmO3wHtXOcObZnYS4SwvTrQGkhBmj7dvBK1C6wv5eGjPIWd4R/hUn6mfQZTB?= =?us-ascii?Q?vD37cBIc0N4XHcwS36GN4xWFRquuAuJzXW0nA41IqmbIHpTg1OYw42IuT86z?= =?us-ascii?Q?rWNMr+FZ6Xpr6ouSigEsj713pJznO64sxOL8AfNr0wH/3ZNK0EbufNZ3/3oV?= =?us-ascii?Q?Newzc8+xZ0xgFmR47GZIt+k3prEjdJEYed/OQf+XKjmt/JvDPSvfRf38OwEa?= =?us-ascii?Q?+PYzgOPC1CFx9IYhOSiVIi3a+B8mBdL06X7lXlvSiMJkiPr1MmO8r7F71Yu6?= =?us-ascii?Q?xRRRRuy/EriAnVpenFjtZPBoiKMzJbGe/rBzMh2o70TezMzOhxGYtSUwNoRI?= =?us-ascii?Q?SIOBbmBkRnugug/0K8jGYMO0?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR02MB4488.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88e9d387-b0bd-46a1-5513-08d97810534b X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 06:16:16.0942 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8wjAzvZdwBZfyk1+Q3dXjHOrWCo0ZuRWzh+HlHXvtwwSakFyEgComCEQzI1Wyu8HR8SSR10s5tWXMjVct0vUFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB3941 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Greg KH, Thanks for reviewing. > -----Original Message----- > From: Greg KH > Sent: Tuesday, September 14, 2021 2:51 PM > To: Ronak Jain > Cc: Michal Simek ; linux-kernel@vger.kernel.org; Raja= n > Vaja ; corbet@lwn.net; linux-arm- > kernel@lists.infradead.org; arnd@arndb.de; Sai Krishna Potthuri > > Subject: Re: [PATCH v2 3/3] firmware: xilinx: Add sysfs support for featu= re > config >=20 > On Mon, Sep 13, 2021 at 01:39:55AM -0700, Ronak Jain wrote: > > Add support for sysfs interface for runtime features configuration. > > The user can configure the features at runtime. First the user need > > to select the config id of the supported features and then the user > > can configure the parameters of the feature based on the config id. > > So far the support is added for the over temperature and external > > watchdog features. > > > > Signed-off-by: Ronak Jain > > --- > > Changes in v2: > > - Update commit message > > --- > > drivers/firmware/xilinx/zynqmp.c | 71 > > ++++++++++++++++++++++++++++++++ > > 1 file changed, 71 insertions(+) > > > > diff --git a/drivers/firmware/xilinx/zynqmp.c > > b/drivers/firmware/xilinx/zynqmp.c > > index 875d13bc1a57..a1434dd368f2 100644 > > --- a/drivers/firmware/xilinx/zynqmp.c > > +++ b/drivers/firmware/xilinx/zynqmp.c > > @@ -1361,6 +1361,75 @@ static DEVICE_ATTR_RW(pggs1); static > > DEVICE_ATTR_RW(pggs2); static DEVICE_ATTR_RW(pggs3); > > > > +static atomic_t feature_conf_id; >=20 > Why does this have to be an atomic? Use atomic to avoid race conditions. Suppose the case where the user is try= ing to write the variable and at the same time it tries to read, so there m= ight be chances of occurrence of race condition. Also, I am not so sure whe= ther the race condition will occur or not but just to prevent race conditio= n I have used atomic variable so, the read/write operations can handle auto= matically. >=20 > And shouldn't this be per-device, not global to all devices in the system= ? This is to store the config-id set by the user which will be used to retrie= ve config. There is only one firmware device so we can consider it systemwi= de. Please let me know if you think of a better way of handling it. >=20 > > + > > +static ssize_t feature_config_id_show(struct device *device, > > + struct device_attribute *attr, > > + char *buf) > > +{ > > + return sysfs_emit(buf, "%d\n", atomic_read(&feature_conf_id)); } > > + > > +static ssize_t feature_config_id_store(struct device *device, > > + struct device_attribute *attr, > > + const char *buf, size_t count) { > > + u32 config_id; > > + int ret; > > + > > + if (!buf) > > + return -EINVAL; >=20 > How can there ever be a NULL buffer? >=20 > No need to check for impossible things. Will update in next version. Thanks, Ronak >=20 > thanks, >=20 > greg k-h