Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp4352952pxu; Wed, 9 Dec 2020 15:08:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJyMlKrI7ztGIrVM5si6SggiNnBWrl3BNrSyBCM1yLTTsjqV0gGWbuXPRnmdoiiJUfxSAa3c X-Received: by 2002:a50:e18c:: with SMTP id k12mr4123047edl.58.1607555323122; Wed, 09 Dec 2020 15:08:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607555323; cv=none; d=google.com; s=arc-20160816; b=UV+tKqsYElKor4/xvDO4n1wXjz9sXrZ00QjRk4yoaW4+Pu7RE+mtESXLX9jQlmP8iZ jQspPe5AvW9c32XxLd+zuypxfarTuS/wS69z3Z7wtwjWuAsnuKcxXVVubARBvZ2PvdHh gu3Q+pMpwcsbHXipnTAhLx5ggrRDCxN1yW9+7DuIt/Emd9N4tvoJC8zylu0p4Eyk5p5O SbQjtPyhytcWSdNy4lPxwqFlu9tCUwZBX9VFr/00CR6ufcXK+XmPidvFiaXVIPEJHsvO f0Jgl4VsmREgSSu+WL1HVHVkQeA6Uy4IMiW0/5q95ojed9KEWK7qDFM051rMpENxD2Df ceYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from :dkim-signature:date; bh=nSF6cZ2+2j4Xhpws6ZbJmD55zWCoZifF300+0MZvlkA=; b=BOcLzxXQewGxQBT9ux8W01Y5dAdkGlllsX+nwVqOSpPrGoNOpusuMmSQ1o98ODJ4De Qy+CmOtutnEF5J3lcB3lbgeCeZrAjNK21eyHsY4vTJZ5rwG8dQiNHNUajml3ABzVtG0K pv0LG9+YfOYxkimcwhxyxXSVx5BiA0H1Q+S/zCoAQMo2ndXQR5Xd65nr8Ht2KCJKFXqC 44wn2sxRjBiAvrrJ6vJqEywLKk2t9D+ZpmuxYRbUXjX1Yq3lmsnr01N3y7d4JsdDgwLT kzsNcHYcSAXnjDAe0QoB6f33ffHL/O2Qp/h03NN3O9f9GwSL+O1EMt6Cr/NwxRFch7FV lk8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QzkIkOkk; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i1si1630092eds.174.2020.12.09.15.07.58; Wed, 09 Dec 2020 15:08:43 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QzkIkOkk; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731196AbgLIMAl (ORCPT + 99 others); Wed, 9 Dec 2020 07:00:41 -0500 Received: from mail.kernel.org ([198.145.29.99]:55758 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730997AbgLIMAf (ORCPT ); Wed, 9 Dec 2020 07:00:35 -0500 Date: Wed, 9 Dec 2020 11:59:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1607515194; bh=OtQ+HPmkmQDc74CDuz84WYDixTdrS25dyzPgEat+594=; h=From:To:Cc:Subject:References:In-Reply-To:From; b=QzkIkOkkMX5xeFh8ZiTHIqKMWydjloGqT4FSIkD9U7y0eQPyp3emU+jkizeM/3k/z ykf9EwI1SQpoa9rJwa0h5foDlTvNKfGqEdLZpQOeRmbkDwahe6m7wkbho0/ZmTfyQC xhabwOQu+KqZE2MdQmo8hxlBJcE6lxRJRGlcV64Pb/qtxWerJVImYaT8EEKZR23f5p Vkq6DM3O80NreKUL45Ie/2ovtlvImGypvFIR5AwBeUkV8LNvlWPojFR9CVnnS8wqrE VsIuvVG19MtZS4U8dZlMVniN+y+TweGy4nq7ODEB8pCi0BolnRedm907xoRuluDZvO Zlqn2eFUTtr5w== From: Mark Brown To: zhangqing Cc: Rob Herring , Thomas Bogendoerfer , linux-spi@vger.kernel.org, Huacai Chen , Jiaxun Yang , devicetree@vger.kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, gaojuxin@loongson.cn, yangtiezhu@loongson.cn Subject: Re: [PATCH v2 1/4] spi: LS7A: Add Loongson LS7A SPI controller driver support Message-ID: <20201209115947.GA4790@sirena.org.uk> References: <1607413467-17698-1-git-send-email-zhangqing@loongson.cn> <20201208135644.GC6686@sirena.org.uk> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="LQksG6bCIzRHxTLp" Content-Disposition: inline In-Reply-To: X-Cookie: sillema sillema nika su User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --LQksG6bCIzRHxTLp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Dec 09, 2020 at 03:24:15PM +0800, zhangqing wrote: > > > +static int ls7a_spi_transfer_one_message(struct spi_master *master, > > > + struct spi_message *m) > > I don't understand why the driver is implementing transfer_one_message() > > - it looks like this is just open coding the standard loop that the > > framework provides and should just be using transfer_one(). > static int ls7a_spi_transfer_one(struct spi_master *master, > struct spi_device *spi, > struct spi_transfer *t) > { > struct ls7a_spi *ls7a_spi; > int param, status; >=20 > ls7a_spi =3D spi_master_get_devdata(master); >=20 > spin_lock(&ls7a_spi->lock); > param =3D ls7a_spi_read_reg(ls7a_spi, PARA); > ls7a_spi_write_reg(ls7a_spi, PARA, param&~1); > spin_unlock(&ls7a_spi->lock); I don't know what this does but is it better split out into a prepare_message()? It was only done once per message in your previous implementation. Or possibly runtime PM would be even better if that's what it's doing. > > ...releases the PCI regions in the remove() function before the SPI > > controller is freed so the controller could still be active. >=20 > static void ls7a_spi_pci_remove(struct pci_dev *pdev) > { > struct spi_master *master =3D pci_get_drvdata(pdev); >=20 > + spi_unregister_master(master); > pci_release_regions(pdev); > } You also need to change to using plain spi_register_master() but yes. Otherwise everything looked good. --LQksG6bCIzRHxTLp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAl/QvDMACgkQJNaLcl1U h9CCngf/Rl+jkJ0K2K1xYhjOMzRmzzc33799zyHp4rmIu0ueGJAlFY/K9vtZS5c8 DafdgOHKUbQpctdpytUVL3kLDFPzI0d2vEYq/PrU98XPVDUrb32j86/07Yk6gHJW oahrE1oxXJsGwnFZb1e+OL2w/ambM7WOrBKmA4KCIzyk0jWmp+8X1ej1he/1GTzu plO3NH9PuDcRG3qIY2fZdUS/Yh5jsuziZjomINZ84n9qZP/4jHjuVBHyVfST7wGE VU2L2WDFrF/GQxuWhL7oP8xvSAkpIB040rBUeMbi/FLcoQVJTWQnRusK0DbHj2Kk j7LqNtPQ51k/HEmBitErYhNpLyp3xA== =gGOK -----END PGP SIGNATURE----- --LQksG6bCIzRHxTLp--