From nobody Sun Feb 8 07:18:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D76AE5220; Mon, 19 Feb 2024 03:38:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313938; cv=none; b=F/liB8MPTv0RXupzGjg+Dl5JYbk6H5zONtQZI3IgjBmaDvi2Tb6x2lAZkRzQkEkuK5paSRtBhgsJ2mXb3mY+NRmEqw4Zgbbvzu0ALImd7UNkSSGjrHQfIEV+NOVLoSlkLL4tLvDcvkIICpVf9BeEQk/Rrd4lQoIyjhOpQGqhTZ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313938; c=relaxed/simple; bh=IdENPDV8Ed3IxJBmvwAplc7Nj3XPC3wlnxCHbUH17Uk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PwAzeW0fZOIRxWDnaD23jqQtqBKc44TOUqqvlVtSbnb/2sYqFs1ycrCIJgFRgw7O+iSGeF22GbOzltDNfJ+pHKyrsXtBJGY5dCLbWzqjgidYez6MDgSr9IlPrmWshbt/wg3C8zNSXFj3Z0pfAUvfLu11R91ESx2mWIoN9quqUWs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=none smtp.mailfrom=ecsmtp.iind.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lMaEw+r/; arc=none smtp.client-ip=198.175.65.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ecsmtp.iind.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lMaEw+r/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708313937; x=1739849937; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IdENPDV8Ed3IxJBmvwAplc7Nj3XPC3wlnxCHbUH17Uk=; b=lMaEw+r/6C//tX4SV90OZr8PniIh3H2iwSAnKOZ1XxGFklTKkJp3Cv/T OAT2GiFcqImTEH1WINsyGSyjLolNXtvnijq+vnKUiyJyt4CiLgt7QwUmy kzz2ZGpcOq8Jt5u37NXnfU+2DaM1pPWS/gxTv+Q0dUejKBqrZZMXhPs6d FkkwCIHBCdzNs1WHq36s08/BiZAaGm0aFokydKrY4Aqx7BVbYTPAaGVJ4 K9YiLPelYkuJf8jXXY4JE0EpiaWA3KOXwcSCpVF+tbNXv2LLxDQQCFfps GLiAIi2MRtiBQwujHpAyb7U4sduXcXsR1Wrka0nUFlZjmIj9di9EdUOH1 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10988"; a="24838167" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="24838167" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2024 19:38:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="4281849" Received: from inesxmail01.iind.intel.com ([10.223.57.40]) by fmviesa007.fm.intel.com with ESMTP; 18 Feb 2024 19:38:47 -0800 Received: from inlubt0316.iind.intel.com (inlubt0316.iind.intel.com [10.191.20.213]) by inesxmail01.iind.intel.com (Postfix) with ESMTP id C557071913; Mon, 19 Feb 2024 09:08:45 +0530 (IST) Received: by inlubt0316.iind.intel.com (Postfix, from userid 12101951) id C2BE11600101; Mon, 19 Feb 2024 09:08:45 +0530 (IST) From: Raag Jadav To: u.kleine-koenig@pengutronix.de, jarkko.nikula@linux.intel.com, mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, lakshmi.sowjanya.d@intel.com Cc: linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org, Raag Jadav Subject: [PATCH v4 1/4] pwm: dwc: Fix PM regression Date: Mon, 19 Feb 2024 09:08:32 +0530 Message-Id: <20240219033835.11369-2-raag.jadav@intel.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20240219033835.11369-1-raag.jadav@intel.com> References: <20240219033835.11369-1-raag.jadav@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" While preparing dwc driver for devm_pwmchip_alloc() usage, commit df41cd8bbcad ("pwm: dwc: Prepare removing pwm_chip from driver data") modified ->suspend() handle to use the pwm_chip as driver_data for accessing struct dwc_pwm, but didn't modify ->resume() handle with relevant changes. This results into illegal memory access during device wakeup and causes a PM regression. Fix this by correctly accessing struct dwc_pwm in ->resume() handle. Fixes: df41cd8bbcad ("pwm: dwc: Prepare removing pwm_chip from driver data") Signed-off-by: Raag Jadav --- drivers/pwm/pwm-dwc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/pwm/pwm-dwc.c b/drivers/pwm/pwm-dwc.c index 8ca1c20a6aaf..c0e586688e57 100644 --- a/drivers/pwm/pwm-dwc.c +++ b/drivers/pwm/pwm-dwc.c @@ -95,7 +95,8 @@ static int dwc_pwm_suspend(struct device *dev) =20 static int dwc_pwm_resume(struct device *dev) { - struct dwc_pwm *dwc =3D dev_get_drvdata(dev); + struct pwm_chip *chip =3D dev_get_drvdata(dev); + struct dwc_pwm *dwc =3D to_dwc_pwm(chip); int i; =20 for (i =3D 0; i < DWC_TIMERS_TOTAL; i++) { --=20 2.35.3 From nobody Sun Feb 8 07:18:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E0D84C75; Mon, 19 Feb 2024 03:38:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313936; cv=none; b=Hz1rC99ZdrVvZmyyP/aNQF74erhbiHF08+CHJWHkbzVQZx99rSy8XLlo3c/E3sk60qHBg8QFGLSV/2pkMRBHg1zjiAItwKWzOFSYvHoJlR+gAHcVuI3rJQSLGlURBuN9a0kpY0Ec3iRnM/Hyffgdo5/Y4S5R8Se/dA1i1jQPD3k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313936; c=relaxed/simple; bh=RIlqr5IIc2NcV+R4QbrZ4SeTtXAfOYhjo+jbzFUSD3o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Et7QhdS9ubzWRqfEwynEeTRtQJFmRhc60h+RsJB7i8rD+In9YuAtPz9pTac2xxR2PzqwCJSWAsfOu/M8G8KzKFirRJC4/vm34LM0dNKM2+IQ8sVNEjL2S9ktl1VpGF+xsuvmDZo5fFJOJqMhT1om1pfD/HQq+W6jhLLkz9xpmb8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=none smtp.mailfrom=ecsmtp.iind.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=aKzljqlJ; arc=none smtp.client-ip=198.175.65.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ecsmtp.iind.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="aKzljqlJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708313935; x=1739849935; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RIlqr5IIc2NcV+R4QbrZ4SeTtXAfOYhjo+jbzFUSD3o=; b=aKzljqlJeRDBAEmSHE/MnO6HUXmaKvMbpuC128fAQhQaRYP8iEC5iAGv xFSDZ8z9b8eUPthtuvqst7kBtFN5TfnOS8KJEMRHrOWM+27DFlUhQWzVm xhwzLrRO3VvkTkz4t760RAX79lDd+VKehDUVLM+yFjRlT8igSYikjVCrA 0dM7ffQP0+vG+m90gmpGQDASKhVzcFC/NqeSKYB8GpaBMpK6IVCfSpIox AhJ6wB2mrmT3fI9KTZfP/AM6bKfNWrh6oFBlXPSM2yMGbGvGxiQ0rG80w SoSmzTgwjo29rSoXKO3CSXwVifC1lpkwnfOoqJLLj61JmgvhbhlrlEr9p Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10988"; a="24838171" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="24838171" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2024 19:38:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="4281846" Received: from inesxmail01.iind.intel.com ([10.223.57.40]) by fmviesa007.fm.intel.com with ESMTP; 18 Feb 2024 19:38:47 -0800 Received: from inlubt0316.iind.intel.com (inlubt0316.iind.intel.com [10.191.20.213]) by inesxmail01.iind.intel.com (Postfix) with ESMTP id C76AA72ADC; Mon, 19 Feb 2024 09:08:45 +0530 (IST) Received: by inlubt0316.iind.intel.com (Postfix, from userid 12101951) id C30251600102; Mon, 19 Feb 2024 09:08:45 +0530 (IST) From: Raag Jadav To: u.kleine-koenig@pengutronix.de, jarkko.nikula@linux.intel.com, mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, lakshmi.sowjanya.d@intel.com Cc: linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org, Raag Jadav Subject: [PATCH v4 2/4] pwm: dwc: drop redundant error check Date: Mon, 19 Feb 2024 09:08:33 +0530 Message-Id: <20240219033835.11369-3-raag.jadav@intel.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20240219033835.11369-1-raag.jadav@intel.com> References: <20240219033835.11369-1-raag.jadav@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" pcim_iomap_table() fails only if pcim_iomap_regions() fails. No need to check for failure if the latter is already successful. Suggested-by: Andy Shevchenko Signed-off-by: Raag Jadav Tested-by: Jarkko Nikula --- drivers/pwm/pwm-dwc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/pwm/pwm-dwc.c b/drivers/pwm/pwm-dwc.c index c0e586688e57..7dbb72c80ef5 100644 --- a/drivers/pwm/pwm-dwc.c +++ b/drivers/pwm/pwm-dwc.c @@ -51,11 +51,8 @@ static int dwc_pwm_probe(struct pci_dev *pci, const stru= ct pci_device_id *id) return ret; } =20 + /* No need to check for failure, pcim_iomap_regions() does it for us. */ dwc->base =3D pcim_iomap_table(pci)[0]; - if (!dwc->base) { - dev_err(dev, "Base address missing\n"); - return -ENOMEM; - } =20 ret =3D devm_pwmchip_add(dev, chip); if (ret) --=20 2.35.3 From nobody Sun Feb 8 07:18:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 592065394; Mon, 19 Feb 2024 03:38:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313939; cv=none; b=SrkWssxSARvYbr1kp923z+X4HxfmVBlxpWAkU/mo/LWNwlNWz4sSSWpfK2yvaz/vQLFQ1gLnrgmnp/pv3VDpBM1j2qbSMfpXK8z7A2w/C9pj/IjjIVhZSvoWgmuFbGgTXGMd66Aeb7rocRgtzs9fSsEGd1Dqqa79tfzcoVpKgK0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313939; c=relaxed/simple; bh=3SA399l3wQi0zEkfAPZlEB2CaZPgZiYLUGDzOWweojA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lzGEEGecuf3mCVeDxBuawBLYQss/n5bIUzKHYKAcAY4uHLitGR5GUS1728GzL5qoTGzRN7etYiM9USA1QdP7x4rTyDoIWcZW2toSKgOXA9ZSX/6TYmlNzruCzH8FWUjIkRXnliudUFgeg8Nqc6ePLNGust8gHkUjLLaFzlPQULg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=none smtp.mailfrom=ecsmtp.iind.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=HcATlxWC; arc=none smtp.client-ip=198.175.65.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ecsmtp.iind.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="HcATlxWC" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708313938; x=1739849938; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3SA399l3wQi0zEkfAPZlEB2CaZPgZiYLUGDzOWweojA=; b=HcATlxWCYcLFsVDNLKZdcVNGRFEDaEwPb2xUOt5cnQxRAFUMKYwU++cE QxUmJqM0Fk9MSzeWxr+jOed9N8Jb+TIhbGcuzETb96RGeCz58MthvyVgS JoaSqZ9TzzWpy8sRfeVZm3D63tzctldLni7dzg7OuDWxtEdzldsFOVxyP mX/e/bXtHq3lThmGjDtQlKLZJcHbSu8B9umgM17cU13jdt0Ki96lrsdl5 lWRvlGY+R+SuUbAh72dfDZnJATXFQuGHKPSxZsnH3Y2vb0spB/PlMAbS6 raN6Mf8Lzqfkpl69PjGGlMRPtPQaIdFBDi0QK01+kEmAL/riLdM0d8VNy A==; X-IronPort-AV: E=McAfee;i="6600,9927,10988"; a="24838177" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="24838177" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2024 19:38:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="4281841" Received: from inesxmail01.iind.intel.com ([10.223.57.40]) by fmviesa007.fm.intel.com with ESMTP; 18 Feb 2024 19:38:47 -0800 Received: from inlubt0316.iind.intel.com (inlubt0316.iind.intel.com [10.191.20.213]) by inesxmail01.iind.intel.com (Postfix) with ESMTP id C771672DD8; Mon, 19 Feb 2024 09:08:45 +0530 (IST) Received: by inlubt0316.iind.intel.com (Postfix, from userid 12101951) id C34251600103; Mon, 19 Feb 2024 09:08:45 +0530 (IST) From: Raag Jadav To: u.kleine-koenig@pengutronix.de, jarkko.nikula@linux.intel.com, mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, lakshmi.sowjanya.d@intel.com Cc: linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org, Raag Jadav Subject: [PATCH v4 3/4] pwm: dwc: Add 16 channel support for Intel Elkhart Lake Date: Mon, 19 Feb 2024 09:08:34 +0530 Message-Id: <20240219033835.11369-4-raag.jadav@intel.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20240219033835.11369-1-raag.jadav@intel.com> References: <20240219033835.11369-1-raag.jadav@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Intel Elkhart Lake PSE includes two instances of PWM as a single PCI function with 8 channels each. Add support for the remaining channels. Signed-off-by: Raag Jadav Tested-by: Jarkko Nikula Tested-by: Lakshmi Sowjanya D --- drivers/pwm/pwm-dwc.c | 38 +++++++++++++++++++++++++++++--------- drivers/pwm/pwm-dwc.h | 5 +++++ 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/drivers/pwm/pwm-dwc.c b/drivers/pwm/pwm-dwc.c index 7dbb72c80ef5..de95352081fa 100644 --- a/drivers/pwm/pwm-dwc.c +++ b/drivers/pwm/pwm-dwc.c @@ -25,17 +25,32 @@ =20 #include "pwm-dwc.h" =20 -static int dwc_pwm_probe(struct pci_dev *pci, const struct pci_device_id *= id) +/* Elkhart Lake */ +static const struct dwc_pwm_info ehl_pwm_info =3D { + .nr =3D 2, + .size =3D 0x1000, +}; + +static int dwc_pwm_init_one(struct device *dev, void __iomem *base, unsign= ed int offset) { - struct device *dev =3D &pci->dev; struct pwm_chip *chip; struct dwc_pwm *dwc; - int ret; =20 chip =3D dwc_pwm_alloc(dev); if (IS_ERR(chip)) return PTR_ERR(chip); + dwc =3D to_dwc_pwm(chip); + dwc->base =3D base + offset; + + return devm_pwmchip_add(dev, chip); +} + +static int dwc_pwm_probe(struct pci_dev *pci, const struct pci_device_id *= id) +{ + const struct dwc_pwm_info *info; + struct device *dev =3D &pci->dev; + int i, ret; =20 ret =3D pcim_enable_device(pci); if (ret) { @@ -51,12 +66,17 @@ static int dwc_pwm_probe(struct pci_dev *pci, const str= uct pci_device_id *id) return ret; } =20 - /* No need to check for failure, pcim_iomap_regions() does it for us. */ - dwc->base =3D pcim_iomap_table(pci)[0]; + info =3D (const struct dwc_pwm_info *)id->driver_data; =20 - ret =3D devm_pwmchip_add(dev, chip); - if (ret) - return ret; + for (i =3D 0; i < info->nr; i++) { + /* + * No need to check for pcim_iomap_table() failure, + * pcim_iomap_regions() already does it for us. + */ + ret =3D dwc_pwm_init_one(dev, pcim_iomap_table(pci)[0], i * info->size); + if (ret) + return ret; + } =20 pm_runtime_put(dev); pm_runtime_allow(dev); @@ -108,7 +128,7 @@ static int dwc_pwm_resume(struct device *dev) static DEFINE_SIMPLE_DEV_PM_OPS(dwc_pwm_pm_ops, dwc_pwm_suspend, dwc_pwm_r= esume); =20 static const struct pci_device_id dwc_pwm_id_table[] =3D { - { PCI_VDEVICE(INTEL, 0x4bb7) }, /* Elkhart Lake */ + { PCI_VDEVICE(INTEL, 0x4bb7), (kernel_ulong_t)&ehl_pwm_info }, { } /* Terminating Entry */ }; MODULE_DEVICE_TABLE(pci, dwc_pwm_id_table); diff --git a/drivers/pwm/pwm-dwc.h b/drivers/pwm/pwm-dwc.h index 5887371803fd..a8b074841ae8 100644 --- a/drivers/pwm/pwm-dwc.h +++ b/drivers/pwm/pwm-dwc.h @@ -33,6 +33,11 @@ MODULE_IMPORT_NS(dwc_pwm); #define DWC_TIM_CTRL_INT_MASK BIT(2) #define DWC_TIM_CTRL_PWM BIT(3) =20 +struct dwc_pwm_info { + unsigned int nr; + unsigned int size; +}; + struct dwc_pwm_ctx { u32 cnt; u32 cnt2; --=20 2.35.3 From nobody Sun Feb 8 07:18:31 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8DE5567A; Mon, 19 Feb 2024 03:38:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313940; cv=none; b=se9K3nmXuTr3rlmSNrwz6YgLKNEzSpvwPGjzDL25fX0HqVEkFxx9meINx9L9MQIHJLsjOAyz2/f74gqwtGbwHse7/imLKXkjFEqlNJtVGFIlg2YUHVJRo9Rz866ZM8pCmGradVBZfDVgOz/37TyavuNgUTfjs2m2Ze1DoQkoqKo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708313940; c=relaxed/simple; bh=KW3Rg0hKJSlekLEkpQDUS0ofXFzF55PYH45WySuASc8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=t/XONEwqP9oQm6qkSxAuS2cdwpY1ihLjkHSGWz/kZYujjTeqz7CRVetPGw7XrJvakzF0xPulA1fxpzVIKtH297pzOL3NL9JrpCLYxVnoOy9wUbDDC2pOiuWR0NFXYzffdgV0x9/WTiVrBNNKgn4H4tcWy9krs4CcvzME7CYLAkI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=none smtp.mailfrom=ecsmtp.iind.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=TNi0CWEk; arc=none smtp.client-ip=198.175.65.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ecsmtp.iind.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="TNi0CWEk" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708313939; x=1739849939; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KW3Rg0hKJSlekLEkpQDUS0ofXFzF55PYH45WySuASc8=; b=TNi0CWEk6xm+S+41ucxbmeNGFts0WZK62fFQ6RrlppT2/xV4saVm9LPP BTm+By3Iv0qMqy2R2Uti99j7pJ3x1mWAmJA2IdmdodeklGlmiU/GxWE/0 PeF5Gpe9xSMCEisD9yN3CtENJrFLEfa1/K1OZcZzkHKERdKh5tQlBbcZi Zwnbzh/fb28GC3k4g9dICI+yP68AR9icc92vvsgyl7pIstzFYuP/dG4S1 DjGLzZWy7jkJRn1ZX53zrpX3oosywpG864yr76sqrd8i47E9UFoO3iIRx EEwmnMfyWQgyHiZpso++oV38SnetccTV/1qiRo10Fso8+Naj7hOoIM8VX Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10988"; a="24838178" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="24838178" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2024 19:38:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="4281850" Received: from inesxmail01.iind.intel.com ([10.223.57.40]) by fmviesa007.fm.intel.com with ESMTP; 18 Feb 2024 19:38:47 -0800 Received: from inlubt0316.iind.intel.com (inlubt0316.iind.intel.com [10.191.20.213]) by inesxmail01.iind.intel.com (Postfix) with ESMTP id C89BF72DF7; Mon, 19 Feb 2024 09:08:45 +0530 (IST) Received: by inlubt0316.iind.intel.com (Postfix, from userid 12101951) id C387A1600104; Mon, 19 Feb 2024 09:08:45 +0530 (IST) From: Raag Jadav To: u.kleine-koenig@pengutronix.de, jarkko.nikula@linux.intel.com, mika.westerberg@linux.intel.com, andriy.shevchenko@linux.intel.com, lakshmi.sowjanya.d@intel.com Cc: linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org, Raag Jadav Subject: [PATCH v4 4/4] pwm: dwc: simplify error handling Date: Mon, 19 Feb 2024 09:08:35 +0530 Message-Id: <20240219033835.11369-5-raag.jadav@intel.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20240219033835.11369-1-raag.jadav@intel.com> References: <20240219033835.11369-1-raag.jadav@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Simplify error handling in ->probe() function using dev_err_probe() helper and while at it, drop error codes from the message to prevent duplication. Signed-off-by: Raag Jadav Tested-by: Jarkko Nikula --- drivers/pwm/pwm-dwc.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/pwm/pwm-dwc.c b/drivers/pwm/pwm-dwc.c index de95352081fa..676eaf8d7a53 100644 --- a/drivers/pwm/pwm-dwc.c +++ b/drivers/pwm/pwm-dwc.c @@ -53,18 +53,14 @@ static int dwc_pwm_probe(struct pci_dev *pci, const str= uct pci_device_id *id) int i, ret; =20 ret =3D pcim_enable_device(pci); - if (ret) { - dev_err(dev, "Failed to enable device (%pe)\n", ERR_PTR(ret)); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Failed to enable device\n"); =20 pci_set_master(pci); =20 ret =3D pcim_iomap_regions(pci, BIT(0), pci_name(pci)); - if (ret) { - dev_err(dev, "Failed to iomap PCI BAR (%pe)\n", ERR_PTR(ret)); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Failed to iomap PCI BAR\n"); =20 info =3D (const struct dwc_pwm_info *)id->driver_data; =20 --=20 2.35.3