From patchwork Fri May 17 19:47:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13667354 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 38C86C25B78 for ; Fri, 17 May 2024 19:54:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ZU6xW3QinwNBme7/voWMCbv+9Z0tEDEJdBB5CaI4EjQ=; b=kOAK+v6LwMYcAh khcY3MJ1SXENgO72SNE9Ze/Sbs6iNQ5sHMN2+w+zpWM6roN6OL80MxtmzTXS7nmiT+QvVBb/fu16m aAwVIJMMt6KjUvIyDGedwf2XwgyZ/pc5dpPOQ9mGKPe28vxx5cc8e6qIY00QgNmviFknxNXNB0uTC BlWzs2LusYUAnWDTMXV7tBUfR9Q5dziy9dy98N314TeoES5SLzDrLz6CGIFhoH0UNWr/S0Yq8cdg+ oCUUbHX5k4Wrusyxif8CInM0kCTkksKHr/0q7J4EAxm0E7EI8HuIWCibCapSS3D8RL7yNqr81LMtL yUzYBJ6vJIupqkPYdybQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s83eV-00000008ryn-3ICm; Fri, 17 May 2024 19:54:03 +0000 Received: from mgamail.intel.com ([198.175.65.18]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s83eN-00000008rrK-3K4O for linux-arm-kernel@lists.infradead.org; Fri, 17 May 2024 19:53:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715975636; x=1747511636; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jyYGQlzaUy8BwNeOWGIhenb9cBWqNz5Bb5cNI/enzAQ=; b=JDWaYD7PaV4OsYKCuRne9VqR12P5rr52R7VKMhrgQgsXSYtI+RIV6OGq 9Q5+0IaaBtbTqk3V/U0hBBCz9QRBl5KURYcK57liIbPU5UCP9soFTaLWn QOVTiv34TpF9eooIecMkP9XVIkO8d1zRyN7+kytss6VLhP9+G7+L44+vs s97SzjorLujFc2vee9tH0Y6hhWMkWoBInzG8ui+bbzR/Z9TBBjBJFiUHR dhYgbjv2qitGcYvPP+Ay0V5QjvzeC6fGCMDHrMZZg0n85NdiKjVijYnDR dlpfNQlSOh7g37RH+l2jPHUnn7Yfuac4RnFqzw/bJRWNP+v20WQ6Wkdbt w==; X-CSE-ConnectionGUID: KfZ7T1KUTu2ksc/jZ/ZJZA== X-CSE-MsgGUID: mG53RPMkRpiKkBoqYzFGXQ== X-IronPort-AV: E=McAfee;i="6600,9927,11075"; a="12348647" X-IronPort-AV: E=Sophos;i="6.08,168,1712646000"; d="scan'208";a="12348647" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2024 12:53:49 -0700 X-CSE-ConnectionGUID: a2vzALrrSBuLGdm6o6BN0Q== X-CSE-MsgGUID: fu+sBTnTR22Wj8TvwYEG/A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,168,1712646000"; d="scan'208";a="31915005" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa006.fm.intel.com with ESMTP; 17 May 2024 12:53:46 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 1FC47118; Fri, 17 May 2024 22:53:45 +0300 (EEST) From: Andy Shevchenko To: Mark Brown , Andy Shevchenko , Linus Walleij , linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Daniel Mack , Haojian Zhuang , Robert Jarzmik Subject: [PATCH v1 01/10] spi: pxa2xx: Reorganize the SSP type retrieval Date: Fri, 17 May 2024 22:47:35 +0300 Message-ID: <20240517195344.813032-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20240517195344.813032-1-andriy.shevchenko@linux.intel.com> References: <20240517195344.813032-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240517_125355_892434_F8F12DBC X-CRM114-Status: GOOD ( 13.38 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The old Intel platforms, such as Intel Braswell, also provide the property of SSP type. Reorganize the pxa2xx_spi_init_pdata() to take that into account. Signed-off-by: Andy Shevchenko --- drivers/spi/spi-pxa2xx.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c index efe76d0c21bb..877fb6d01cd1 100644 --- a/drivers/spi/spi-pxa2xx.c +++ b/drivers/spi/spi-pxa2xx.c @@ -1310,19 +1310,20 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev) struct pxa2xx_spi_controller *pdata; struct device *dev = &pdev->dev; struct device *parent = dev->parent; + const void *match = device_get_match_data(dev); enum pxa_ssp_type type = SSP_UNDEFINED; struct ssp_device *ssp = NULL; - const void *match; bool is_lpss_priv; u32 num_cs = 1; int status; - is_lpss_priv = platform_get_resource_byname(pdev, IORESOURCE_MEM, "lpss_priv"); - - match = device_get_match_data(dev); - if (match) - type = (uintptr_t)match; - else if (is_lpss_priv) { + ssp = pxa_ssp_request(pdev->id, pdev->name); + if (ssp) { + type = ssp->type; + pxa_ssp_free(ssp); + } else if (match) { + type = (enum pxa_ssp_type)(uintptr_t)match; + } else { u32 value; status = device_property_read_u32(dev, "intel,spi-pxa2xx-type", &value); @@ -1330,12 +1331,6 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev) return ERR_PTR(status); type = (enum pxa_ssp_type)value; - } else { - ssp = pxa_ssp_request(pdev->id, pdev->name); - if (ssp) { - type = ssp->type; - pxa_ssp_free(ssp); - } } /* Validate the SSP type correctness */ @@ -1347,6 +1342,7 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev) return ERR_PTR(-ENOMEM); /* Platforms with iDMA 64-bit */ + is_lpss_priv = platform_get_resource_byname(pdev, IORESOURCE_MEM, "lpss_priv"); if (is_lpss_priv) { pdata->tx_param = parent; pdata->rx_param = parent;