From patchwork Mon Feb 19 15:04:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 774236 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) (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 00A18383A6; Mon, 19 Feb 2024 15:06:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708355196; cv=none; b=mjQltGgd77T0FIrsWqtrBThDTm3gVNmXvelju2bh5/NrWMwpKsTul5UvbDVNrun0MpoXrQumz5ZNgu+ud1R+h0Sf4UUEEdkHIPQ32bT+r/TusRzZdSudvACQILKeVv8twmcrX2lNHOBIdmQiuDMNuFTZJD0+l8Otj5xuPqS5Pfg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708355196; c=relaxed/simple; bh=07e8tH5p33pOlIv3860uVekz8GN+sz+b+6ZdzYF0wWw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FOoJNTHPsGOA8slEidraBtOLMWK6ol/N/E8sFmBE4UCAZDyMsExsQAdr6bEK/e/nK3wBhsI19SxeiNGzzjzpDz8WQ06pAGYHUO1x2rYXPD7o91swZOdfU3dZhaLDdlXF5mc6LcpSSbfH2TesOeJt0Ljx75AKDAaWxlStaUFFUDU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=nvytw4WL; arc=none smtp.client-ip=198.175.65.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nvytw4WL" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708355195; x=1739891195; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=07e8tH5p33pOlIv3860uVekz8GN+sz+b+6ZdzYF0wWw=; b=nvytw4WL8gECXRr8O1YGPJrOu97xNLFHzPW7yxTQW5pObK8lgm1d7BXv /hWgyFmakgvrClNbVVUVrNJzcmDj9B0dXh2spCJIYvtdstgfVi4tGGjtm XXBSl8xzKphgA2er8+ltE8TG1ayopFYk0dLzAGFhS4gfgsKWgkC8Sg0x5 c4kPKWXuCfahNE1gg6BuZlsDhlOAiFc+B+p6WweyamRoHv52RMfq9H6bA QJqy/alrB9p/GFiPGnvwEGYpQOS3HVqtHptRmn9cffpj8PKdUe63/vSii b2RNkk3vVLYrxpqlt451sl7CaG8d8tf/2Ig2TJ0MTDBLeM3fIDb/YRPTI Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10989"; a="2543775" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="2543775" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Feb 2024 07:06:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10989"; a="936302990" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="936302990" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 19 Feb 2024 07:06:30 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id EA87A3E5; Mon, 19 Feb 2024 17:06:28 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org Cc: Jiri Slaby Subject: [PATCH v2 2/7] serial: 8250_exar: Use dev_get_drvdata() directly in PM callbacks Date: Mon, 19 Feb 2024 17:04:58 +0200 Message-ID: <20240219150627.2101198-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240219150627.2101198-1-andriy.shevchenko@linux.intel.com> References: <20240219150627.2101198-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 PM callbacks take struct device pointer as a parameter, use dev_get_drvdata() to retrieve it instead of unneeded double loop of referencing via pci_get_drvdata(to_pci_dev(dev)). Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_exar.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c index 6580265e1763..28478b9c537b 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -748,8 +748,7 @@ static void exar_pci_remove(struct pci_dev *pcidev) static int __maybe_unused exar_suspend(struct device *dev) { - struct pci_dev *pcidev = to_pci_dev(dev); - struct exar8250 *priv = pci_get_drvdata(pcidev); + struct exar8250 *priv = dev_get_drvdata(dev); unsigned int i; for (i = 0; i < priv->nr; i++) From patchwork Mon Feb 19 15:05:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 774234 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) (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 675343A8FB; Mon, 19 Feb 2024 15:06:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708355200; cv=none; b=MxFdzfZd/7hMYgWWP+YVc2QC7SWZ7NLZRdCy+j2jp0drlgLu5BjAVoJ4cWaX4W2MHZzKiml/zwDncLy3pY7mBf9NwlBjHK/jbSH0cMZWywvRa61B9GP+ffINx5DFYsM9S1DtThhdXtc+X7cJ0EPzdIZhPC0Bb2LB6NGi3poArJg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708355200; c=relaxed/simple; bh=z+Ws30rfAliHI0b46QssEAM2g90mM8I8G/D4OgscpxM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z8BxXs9qt8O2Z2XJRBoRPkPXT9ogKWLsf0brkXtZiNiWP/2vsQ7+cBe1WUd9Ec012exT4JLS8HQOZg0NlnF0Tx+Ubja6eB2Ov6y7hdCGMKXZod6/qQPTejz9D4K398o6ubplp6V2CLWgum3srgAUzbVOvqwtGHIkDOrWJ88AT9o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WE/GeHz/; arc=none smtp.client-ip=198.175.65.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WE/GeHz/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708355198; x=1739891198; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=z+Ws30rfAliHI0b46QssEAM2g90mM8I8G/D4OgscpxM=; b=WE/GeHz/V/u0/+UoSyfjEerK74UNtM5leEoYjsOOCSEQ74eMr68titx+ dTY+h8SAhUzk/h44QlwsFvDWJ8YgTNJXOxe13BQb6zJWf1gclowvtLMC/ FbNB6QQ7fFwedbfRYByriSMj7YY3dahhBRltui4W4kiB2lbhVRZKTz1II XRIobB1OpfCL79aiDWSmANuAMb0xI2TAe66qL8GYG1LC+sHN+XP/d6Fkv uR4TFexIT+Lwl9KsSVP4lshH6063ChkFnAUyeAMg9Di7Z3RPxDsn/6ezc fqtgBPxuC7GX/dpIJ9oMlBh+yJbwXN/y90qaOrq+VjAtToeanjUVcQlL4 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10989"; a="2543809" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="2543809" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Feb 2024 07:06:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10989"; a="936302995" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="936302995" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 19 Feb 2024 07:06:32 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2130445B; Mon, 19 Feb 2024 17:06:29 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org Cc: Jiri Slaby Subject: [PATCH v2 5/7] serial: 8250_exar: switch to DEFINE_SIMPLE_DEV_PM_OPS() Date: Mon, 19 Feb 2024 17:05:01 +0200 Message-ID: <20240219150627.2101198-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240219150627.2101198-1-andriy.shevchenko@linux.intel.com> References: <20240219150627.2101198-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 SIMPLE_DEV_PM_OPS() is deprecated, replace it with DEFINE_SIMPLE_DEV_PM_OPS() and use pm_sleep_ptr() for setting the driver's PM routines. We can now remove the __maybe_unused qualifier in the suspend and resume functions. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_exar.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c index 2a0c1f7e87f5..53c5ff49e83c 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -746,7 +747,7 @@ static void exar_pci_remove(struct pci_dev *pcidev) priv->board->exit(pcidev); } -static int __maybe_unused exar_suspend(struct device *dev) +static int exar_suspend(struct device *dev) { struct exar8250 *priv = dev_get_drvdata(dev); unsigned int i; @@ -758,7 +759,7 @@ static int __maybe_unused exar_suspend(struct device *dev) return 0; } -static int __maybe_unused exar_resume(struct device *dev) +static int exar_resume(struct device *dev) { struct exar8250 *priv = dev_get_drvdata(dev); unsigned int i; @@ -772,7 +773,7 @@ static int __maybe_unused exar_resume(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(exar_pci_pm, exar_suspend, exar_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(exar_pci_pm, exar_suspend, exar_resume); static const struct exar8250_board pbn_fastcom335_2 = { .num_ports = 2, @@ -922,7 +923,7 @@ static struct pci_driver exar_pci_driver = { .probe = exar_pci_probe, .remove = exar_pci_remove, .driver = { - .pm = &exar_pci_pm, + .pm = pm_sleep_ptr(&exar_pci_pm), }, .id_table = exar_pci_tbl, }; From patchwork Mon Feb 19 15:05:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 774235 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) (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 09BE439AEB; Mon, 19 Feb 2024 15:06:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708355198; cv=none; b=eGSwEG/9zOigdwygqg2gXv3SQBLHebPTnhpuui33PIW1ZCG1JFPAVGeSMvKydvc7f/SMvh6EIs0jgUAMCoTgjAjlscf5LJFHFYmmAz4vHHoLAMElMj4eGq4d/3ysnVau+Ta+rfKMuhiI1d31PopOh3vzK98gbjew4AUjChOaguU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708355198; c=relaxed/simple; bh=XhwsDorFFCDFsHo4F14gBApk9LhtQz1RvNmzKOWEAn8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lBBV+riIx1NOz/4VlvY0lk1aA+upB8KtwEb+s3cUUYnukJeaRrh2PL8cM3880kshlQ9fNfViYKcdchfOI6NLleeh4tO4ixBJ6xjk5mZQllhIx8V3KDr1PTFCvQUNLI4RuBjsT3a9w/W4qfXdQdt1h3dByUNKrV25l2AVKKMp1Z4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=VBFgojoN; arc=none smtp.client-ip=198.175.65.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="VBFgojoN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708355197; x=1739891197; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=XhwsDorFFCDFsHo4F14gBApk9LhtQz1RvNmzKOWEAn8=; b=VBFgojoNeCZtFyl9GsHBi9ZivZcGZbUDzFwwaPHc1S8x+5qHisxxeMLb FV+I94GHi/hQUphR/DvYJY1mwhRClIzvZoay8EfSiBhOZ4iNV7GFW6Rk5 tRgzCBztj2rDDXx6KAqKa+n2isj+JmGJvQVgPJGopeofz67vSKBnD8AWh qS313h+9AzBrQaLwxrsE89h7Lm01zTrPNkl6qW71p8E8wnOMJnLgIEZNZ HYp6D4NgZr8N9p4INkfDe6SLx3T7jJGVhg0qly5xCRHNiIwwip9YbbRMU yXiYTEq09uDZPO9JpobqS4XV64EQg3m/aJGcg3bUGRbwcLgGYR7s1cs5z g==; X-IronPort-AV: E=McAfee;i="6600,9927,10989"; a="2543791" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="2543791" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Feb 2024 07:06:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10989"; a="936302994" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="936302994" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 19 Feb 2024 07:06:32 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2A45E456; Mon, 19 Feb 2024 17:06:29 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org Cc: Jiri Slaby Subject: [PATCH v2 6/7] serial: 8250_exar: Use 8250 PCI library to map and assign resources Date: Mon, 19 Feb 2024 17:05:02 +0200 Message-ID: <20240219150627.2101198-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240219150627.2101198-1-andriy.shevchenko@linux.intel.com> References: <20240219150627.2101198-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 8250 PCI library provides a common code to map and assign resources. Use it in order to deduplicate existing code and support IO port variants. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_exar.c | 11 ++++++----- drivers/tty/serial/8250/Kconfig | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c index 53c5ff49e83c..cf1abe2fc28a 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -24,6 +24,7 @@ #include #include "8250.h" +#include "8250_pcilib.h" #define PCI_DEVICE_ID_ACCESSIO_COM_2S 0x1052 #define PCI_DEVICE_ID_ACCESSIO_COM_4S 0x105d @@ -219,13 +220,12 @@ static int default_setup(struct exar8250 *priv, struct pci_dev *pcidev, struct uart_8250_port *port) { const struct exar8250_board *board = priv->board; - unsigned int bar = 0; unsigned char status; + int err; - port->port.iotype = UPIO_MEM; - port->port.mapbase = pci_resource_start(pcidev, bar) + offset; - port->port.membase = priv->virt + offset; - port->port.regshift = board->reg_shift; + err = serial8250_pci_setup_port(pcidev, port, 0, offset, board->reg_shift); + if (err) + return err; /* * XR17V35x UARTs have an extra divisor register, DLD that gets enabled @@ -929,6 +929,7 @@ static struct pci_driver exar_pci_driver = { }; module_pci_driver(exar_pci_driver); +MODULE_IMPORT_NS(SERIAL_8250_PCI); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Exar Serial Driver"); MODULE_AUTHOR("Sudip Mukherjee "); diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig index 8b9a2c4902e2..47ff50763c04 100644 --- a/drivers/tty/serial/8250/Kconfig +++ b/drivers/tty/serial/8250/Kconfig @@ -149,6 +149,7 @@ config SERIAL_8250_PCI config SERIAL_8250_EXAR tristate "8250/16550 Exar/Commtech PCI/PCIe device support" depends on SERIAL_8250 && PCI + select SERIAL_8250_PCILIB default SERIAL_8250 help This builds support for XR17C1xx, XR17V3xx and some Commtech