Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2575084pxj; Mon, 10 May 2021 06:14:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7pAUgYKWMzq3H1xXzNO8KEcl5zRnLSDBz2dCvVQwk3wQtrZO1aCe3gmWpIqNkopiKWacE X-Received: by 2002:a05:6402:154d:: with SMTP id p13mr29831241edx.371.1620652452930; Mon, 10 May 2021 06:14:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620652452; cv=none; d=google.com; s=arc-20160816; b=QEfNDZVnb7YVk6puiq4XLx26HM07Ok6b7v7Lbg5xN4GyNvbvxg8prGB5A5RxqV4Wsp 1e18I+Gm684p7i0Wj9B6BBgo/BhjtmjHD3L+uURQhGLrOVaYa04VYKr7Xx8kvg6M4KTh eVuMTzflV8dJsd1jyT/LWIcFn78I6gNNlZ6dCgZ54dlNN/QmjhGTxm1FmiNZTX2LbyIK LZSX9e1lIaXodiqcvoHpVLOnOzMfjto3k4YLLu6m7jsrkLWnIn7Ku3n8T4o9cJiKZQCs aINU+pj1wuCFvw2jqJwf54rrSSGxXlOX4Lc4EmOzC/vOBL2HC5N70z1/fl94wMRCZGsd whqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=O8NSFfTu0XAkBbsic1P/bv7mIr9XUjrYgPJlmkMqJdw=; b=dJsnPV6o7+PPyGEmqEuAXhdIedUODLHHydlXJ+jpfFWgPQPhvoND7BpOSIotGLMtZg MQLwaV6gxQrWFlO/D8PAA2UE75yKGeOuQmZsPawWYx9aryV1XJhOFhN2Yy9K3P/4benm A7PxM0oqkEtmaPXroCNp+jfrad8MSYH1jxpB8eVVdcJF4UUOhKu3yynx6vWEIp1TnQ5r sh8N3ZQSYT7FtWmytqBcuNieDW7BcbcsbDUV55cQ6tzdqClS8Z+a5Y4h3wnvPqVyrXpu iqG9OwUjt5R0efkWVcz0MgcphVrNpKe01/xx40zD0pFworU1Ro05JOu30LkHj09uUwdR 7GIg== ARC-Authentication-Results: i=1; mx.google.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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p11si12195041ejz.160.2021.05.10.06.13.39; Mon, 10 May 2021 06:14:12 -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; 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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1350831AbhEJNBo (ORCPT + 99 others); Mon, 10 May 2021 09:01:44 -0400 Received: from mga02.intel.com ([134.134.136.20]:4556 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239856AbhEJMme (ORCPT ); Mon, 10 May 2021 08:42:34 -0400 IronPort-SDR: Z1akayJZMI+4xMQ4QVbHeeekQ5D24jkPqhCC3CI9Pnnthf0fgY/MF7sPFgud/HJRMeKeq6wZWd m0Czs3itao4A== X-IronPort-AV: E=McAfee;i="6200,9189,9979"; a="186319432" X-IronPort-AV: E=Sophos;i="5.82,287,1613462400"; d="scan'208";a="186319432" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2021 05:41:23 -0700 IronPort-SDR: 4E2lMnY46eJ+FL26nHHvnMJPoubWNMW9P2BnnIjHNn298f92ooHyv0qQ7M+kT25fYr9W6SAUo6 +hSYSs9LDfdQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,287,1613462400"; d="scan'208";a="436125961" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 10 May 2021 05:41:20 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id A9F301D2; Mon, 10 May 2021 15:41:37 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org Cc: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Mark Brown , Liam Girdwood , Jaroslav Kysela , Takashi Iwai Subject: [PATCH v3 08/14] spi: pxa2xx: Reuse int_error_stop() in pxa2xx_spi_slave_abort() Date: Mon, 10 May 2021 15:41:28 +0300 Message-Id: <20210510124134.24638-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210510124134.24638-1-andriy.shevchenko@linux.intel.com> References: <20210510124134.24638-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It appears that pxa2xx_spi_slave_abort()almost repeats the functionality of the int_error_stop(). Reuse int_error_stop() in pxa2xx_spi_slave_abort(). Signed-off-by: Andy Shevchenko --- drivers/spi/spi-pxa2xx.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c index 5572eec68381..087c84e605b9 100644 --- a/drivers/spi/spi-pxa2xx.c +++ b/drivers/spi/spi-pxa2xx.c @@ -631,7 +631,7 @@ static void int_stop_and_reset(struct driver_data *drv_data) pxa2xx_spi_write(drv_data, SSTO, 0); } -static void int_error_stop(struct driver_data *drv_data, const char *msg) +static void int_error_stop(struct driver_data *drv_data, const char *msg, int err) { int_stop_and_reset(drv_data); pxa2xx_spi_flush(drv_data); @@ -639,7 +639,7 @@ static void int_error_stop(struct driver_data *drv_data, const char *msg) dev_err(drv_data->ssp->dev, "%s\n", msg); - drv_data->controller->cur_msg->status = -EIO; + drv_data->controller->cur_msg->status = err; spi_finalize_current_transfer(drv_data->controller); } @@ -658,12 +658,12 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data) u32 irq_status = pxa2xx_spi_read(drv_data, SSSR) & irq_mask; if (irq_status & SSSR_ROR) { - int_error_stop(drv_data, "interrupt_transfer: fifo overrun"); + int_error_stop(drv_data, "interrupt_transfer: fifo overrun", -EIO); return IRQ_HANDLED; } if (irq_status & SSSR_TUR) { - int_error_stop(drv_data, "interrupt_transfer: fifo underrun"); + int_error_stop(drv_data, "interrupt_transfer: fifo underrun", -EIO); return IRQ_HANDLED; } @@ -1154,14 +1154,7 @@ static int pxa2xx_spi_slave_abort(struct spi_controller *controller) { struct driver_data *drv_data = spi_controller_get_devdata(controller); - int_stop_and_reset(drv_data); - pxa2xx_spi_flush(drv_data); - pxa2xx_spi_off(drv_data); - - dev_dbg(drv_data->ssp->dev, "transfer aborted\n"); - - drv_data->controller->cur_msg->status = -EINTR; - spi_finalize_current_transfer(drv_data->controller); + int_error_stop(drv_data, "transfer aborted", -EINTR); return 0; } -- 2.30.2