linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-i2c@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org, Lee Jones <lee.jones@linaro.org>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Kevin Fenzi <kevin@scrye.com>, Arnd Bergmann <arnd@arndb.de>,
	Wolfram Sang <wsa@the-dreams.de>
Subject: Re: [PATCH v1 13/13] i2c: designware: Convert to use unified device property API
Date: Tue, 24 Nov 2015 12:53:06 +0200	[thread overview]
Message-ID: <56544192.1030708@linux.intel.com> (raw)
In-Reply-To: <1448360579-79260-14-git-send-email-andriy.shevchenko@linux.intel.com>

On 11/24/2015 12:22 PM, Andy Shevchenko wrote:
> From: Mika Westerberg <mika.westerberg@linux.intel.com>
>
> With ACPI _DSD (introduced in ACPI v5.1) it is now possible to pass device
> configuration information from ACPI in addition to DT. In order to support
> this, convert the driver to use the unified device property accessors
> instead of DT specific.
>
> Change to ordering a bit so that we first try platform data and if that's
> not available look from device properties. ACPI *CNT methods are then used
> as last resort to override everything else.
>
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>   drivers/i2c/busses/i2c-designware-platdrv.c | 48 +++++++++++++----------------
>   1 file changed, 22 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
> index 809579e..e9062be 100644
> --- a/drivers/i2c/busses/i2c-designware-platdrv.c
> +++ b/drivers/i2c/busses/i2c-designware-platdrv.c
> @@ -36,6 +36,7 @@
>   #include <linux/platform_device.h>
>   #include <linux/pm.h>
>   #include <linux/pm_runtime.h>
> +#include <linux/property.h>
>   #include <linux/io.h>
>   #include <linux/slab.h>
>   #include <linux/acpi.h>
> @@ -156,33 +157,28 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
>   	/* fast mode by default because of legacy reasons */
>   	clk_freq = 400000;
>
> -	if (has_acpi_companion(&pdev->dev)) {
> -		dw_i2c_acpi_configure(pdev);
> -	} else if (pdev->dev.of_node) {
> -		of_property_read_u32(pdev->dev.of_node,
> -					"i2c-sda-hold-time-ns", &ht);
> -
> -		of_property_read_u32(pdev->dev.of_node,
> -				     "i2c-sda-falling-time-ns",
> -				     &dev->sda_falling_time);
> -		of_property_read_u32(pdev->dev.of_node,
> -				     "i2c-scl-falling-time-ns",
> -				     &dev->scl_falling_time);
> -
> -		of_property_read_u32(pdev->dev.of_node, "clock-frequency",
> -				     &clk_freq);
> -
> -		/* Only standard mode at 100kHz and fast mode at 400kHz
> -		 * are supported.
> -		 */
> -		if (clk_freq != 100000 && clk_freq != 400000) {
> -			dev_err(&pdev->dev, "Only 100kHz and 400kHz supported");
> -			return -EINVAL;
> -		}
> +	if ((pdata = dev_get_platdata(&pdev->dev))) {
> +		clk_freq = pdata->i2c_scl_freq;
>   	} else {
> -		pdata = dev_get_platdata(&pdev->dev);
> -		if (pdata)
> -			clk_freq = pdata->i2c_scl_freq;
> +		device_property_read_u32(&pdev->dev, "i2c-sda-hold-time-ns",
> +					 &ht);
> +		device_property_read_u32(&pdev->dev, "i2c-sda-falling-time-ns",
> +					 &dev->sda_falling_time);
> +		device_property_read_u32(&pdev->dev, "i2c-scl-falling-time-ns",
> +					 &dev->scl_falling_time);
> +		device_property_read_u32(&pdev->dev, "clock-frequency",
> +					 &clk_freq);

Mika, Andy: Was this one able to go separately? At least it builds 
without rest of the set but is there anything that could break DT based 
system if there are no patches 1-8/13?

Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>

  reply	other threads:[~2015-11-24 10:53 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-24 10:22 [PATCH v1 00/13] intel-lpss: support non-ACPI platforms Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 01/13] device property: always check for fwnode type Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 02/13] device property: rename helper functions Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 03/13] device property: refactor built-in properties support Andy Shevchenko
2015-11-24 14:37   ` Rafael J. Wysocki
2015-11-24 14:40     ` Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 04/13] device property: keep single value inplace Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 05/13] device property: helper macros for property entry creation Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 06/13] device property: improve readability of macros Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 07/13] device property: return -EINVAL when property isn't found in ACPI Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 08/13] device property: Fallback to secondary fwnode if primary misses the property Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 09/13] mfd: core: propagate device properties to sub devices drivers Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 10/13] mfd: intel-lpss: Add support for passing device properties Andy Shevchenko
2015-11-24 10:22 ` [PATCH v1 11/13] mfd: intel-lpss: Pass HSUART configuration via properties Andy Shevchenko
2015-11-24 10:44   ` kbuild test robot
2015-11-24 11:13     ` Mika Westerberg
2015-11-24 19:53   ` Arnd Bergmann
2015-11-25 12:12     ` Mika Westerberg
2015-11-24 10:22 ` [PATCH v1 12/13] mfd: intel-lpss: Pass SDA hold time to I2C host controller driver Andy Shevchenko
2015-11-24 10:50   ` kbuild test robot
2015-11-24 10:22 ` [PATCH v1 13/13] i2c: designware: Convert to use unified device property API Andy Shevchenko
2015-11-24 10:53   ` Jarkko Nikula [this message]
2015-11-24 11:03     ` Mika Westerberg
2015-11-24 15:11 ` [PATCH v1 00/13] intel-lpss: support non-ACPI platforms Rafael J. Wysocki
2015-11-24 14:49   ` Andy Shevchenko
2015-11-24 20:00 ` Arnd Bergmann
2015-11-24 22:17   ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56544192.1030708@linux.intel.com \
    --to=jarkko.nikula@linux.intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=kevin@scrye.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=rjw@rjwysocki.net \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).