From mboxrd@z Thu Jan 1 00:00:00 1970 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 939D4C00140 for ; Tue, 2 Aug 2022 08:48:57 +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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jZqyk08pOE8jcPqPFukTHSmvKng735EZheWRpAt1AdY=; b=PQ4/DwEzh+rS3S nM+3AaHeAiSvhGPxCJxLR4Wu6YpXluuq4Tkj/aBRa7uW7ylFrcgDOu1xKVqt+BgxH7UqOmcdTBYqY 3VCszINdSAZXS4rgOqNup1WVI/MP9a8QGFtxxFNWe3zP3s7K1PFZcu1u6Wk1S7BLD8yOE6WTLNFxG 4C++xKQxysmx91yFcPiDC6GsGynGzQ6iHVdi23uebzdIr/QkJUt9EtMc1lxzNKRHDMw00pQ0bRisj mMhfEXKgb+ah7cKax9Plyflyef/pH9Wq0QPidMWSTgHUFl32rc+ZMQE9XvUriA9wrSgAXs2iLJWzM Q32epsu9U2D3Uj8d/y6A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oInZ6-00C06s-Rd; Tue, 02 Aug 2022 08:47:49 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oInZ3-00C01S-00 for linux-arm-kernel@lists.infradead.org; Tue, 02 Aug 2022 08:47:46 +0000 Received: by mail-ed1-x531.google.com with SMTP id r4so9014288edi.8 for ; Tue, 02 Aug 2022 01:47:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=puv0wVuinbvGk6m24vnUVnaprr7raVy2FnF9iWxEgDg=; b=fy5pI89/qCZ86uVbKjW1FbiRmxM4/rk48gHhb5LLNd4ecu1hOXK11Bu6Tqe56E8SCc L+dn3ij2RF2voqhgeBbzUbxLQg7JN163YvlnaVDWvbcWnPQdF1TWTlyT8PXCuqH00Lvm DrdI20Ny5s59MM5bja2VRJh7aCgXmoyjGp+yjUW1oGqUKfrLt/+d9v2zzWabwi1ahTcD v2KEFubO/bSqP+pSSdA8l+JL2juWuynwaDJ9hLm9s73id+pzr7uz+4bfEykNpFdRY+Di ARlOTr78VjUnYKOIsRrPOKKS8ciEY6GOh/Tg08sXeeh6BoVRjGlUJcA8w38BG6PDjgKV LVIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=puv0wVuinbvGk6m24vnUVnaprr7raVy2FnF9iWxEgDg=; b=Bl89mBC9xJWpiQbfIC90G+lLmNLgDeTbmWIQKNrPqXrM0ilGyr58tNtxdHFCu6XLf+ ZtdiAlhLgx6h2gnUbqpvq3CeDtUCWjRMgS4UjbC+cno0+QqHhf7H0J3IrmFRmh0Qe3Aj woJIsqljWyR4JsgPmNGeSimqN8rXH85kFzyO0v56qqDvfzEswEPJxEmpc1jIO45G/i/N 9dpCxeL908fL4nbKwWgaB/S1UOnR0LJuudAmrIUNEMYz3mScIJZR6O0PCIOx6g/+bvBM v6uor+l4ibx1WEU8dgZ4cKI+5FkxdQrd0t1yLmLNC9DqAbfdNIuIH03P7vKdA78uz2Sk vAKQ== X-Gm-Message-State: AJIora8673L14xViWS2Ijz6rIglgOeKTYkgqRiATWwryh7q+XnwZjNCp hn0VNYUDygSP83gnfLbPtVqaSIRgHthCmQMJR2w= X-Google-Smtp-Source: AGRyM1utu3QImD9qsURFVtD1OVuARwXFkxr7OiAFJHxCnYpy3UfDVTZIG13xhWJHGIVUaL4XC+zI1ao29MiGikA0TLE= X-Received: by 2002:a05:6402:84a:b0:426:262d:967e with SMTP id b10-20020a056402084a00b00426262d967emr18807129edz.286.1659430060844; Tue, 02 Aug 2022 01:47:40 -0700 (PDT) MIME-Version: 1.0 References: <20220722040609.91703-1-colin.foster@in-advantage.com> <20220722040609.91703-10-colin.foster@in-advantage.com> In-Reply-To: From: Andy Shevchenko Date: Tue, 2 Aug 2022 10:47:04 +0200 Message-ID: Subject: Re: [PATCH v14 mfd 9/9] mfd: ocelot: add support for the vsc7512 chip via spi To: Colin Foster Cc: linux-arm Mailing List , "open list:GPIO SUBSYSTEM" , netdev , Linux Kernel Mailing List , devicetree , Terry Bowman , Vladimir Oltean , Wolfram Sang , Microchip Linux Driver Support , Steen Hegelund , Lars Povlsen , Linus Walleij , Paolo Abeni , Jakub Kicinski , Eric Dumazet , "David S. Miller" , Russell King , Heiner Kallweit , Andrew Lunn , Krzysztof Kozlowski , Rob Herring , Lee Jones , katie.morris@in-advantage.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220802_014745_277163_7F40F9E6 X-CRM114-Status: GOOD ( 19.54 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Aug 2, 2022 at 4:17 AM Colin Foster wrote: ... > > I'm wondering if you can use in both cases > > spi_message_init_with_transfers(). > > > > +static int ocelot_spi_regmap_bus_read(void *context, const void *reg, size_t reg_size, > > > + void *val, size_t val_size) > > > +{ > > > + struct spi_transfer tx, padding, rx; > > struct spi_transfer xfers[3] = {0}; > struct spi_transfer *xfer_tok = xfers; unsigned int index; > > > + struct device *dev = context; > > > + struct ocelot_ddata *ddata; > > > + struct spi_device *spi; > > > + struct spi_message msg; > > > + > > > + ddata = dev_get_drvdata(dev); > > > + spi = to_spi_device(dev); > > > + > > > + spi_message_init(&msg); > > > + > > > + memset(&tx, 0, sizeof(tx)); > > > + > > > + tx.tx_buf = reg; > > > + tx.len = reg_size; index = 0; > xfer_tok->tx_buf = reg; > xfer_tok->len = reg_size; tok[index] = ...; index++; > xfer_tok++; > > > > + spi_message_add_tail(&tx, &msg); > > > + > > > + if (ddata->spi_padding_bytes) { > > > + memset(&padding, 0, sizeof(padding)); > > > + > > > + padding.len = ddata->spi_padding_bytes; > > > + padding.tx_buf = ddata->dummy_buf; > > > + padding.dummy_data = 1; > > xfer_tok->len > xfer_tok->tx_buf > xfer_tok->dummy_data tok[index] = ... > xfer_tok++; index++; > > > + spi_message_add_tail(&padding, &msg); > > > + } > > > + > > > + memset(&rx, 0, sizeof(rx)); > > > + rx.rx_buf = val; > > > + rx.len = val_size; > > xfer_tok->rx_buf > xfer_tok->len tok[index] = ... > xfer_tok++; index++; > > > + spi_message_add_tail(&rx, &msg); > > spi_message_init_with_transfers(&msg, xfers, xfer_tok - xfers); ..., index); > > I'm wondering if you can use in both cases > > spi_message_init_with_transfers(). > > I could see that implementation getting the response of "what the heck > were you thinking" or "that looks alright" and I honestly have no idea > which pool it will fall into. See above. I.o.w. use index based assignments. > > > + return spi_sync(spi, &msg); > > > +} -- With Best Regards, Andy Shevchenko _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel