Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2907820imu; Sun, 11 Nov 2018 03:43:06 -0800 (PST) X-Google-Smtp-Source: AJdET5cZQgnZ9fwBoQfsP/yJOCL+Hn3wI1yrUlLJvTKHz02I9qocgbywI5VHGuHWeK1XV8wuyE8f X-Received: by 2002:a17:902:25ab:: with SMTP id y40-v6mr15794814pla.258.1541936586595; Sun, 11 Nov 2018 03:43:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541936586; cv=none; d=google.com; s=arc-20160816; b=nhjoVsCiSCt8ZWgkwSAZgQui3ST3uidhuyQ3hx9nx1P2wIl2AnwjbNoWFqVXTf4GjZ Nf8aq6baHFtQyTANsb0lScDG41gJytkWPlz62/8FP5g4XhveaAarzAhB45aWeWOl4UdT P6EfOT/9GfQ5gPsgAf7MPe+/cGadOw+f+ojrZyRalcOoICSfLjU5Hnn9qwYn3sKEOqhg rn9WGfsY5DcXeo4oUDGrz3XmaU9tpW9BvDp8XOPUa9NPfVBNMdv3jNotRNHYQaTmPVVz N1/4MexQHPHpDgCIp9CbskbvbnAsnxKuo5BiIl8Hd9dEd5B/pXevoS23t7Ef7zlVX/uk F/bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=wGLM3TE5GYzy67vg6jklWcmlQQyjFkibz2jUbuVW4KY=; b=IzsCVwpHhbE49T4EqDB4rH3khzLib2Dop0jxOk2tIfbg9sYJZNx1wog1n1k3HaLcm6 cSJMmt80sxCnGz0oxuJ6r4ymO2ce+C5u4lb97xhPm50g344YggTAvihQVO20roicn9e8 Ec9cqicuH1qeRKMcm8BehDmBREoxGRoiH9wgn0uydv06/+Hgbvr+f7auH17GTzEJPvBK o0ycS4xwjq97IKA/jUWj+40g9mCDMhBG2XJrHKIQELOQuSTrzpclHfs6IoFFrHnPLbUC VMEVlLh8PQhCeX9f19TtY0tli4RtSyVdP2qjm6ZeVlPv4WuhoJloP67aQSIUD0cavb9Z ZR9Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hNWVufNh; 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=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f1-v6si13720004pld.395.2018.11.11.03.42.50; Sun, 11 Nov 2018 03:43:06 -0800 (PST) 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=@kernel.org header.s=default header.b=hNWVufNh; 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=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727721AbeKKVav (ORCPT + 99 others); Sun, 11 Nov 2018 16:30:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:53050 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727440AbeKKVav (ORCPT ); Sun, 11 Nov 2018 16:30:51 -0500 Received: from archlinux (cpc91196-cmbg18-2-0-cust659.5-4.cable.virginm.net [81.96.234.148]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E5C7020866; Sun, 11 Nov 2018 11:42:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541936549; bh=Qhi5lM0wWSdIxP9N22IY1lgCBSP3vxV8I0DYd+In9cU=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=hNWVufNhNZI3dqyurHO589WIkZWRuX/oFAcVJeg0F55Y5830COOJToAvDUE7xfTeY emzgBBOse0vpbNKgepu7YNx6OaGwoVpto04EVYbrA4amYIQIwzD0Fo/oD3D+b9l7UV 92xSE98sJ+QF/3DgueeZ3JLP8Tf17kXv6KU2O08Q= Date: Sun, 11 Nov 2018 11:42:24 +0000 From: Jonathan Cameron To: Matheus Tavares Cc: Lars-Peter Clausen , Michael Hennerich , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland , linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com, Mark Brown Subject: Re: [PATCH 2/6] staging:iio:ad2s90: Remove spi setup that should be done via dt Message-ID: <20181111114224.1d8cfaec@archlinux> In-Reply-To: <20181109220044.24843-3-matheus.bernardino@usp.br> References: <20181109220044.24843-1-matheus.bernardino@usp.br> <20181109220044.24843-3-matheus.bernardino@usp.br> X-Mailer: Claws Mail 3.17.1 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 9 Nov 2018 20:00:40 -0200 Matheus Tavares wrote: > The ad2s90 driver currently sets some spi settings (max_speed_hz and > mode) at ad2s90_probe. This should, instead, be handled via device tree. > This patch removes these configurations from the probe function. > > Note: The way in which the mentioned spi settings need to be specified > on the ad2s90's node of a device tree will be documented in the future > patch "dt-bindings:iio:resolver: Add docs for ad2s90". > > Signed-off-by: Matheus Tavares I'd actually like to get Rob and Mark's views on this one. Previously I would just have applied it without thinking on the basis these can be easily specified from devicetree. Recent discussions with Rob have suggested that the settings in devicetree should perhaps be concerned with specifying constraints about the device that are not visible to the driver. The driver itself should apply the device constraints, but there are others such as wiring that might reduce the maximum frequency for example... So should a driver be clamping an over specified value from DT for example? Or given that is optional in DT, should it be making sure that a controller max frequency isn't too high for the sensor? It seems to be unusual to do this, but to my mind it would make sense and might be worth pushing out into more drivers. Jonathan > --- > drivers/staging/iio/resolver/ad2s90.c | 11 ----------- > 1 file changed, 11 deletions(-) > > diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c > index ff32ca76ca00..95c118c48400 100644 > --- a/drivers/staging/iio/resolver/ad2s90.c > +++ b/drivers/staging/iio/resolver/ad2s90.c > @@ -77,7 +77,6 @@ static int ad2s90_probe(struct spi_device *spi) > { > struct iio_dev *indio_dev; > struct ad2s90_state *st; > - int ret; > > indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); > if (!indio_dev) > @@ -94,16 +93,6 @@ static int ad2s90_probe(struct spi_device *spi) > indio_dev->num_channels = 1; > indio_dev->name = spi_get_device_id(spi)->name; > > - /* need 600ns between CS and the first falling edge of SCLK */ > - spi->max_speed_hz = 830000; > - spi->mode = SPI_MODE_3; > - ret = spi_setup(spi); > - > - if (ret < 0) { > - dev_err(&spi->dev, "spi_setup failed!\n"); > - return ret; > - } > - > return devm_iio_device_register(indio_dev->dev.parent, indio_dev); > } >