Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp1581852pxy; Fri, 23 Apr 2021 11:28:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxam0ueBh2U8bwJ/apIyPHcCybQK6uQ/ME9h9MXUizDKwf9NbuVUCBCFTp1hvyU7mWMoKGj X-Received: by 2002:a17:906:f8cd:: with SMTP id lh13mr5668471ejb.387.1619202527101; Fri, 23 Apr 2021 11:28:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619202527; cv=none; d=google.com; s=arc-20160816; b=SIQ82T7Y7iaO+21OWf52PYc4DSJIhGLZ0Oizp/LXKmXy8CLTCaWZct8/OB9k+hM64g 9HEaTRWuJejlico5eXIZ4OyPL0BNjUHGtho4VeMc3E54Foc1T7zxzs6ReT2ByGflP28N xwjrl/YFfWriBMiYb7zJfWeikJWffaGVVRKhGthZbx+XpCop/I60gSeYrxD9rJ1gAmd+ xATDSRHHnAMyuMKO6w9E5p/wS+SRBtun2SZqg3IbK6A6QEldZ5gqxdx48MtPBQufa6Nb 6T9gLhGwUiQcPJDikqnhKhegFZwsuOG9xwEfW+JL/RMPnkHjTh6K3dBQcB4rEEo8CcLW RwMA== 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=eJU9OaYwEWap0HgiUVerESGy7bCJojkd5aMoo6I4nsw=; b=xERQPF3HCyhF9OiRqIE9T9PAnjwNK97KzqT5/u42sNHDfFRdw1pjLdcxEh+E1oc/8n 4fVAmTsDoBSmefSgPLptkb1ezNLdXvTNfJfn6N6ILMzfzOpL9cOS9/6Lu6++Mjxw7Cx2 h0SYG83fsy5euxBlH239P9bb1wxJBy20xt89hG6LgJPnubCmmtt0V1Rq2UNiinPWXrxy cjvGacnjLorwgtffCAC533hvFFIwPR9OdOfoiMAIUTcKbAt8uM4uCf335S3257NtUYMI gdgMiJF6hDwXzLqJ1A7N7ib7a8W9zfKHpybMyb+BscvmJYja5YPJLnjIZJFp7+IhPVOY BuRw== 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 c20si6164481ejk.730.2021.04.23.11.28.18; Fri, 23 Apr 2021 11:28:47 -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 S243784AbhDWSZj (ORCPT + 99 others); Fri, 23 Apr 2021 14:25:39 -0400 Received: from mga02.intel.com ([134.134.136.20]:35547 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243630AbhDWSZL (ORCPT ); Fri, 23 Apr 2021 14:25:11 -0400 IronPort-SDR: psUvfwAyMCl6AkVVhDRBVwyIVDg7XQ/aNg+22cSyc6p9FqKB82hzARPf2IZmEfTgMo9s0S6d7S knzSLj7eMVow== X-IronPort-AV: E=McAfee;i="6200,9189,9963"; a="183244760" X-IronPort-AV: E=Sophos;i="5.82,246,1613462400"; d="scan'208";a="183244760" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2021 11:24:33 -0700 IronPort-SDR: oF49u/jhT6S2TIcgNCCsJN7DCRkJSZzz0+u0GwYbXkHrOSbcjyeziZ6XKM7MWQaaGAN5DDSUEi ilk5wfHiCMZg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,246,1613462400"; d="scan'208";a="453649695" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 23 Apr 2021 11:24:30 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 436A04A3; Fri, 23 Apr 2021 21:24:45 +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 v2 08/14] spi: pxa2xx: Reuse int_error_stop() in pxa2xx_spi_slave_abort() Date: Fri, 23 Apr 2021 21:24:35 +0300 Message-Id: <20210423182441.50272-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210423182441.50272-1-andriy.shevchenko@linux.intel.com> References: <20210423182441.50272-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 4dab47e18d10..85a8d228a117 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