From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Wolfram Sang <wsa@kernel.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Ajay Gupta <ajayg@nvidia.com>,
"Shah, Nehal-bakulchandra" <nehal-bakulchandra.shah@amd.com>
Subject: [PATCH v3 5/5] i2c: designware-pci: Switch to use i2c_new_ccgx_ucsi()
Date: Wed, 5 Jan 2022 16:19:35 +0200 [thread overview]
Message-ID: <20220105141935.24109-5-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20220105141935.24109-1-andriy.shevchenko@linux.intel.com>
Instead of open coded variant switch to use i2c_new_ccgx_ucsi().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
---
v3: added tag (Jarkko)
drivers/i2c/busses/Kconfig | 1 +
drivers/i2c/busses/i2c-designware-pcidrv.c | 30 ++++------------------
2 files changed, 6 insertions(+), 25 deletions(-)
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 0c9b089d1456..e2e8ae7ed2a7 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -578,6 +578,7 @@ config I2C_DESIGNWARE_PCI
tristate "Synopsys DesignWare PCI"
depends on PCI
select I2C_DESIGNWARE_CORE
+ select I2C_CCGX_UCSI
help
If you say yes to this option, support will be included for the
Synopsys DesignWare I2C adapter. Only master mode is supported.
diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
index ef4250f8852b..2782dddfb087 100644
--- a/drivers/i2c/busses/i2c-designware-pcidrv.c
+++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
@@ -24,6 +24,7 @@
#include <linux/slab.h>
#include "i2c-designware-core.h"
+#include "i2c-ccgx-ucsi.h"
#define DRIVER_NAME "i2c-designware-pci"
#define AMD_CLK_RATE_HZ 100000
@@ -125,26 +126,6 @@ static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
return -ENODEV;
}
- /*
- * TODO find a better way how to deduplicate instantiation
- * of USB PD slave device from nVidia GPU driver.
- */
-static int navi_amd_register_client(struct dw_i2c_dev *dev)
-{
- struct i2c_board_info info;
-
- memset(&info, 0, sizeof(struct i2c_board_info));
- strscpy(info.type, "ccgx-ucsi", I2C_NAME_SIZE);
- info.addr = 0x08;
- info.irq = dev->irq;
-
- dev->slave = i2c_new_client_device(&dev->adapter, &info);
- if (IS_ERR(dev->slave))
- return PTR_ERR(dev->slave);
-
- return 0;
-}
-
static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
{
struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev);
@@ -325,11 +306,10 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev,
}
if ((dev->flags & MODEL_MASK) == MODEL_AMD_NAVI_GPU) {
- r = navi_amd_register_client(dev);
- if (r) {
- dev_err(dev->dev, "register client failed with %d\n", r);
- return r;
- }
+ dev->slave = i2c_new_ccgx_ucsi(&dev->adapter, dev->irq, NULL);
+ if (IS_ERR(dev->slave))
+ return dev_err_probe(dev->dev, PTR_ERR(dev->slave),
+ "register UCSI failed\n");
}
pm_runtime_set_autosuspend_delay(&pdev->dev, 1000);
--
2.34.1
next prev parent reply other threads:[~2022-01-05 14:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-05 14:19 [PATCH v3 1/5] i2c: Introduce common module to instantiate CCGx UCSI Andy Shevchenko
2022-01-05 14:19 ` [PATCH v3 2/5] i2c: nvidia-gpu: Switch to use i2c_new_ccgx_ucsi() Andy Shevchenko
2022-02-15 9:08 ` Wolfram Sang
2022-01-05 14:19 ` [PATCH v3 3/5] i2c: nvidia-gpu: Use temporary variable for struct device Andy Shevchenko
2022-02-15 9:08 ` Wolfram Sang
2022-01-05 14:19 ` [PATCH v3 4/5] i2c: nvidia-gpu: Convert to use dev_err_probe() Andy Shevchenko
2022-02-15 9:08 ` Wolfram Sang
2022-01-05 14:19 ` Andy Shevchenko [this message]
2022-02-15 9:08 ` [PATCH v3 5/5] i2c: designware-pci: Switch to use i2c_new_ccgx_ucsi() Wolfram Sang
2022-01-24 15:06 ` [PATCH v3 1/5] i2c: Introduce common module to instantiate CCGx UCSI Andy Shevchenko
2022-02-07 13:13 ` Andy Shevchenko
2022-02-07 14:14 ` Wolfram Sang
2022-02-07 14:39 ` Andy Shevchenko
2022-02-15 9:10 ` Wolfram Sang
2022-02-15 9:45 ` Andy Shevchenko
2022-02-15 12:46 ` Wolfram Sang
2022-02-15 17:41 ` Ajay Gupta
2022-02-15 9:07 ` Wolfram Sang
2022-02-15 9:46 ` Andy Shevchenko
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=20220105141935.24109-5-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=ajayg@nvidia.com \
--cc=jarkko.nikula@linux.intel.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=nehal-bakulchandra.shah@amd.com \
--cc=wsa@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.