From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DCA5339E6DE for ; Wed, 22 Jul 2026 06:30:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784701820; cv=none; b=KkiPRbjAlMPRj4+hR78TlTxlNVn4QdWxpRxbIXciioKTvsybpV3NydGxLcxlErKPHYprQsSiNR/RqPQSfVI4dNqdWhwdAxEehazQ9X4yPvaubyDacfGHe+DELiseBE1mpB38A4alEJ3B+F6qVQKgVoz6PVK3Mr/k4Qsh8fPQy3U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784701820; c=relaxed/simple; bh=PKW1Xnnu9AKa7tuapvs9+DAbuoB4ZJthZ2NlWKW5Rwg=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BuQmoGAwKaj6F7rIW/3K3w9APTguBbjDxgaG+bbKhhXl8+IEwxbPGBwEeQ9zkIn04pT5Ga4B1X/1xnRe4qB0bmEp1vTjrR/UejxzTWXRbzzZITBVwJxQw2Fa9707I1C0x5VJACgI60m4y44f6FW3bYmkc1WhhBOR0lPEMRwyeE4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WjANaYkO; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WjANaYkO" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4954dff6536so31550845e9.0 for ; Tue, 21 Jul 2026 23:30:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784701817; x=1785306617; darn=vger.kernel.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=MZ4Byl1njkQhav5fhUVKwKfbAOGMC8cCPs9+06LJMzA=; b=WjANaYkOc5NtbVqUkn0JymiMWcbfn1GrKvq3ygtRalPwTifw1VCTgli1aK1tliJ03w TDbctWQsAGNXzabgmT9sYa23UhT9GfIidxufRyXLKdyRMqezFY0AMSbqYM4BQUNI1DUJ cR5LSRX3hYuU1Lhm5GIWRFmTo9JyMACXI9gEWPF923wczI7+bQmk4hbvaGrTe2/AHI+F XZ14YNUJYLXcvu0UTqxlGg6INN//KiOII92Yk3T4PPpXj+vSYya3YiD5jtqQJcjzbrQH Pj787qNJmOFtQs/elTYU7OTiSxP3t+dJhunDyDTLphMEZBZEhruFc1YwRiJuc3bqTOyt y59Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784701817; x=1785306617; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=MZ4Byl1njkQhav5fhUVKwKfbAOGMC8cCPs9+06LJMzA=; b=aAF9j5HTQiB7oizNQBDWo99ZC2uLjnCSUPOQV0092pWr5SYRMzLK8P2MTnhKXRwyy/ b8MqUH4SI/Dje9vPkZcW5IRuGLm38Psz8Yz/4WGGf4yJ8672pBVcZLg34DYJTp8IErY/ nmhZN6E4q1PyHaIbeaOCzrT83uvpjSP4yasMH47OIuSJQ/iRmRzMvTCiVVPUlThc9LNa GH1z6wFJ6DaHblLBJPNRz3t0QSDfeKa7JtltrPDIvtNopSXuuu7yauSk5cZmpzlnGmuc xPNU/3M+MkPZCVlEOYtj9MmLTRFpipAc610nSteHEsFxSsVKYyV/QY4LpfUdcL7BuWoY 6kZw== X-Forwarded-Encrypted: i=1; AHgh+RoDZshT0TzkBQmlch2d6WdKY962WB2Wby1FsMmRayRhjP2YNeSxigH6dX3YbQ8CoDF9OKkl0uAQWDt2ksE=@vger.kernel.org X-Gm-Message-State: AOJu0YxwOL9r9hjkGPmrFB5/6LAY57q+KSeB2wzBJKR2IJV3SNGk39XA zj3bfz27asqPt6PYvZ/QGPEoaoDo/w7lA8e4WxXTMVOy6ZFoQHZYCAYe X-Gm-Gg: AR+sD10Qiwps0GqBlYQv4xwsOCS3RhWtb+4zOPkaEUBRKT1rr0YlZDwYIvNYrDACEeg ojQmW8ePJH5P2MjTApAOFdf6EXfWh33PO3dNzDSZasiU17bG77KrlHiBMOIP5khveFJy4DFWRzK OFIVuwEV5+C+PTPON+g5TI96+2hpk9OB9S1fK3ww3/KhByK0OuL57uVjynqDfYGaFNHlof1UI9a JUt9GNGcPJiw83NTZgHN6eyJFZkP4WdeupBfZ1lr7je5Gak7NSZAoXE3TTpxs0732+IM+2lgD+B OhBz7jyFoCSRfO2k0c1jWiFfS4nWu8BuBN5p0mmr++tIS2MRbXTM0VJQGjZmmmIja84vp+naXXa 60bXCLjVIeaFHQ/IA1o3D0sHLSgPoqZSPDRrwhpaZa/BEQjnklV9zt7gkpv9p9Lkp+6wmwutRZ0 QUNfCOlA/9VOJfGcwGtYR07mbgwqyZ3gWJOVWOPPi6U2UhW2k4PsgXRlsqg/gMccqPxxIjaPmLm zgFgpbmLNkNrfYf/DgKSNUwlcFLmSIJ5Lx5CUQq1xZfIy/he9SGWEHaqOFur0IN0zNFERh6Hl7M Suo2ZOkxsrGwghDxtIA8Icq5wV25T0x9p8HUD+7sm/18Hoe40lB145Kvgcbk5Yl0qKyEtnwNAH/ b15iCsRFwMLHR X-Received: by 2002:a05:600c:1554:b0:493:a570:df7d with SMTP id 5b1f17b1804b1-4954a402f91mr265320545e9.20.1784701816772; Tue, 21 Jul 2026 23:30:16 -0700 (PDT) Received: from localhost (90-182-112-124.rcp.o2.cz. [90.182.112.124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4956ab45df3sm32706965e9.1.2026.07.21.23.30.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 23:30:16 -0700 (PDT) Date: Wed, 22 Jul 2026 08:30:16 +0200 From: Joshua Crofts To: Andy Shevchenko Cc: Jonathan Cameron , David Lechner , Nuno =?ISO-8859-1?Q?S=E1?= , Andy Shevchenko , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] iio: dac: mcp47a1: add support for new device Message-ID: <20260722083016.000062c4@gmail.com> In-Reply-To: References: <20260721-mcp47a1-add-support-v1-0-da045a2567e3@gmail.com> <20260721-mcp47a1-add-support-v1-2-da045a2567e3@gmail.com> X-Mailer: Claws Mail 4.4.0 (GTK 3.24.51; x86_64-w64-mingw32) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 21 Jul 2026 23:47:58 +0300 Andy Shevchenko wrote: > On Tue, Jul 21, 2026 at 08:24:39PM +0200, Joshua Crofts wrote: > > The Microchip MCP47A1 is a 6-bit volatile Digital-to-Analog converted > > which communicates via I2C. > > ... > > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > > > +struct mcp47a1_data { > > + struct regmap *regmap; > > + int vref_mv; > > _mV ACK. > > ... > > > +static const struct regmap_config mcp47a1_regmap_config = { > > + .name = "mcp47a1", > > + .reg_bits = 8, > > + .val_bits = 8, > > + .max_register = MCP47A1_CMD_CODE, > > +}; > > No cache? Hmmm, could you elaborate a bit more? I assume you're talking about regcache but I'm not sure on how to use it here. > > ... > > > +static int mcp47a1_probe(struct i2c_client *client) > > +{ > > + struct device *dev = &client->dev; > > + struct mcp47a1_data *data; > > + struct iio_dev *indio_dev; > > + int reg_val; > > + int ret; > > + > > + indio_dev = devm_iio_device_alloc(dev, sizeof(*data)); > > + if (!indio_dev) > > + return -ENOMEM; > > + > > + data = iio_priv(indio_dev); > > > + i2c_set_clientdata(client, indio_dev); > > Is it used? Nope, it isn't, good catch. > > > + data->regmap = devm_regmap_init_i2c(client, &mcp47a1_regmap_config); > > + if (IS_ERR(data->regmap)) > > + return dev_err_probe(dev, PTR_ERR(data->regmap), > > + "Failed to initialize regmap\n"); > > + > > + ret = devm_regulator_get_enable(dev, "vdd"); > > + if (ret) > > + return dev_err_probe(dev, ret, "Failed to enable regulator\n"); > > + > > + ret = devm_regulator_get_enable_read_voltage(dev, "vref"); > > + if (ret < 0) > > + return dev_err_probe(dev, ret, "Failed to read vref\n"); > > + > > + data->vref_mv = ret / MILLI; > > (MICRO / MILLI) ACK. -- Kind regards, Joshua Crofts