[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f0e0c31e-ad5e-c3ae-945e-c2af0d68beab@linux.intel.com>
Date: Fri, 28 Jul 2023 15:25:58 +0300
From: Jarkko Nikula <jarkko.nikula@...ux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Mario Limonciello <mario.limonciello@....com>,
Wolfram Sang <wsa@...nel.org>, linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Mika Westerberg <mika.westerberg@...ux.intel.com>,
Jan Dabros <jsd@...ihalf.com>,
Andi Shyti <andi.shyti@...nel.org>
Subject: Re: [PATCH v1 4/9] i2c: designware: Propagate firmware node
On 7/25/23 17:30, Andy Shevchenko wrote:
> Propagate firmware node by using a specific API call, i.e. device_set_node().
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
> ---
> drivers/i2c/busses/i2c-designware-core.h | 6 ++++--
> drivers/i2c/busses/i2c-designware-pcidrv.c | 2 --
> drivers/i2c/busses/i2c-designware-platdrv.c | 2 --
> 3 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h
> index 03f4d44ae94c..f0c683ad860f 100644
> --- a/drivers/i2c/busses/i2c-designware-core.h
> +++ b/drivers/i2c/busses/i2c-designware-core.h
> @@ -10,11 +10,11 @@
> */
>
> #include <linux/bits.h>
> -#include <linux/compiler_types.h>
> #include <linux/completion.h>
> -#include <linux/dev_printk.h>
> +#include <linux/device.h>
> #include <linux/errno.h>
> #include <linux/i2c.h>
> +#include <linux/property.h>
> #include <linux/regmap.h>
> #include <linux/types.h>
>
> @@ -363,6 +363,8 @@ static inline int i2c_dw_probe_slave(struct dw_i2c_dev *dev) { return -EINVAL; }
>
> static inline int i2c_dw_probe(struct dw_i2c_dev *dev)
> {
> + device_set_node(&dev->adapter.dev, dev_fwnode(dev->dev));
> +
Would this be better to put in the same place where ACPI_COMPANION_SET()
is removed like below? I'd keep this static inline function in the
header file as simple as possible. All extra code might invite adding
even more.
> switch (dev->mode) {
> case DW_IC_SLAVE:
> return i2c_dw_probe_slave(dev);
> diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> index 7f5a04538c71..a42a47e0032d 100644
> --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> @@ -9,7 +9,6 @@
> * Copyright (C) 2009 Provigent Ltd.
> * Copyright (C) 2011, 2015, 2016 Intel Corporation.
> */
> -#include <linux/acpi.h>
> #include <linux/delay.h>
> #include <linux/err.h>
> #include <linux/errno.h>
> @@ -325,7 +324,6 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev,
> adap = &dev->adapter;
> adap->owner = THIS_MODULE;
> adap->class = 0;
> - ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev));
> adap->nr = controller->bus_num;
Powered by blists - more mailing lists