Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp2466830ybb; Fri, 27 Mar 2020 06:11:22 -0700 (PDT) X-Google-Smtp-Source: ADFU+vve0SUvGRe4Qqr2H/FTecdXSZHd/7VXxROas0mlqErKes6/5g01OyHzQOPY5fUXghVk6MjC X-Received: by 2002:aca:c70f:: with SMTP id x15mr3789387oif.80.1585314682066; Fri, 27 Mar 2020 06:11:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585314682; cv=none; d=google.com; s=arc-20160816; b=Li5vsn5d2s9lYiH+Ph5vEBhs3Zme0zH6JuUCT8FrmpQ82EY33uWBnstv0+DYme+KNx f3yfNDq1EPqJUSMHR8fgO/3OEs/oR+RnQ1CTkdPEbVGs8xgIht7oUfJPVzRqNfwjHxuE JkC3dKRFRSPwNFE/6BBPhYeA6wuZc7IpHcRzH0N1GWRU7hOundTj5DvvzKq+FPCn1wuN snDWpugS//zenYh65qYAZIZKslWeeANh/fOoIt8dB4GfHtgTUK9SpNtaZdaDXzscq95H KOGfGuOIqoMpaevWE1M7KIF5Po8PDwQzm8XH9lsGh5DLlOXF5EI8T/umjQspoDd5pFtJ r9kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:content-disposition :mime-version:subject:cc:to:from:date:message-id:dkim-signature; bh=KViQIRagSE5vWsB7ZI4K2nCzq1NtvcnA0oI0AGtFtWo=; b=iwvO/aq7U4ACYz4yS5kBFUZwrj3H7Oj2JRp0Y8oZtJ7ldeSyNuGGuiB4zP4uKieTWJ mhhk16ztsAX2+w7Om1UdpGRYhwrbpmjgzxff3cDio7NS5gf6tCyAfy/RrWGzoKNsUO+b V6XQoY01cZj6wnl7j7BoMxo6vI3MJUXxWWTUTcGuFGc9/VAsXcfWVAMb7CZFrqHqLF6w eVhhtHW3WHT7j0wTDlh7QV/ec8/mxEMGxjYmble6qbco23GFbJT+TlZiuBfYjVJEO2md WnZK5TfKJySFNcv68Ggb26Cp0Jp+FzuUJnuhISdok7twXsENtGu3LpjR7IlvnQd3EYMF 7NPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=kgXGh9wj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 186si2317999ooo.33.2020.03.27.06.11.06; Fri, 27 Mar 2020 06:11:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=kgXGh9wj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727349AbgC0NK2 (ORCPT + 99 others); Fri, 27 Mar 2020 09:10:28 -0400 Received: from mail-pf1-f194.google.com ([209.85.210.194]:33084 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726165AbgC0NK2 (ORCPT ); Fri, 27 Mar 2020 09:10:28 -0400 Received: by mail-pf1-f194.google.com with SMTP id j1so4502080pfe.0; Fri, 27 Mar 2020 06:10:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:to:cc:subject:mime-version:content-disposition :user-agent; bh=KViQIRagSE5vWsB7ZI4K2nCzq1NtvcnA0oI0AGtFtWo=; b=kgXGh9wjh/uHFhjV7vcqGaaTAJIVW2/rw5thPMYEE+e4Ga6zKjSWASF51JILRBwtyN +pR4fyZe6KVWlAL0u03kxheh+4vulKtEQw1HqR04JJWABaoGJJv/mEmnzslsCJu1k93X ytc+gHgag4UCYo1Gy+xM449DDsT9n2speS3vlpbfc3Wd8uRZ9IkMXoHJLGIdX/bmqeY0 Qe3eBM0tkWDXNH2Qgg4E15D+54UncaZk2HuiGi3gZgOn30PTiVvfh3snAhxw8LjZWZMp FitGhQwdw5LDYu2nSpPncIO7F+FBhvaWV/Ibl3obAlq011SWaIo1ErVf9liE6mXDS9g9 6X+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:to:cc:subject:mime-version :content-disposition:user-agent; bh=KViQIRagSE5vWsB7ZI4K2nCzq1NtvcnA0oI0AGtFtWo=; b=ULTGy/dbvHB5GSUizEclZ8UwHV7X0b1i6UN3kvFMDD5eSrKYSlkELpuDJuw18wCEKi rvW7QwS7rrH7eMuH1i7TPDRdH1Y1zBFmzjDSmj+8niNoVy6fNweWNTIlmUq+1j1U/Y41 OPJtzThZebTIxiIxjdDuEeAudIXUXvFmd40+7aiEi66oyGQNSflzT8grlldExQ3bi39s oo1NxobvuMLpZWdja5N8uoqYcGyozpBS/kxj9Kze+UpCUrC3EhfI+Fw5i6xO9g1CvE91 l57FYXGqk5woDhp+OBHezG0nPMLUvHtkVLy5ko/Z+rMbnp7VXtrOaXAkXhRg1fNBquBU i9AQ== X-Gm-Message-State: ANhLgQ0pcWpCCRMPHA8niNE4uc3zOw3IAx9g2JO0uuZxKlEnxA6OufvP +RcX9YqdPUC8biZknlVm6jFoIK8IYnY= X-Received: by 2002:a62:76cb:: with SMTP id r194mr14632276pfc.302.1585314626326; Fri, 27 Mar 2020 06:10:26 -0700 (PDT) Received: from SARKAR ([106.51.108.92]) by smtp.gmail.com with ESMTPSA id r186sm4195723pfc.181.2020.03.27.06.10.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2020 06:10:25 -0700 (PDT) Message-ID: <5e7dfb41.1c69fb81.cc4bb.042f@mx.google.com> X-Google-Original-Message-ID: <20200327131023.GA28157@rohitsarkar5398@gmail.com> Date: Fri, 27 Mar 2020 18:40:23 +0530 From: Rohit Sarkar To: linux-iio@vger.kernel.org Cc: Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Jean-Baptiste Maneyrol , Linus Walleij , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] iio: imu: inv_mpu6050: add debugfs register r/w interface MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The debugfs interface provides direct access to read and write device registers if debugfs is enabled. Signed-off-by: Rohit Sarkar --- Changelog v1->v2 * grab a lock to protect driver state * add a comma at the end of structure member initialisation drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c index 7cb9ff3d3e94..381a3fb09858 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c @@ -1248,12 +1248,31 @@ static const struct attribute_group inv_attribute_group = { .attrs = inv_attributes }; +static int inv_mpu6050_reg_access(struct iio_dev *indio_dev, + unsigned int reg, + unsigned int writeval, + unsigned int *readval) +{ + struct inv_mpu6050_state *st = iio_priv(indio_dev); + int ret = 0; + + mutex_lock(&st->lock); + if (readval) + ret = regmap_read(st->map, reg, readval); + else + ret = regmap_write(st->map, reg, writeval); + mutex_unlock(&st->lock); + + return ret; +} + static const struct iio_info mpu_info = { .read_raw = &inv_mpu6050_read_raw, .write_raw = &inv_mpu6050_write_raw, .write_raw_get_fmt = &inv_write_raw_get_fmt, .attrs = &inv_attribute_group, .validate_trigger = inv_mpu6050_validate_trigger, + .debugfs_reg_access = &inv_mpu6050_reg_access, }; /** -- 2.23.0.385.gbc12974a89