Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp4377295pxb; Wed, 20 Apr 2022 01:43:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2MoYLDcPhVrJufH+3KKhVpeEYhHO6cfIMkROhp+6ctLOR+GMkQgTw2/qcqH/5Wglw9ER6 X-Received: by 2002:a63:180e:0:b0:39d:4310:2ffd with SMTP id y14-20020a63180e000000b0039d43102ffdmr18242660pgl.458.1650444233302; Wed, 20 Apr 2022 01:43:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650444233; cv=none; d=google.com; s=arc-20160816; b=oNHxIll68+NRG0bRyA3n6t3hdwJcCD3nlKinS1ag9q7U1guOpuIV+XEMX3KiwspptE K/WEtFChXO4O60DLahjEENeJM/ilASBnP1xyN9+mioKx+QZhMVBwehjlb2kLz+Mvyovt Uko63p2Lm8zjoznrsUmhXjdI+FsIIpcvVBlpUFjn4/MUdqOuAh5hfhj3khwVHQcNffhe jjk+0Y/2TpESfV2WBMUjDAWJlCu7U16xR+crS8Y8guL2hCUXvm5z5NPaXasb4/Jx+Zx0 vnCvhgj8TB2WTPwzWVQFqS2EevJ4zR1lkqqR8gl+hzlqvuvICbX5rk+f770on4gCiKC9 hy+A== 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:cc:to:subject:from:date :dkim-signature; bh=WEJ8CbC2loA9ib/adb/YR/+FsHaHYuHOlpUIXJDsAB4=; b=kphRkqhD5YSNeY2agJjJ7EJXeAeT6S3Na51h++AtWZcT9iHFOfHLZI6FkZbv6/XRZb wo5h/EJf6KOJcbd38yFNR+Wz4oDbp7pz/L2Ui1XTJdRJNLFWHsNaWjSooZnR3FXXWL22 6q16wDm54eH4OYxqHJGLP2ULILDqM4KuUGzmblck0S0Eq0pQGqVaRsazCcvL09dGMgFl 01onecFPtHK1oNRYWWBTkF2R69sQoqTBW3n6az5Waaa2snnWHm8aP/9GepCJeR26sCWb jS+WKZLxQdGzvp7AwKjOYE4pWfVLckUWbeuq6qvXVWeEPLy32Nbil4d1loDLLf1GYNqS HP0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@crapouillou.net header.s=mail header.b=BPT9gpfk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=crapouillou.net Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l20-20020a17090a409400b001d297b4e18fsi1422763pjg.144.2022.04.20.01.43.35; Wed, 20 Apr 2022 01:43:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@crapouillou.net header.s=mail header.b=BPT9gpfk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=crapouillou.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242441AbiDSRQ1 (ORCPT + 99 others); Tue, 19 Apr 2022 13:16:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39476 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231878AbiDSRQZ (ORCPT ); Tue, 19 Apr 2022 13:16:25 -0400 Received: from aposti.net (aposti.net [89.234.176.197]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 984A53B288; Tue, 19 Apr 2022 10:13:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=crapouillou.net; s=mail; t=1650388420; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WEJ8CbC2loA9ib/adb/YR/+FsHaHYuHOlpUIXJDsAB4=; b=BPT9gpfk8DmvqHBzhkVeHRjp10LlkU4LBYTMm1RctRHktZXxyIpGHoKdvck0XQP/3G3WAf Kn+r7I5cXOiyllYH+RjCK8sNzE9j1VA6N70W6diDAvvqU4eN+FMc+l2zT9oJ/WyaP6+/wN h8ev+MYmhZwaQCTCux3aSN/2d2pBlBc= Date: Tue, 19 Apr 2022 18:13:30 +0100 From: Paul Cercueil Subject: Re: [PATCH 1/3] SPI: Ingenic: Add support for use GPIO as chip select line. To: =?UTF-8?b?5ZGo55Cw5p2w?= Cc: broonie@kernel.org, robh+dt@kernel.org, krzk+dt@kernel.org, linux-spi@vger.kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, contact@artur-rojek.eu, dongsheng.qiu@ingenic.com, aric.pzqi@ingenic.com, rick.tyliu@ingenic.com, sernia.zhou@foxmail.com, zhenwenjin@gmail.com, reimu@sudomaker.com Message-Id: In-Reply-To: <1650032528-118220-2-git-send-email-zhouyanjie@wanyeetech.com> References: <1650032528-118220-1-git-send-email-zhouyanjie@wanyeetech.com> <1650032528-118220-2-git-send-email-zhouyanjie@wanyeetech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Zhou, Le ven., avril 15 2022 at 22:22:06 +0800, =E5=91=A8=E7=90=B0=E6=9D=B0 (Zhou= Yanjie)=20 a =C3=A9crit : > Add support for using GPIOs as chip select lines on Ingenic SoCs. >=20 > Signed-off-by: =E5=91=A8=E7=90=B0=E6=9D=B0 (Zhou Yanjie) > --- > drivers/spi/spi-ingenic.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) >=20 > diff --git a/drivers/spi/spi-ingenic.c b/drivers/spi/spi-ingenic.c > index 03077a7..672e4ed 100644 > --- a/drivers/spi/spi-ingenic.c > +++ b/drivers/spi/spi-ingenic.c > @@ -380,7 +380,7 @@ static int spi_ingenic_probe(struct=20 > platform_device *pdev) > struct spi_controller *ctlr; > struct ingenic_spi *priv; > void __iomem *base; > - int ret; > + int num_cs, ret; >=20 > pdata =3D of_device_get_match_data(dev); > if (!pdata) { > @@ -416,6 +416,11 @@ static int spi_ingenic_probe(struct=20 > platform_device *pdev) > if (IS_ERR(priv->flen_field)) > return PTR_ERR(priv->flen_field); >=20 > + if (of_property_read_u32(dev->of_node, "num-cs", &num_cs)) { One small comment here - I think it would be better to use=20 device_property_read_u32(). The driver should also use device_get_match_data() instead of=20 of_device_get_match_data(), but that's a cleanup that can be done later. Cheers, -Paul > + dev_warn(dev, "Number of chip select lines not specified.\n"); > + num_cs =3D 2; > + } > + > platform_set_drvdata(pdev, ctlr); >=20 > ctlr->prepare_transfer_hardware =3D spi_ingenic_prepare_hardware; > @@ -429,7 +434,9 @@ static int spi_ingenic_probe(struct=20 > platform_device *pdev) > ctlr->bits_per_word_mask =3D pdata->bits_per_word_mask; > ctlr->min_speed_hz =3D 7200; > ctlr->max_speed_hz =3D 54000000; > - ctlr->num_chipselect =3D 2; > + ctlr->use_gpio_descriptors =3D true; > + ctlr->max_native_cs =3D 2; > + ctlr->num_chipselect =3D num_cs; > ctlr->dev.of_node =3D pdev->dev.of_node; >=20 > if (spi_ingenic_request_dma(ctlr, dev)) > -- > 2.7.4 >=20