Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1463909 > unrolled thread

[PATCH v3 2/8] usb: ulpi: add new api functions, {read|write}_dev()

Started byTal Shorer <tal.shorer@gmail.com>
First post2016-08-16 18:10 +0200
Last post2016-08-17 13:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v3 2/8] usb: ulpi: add new api functions, {read|write}_dev() Tal Shorer <tal.shorer@gmail.com> - 2016-08-16 18:10 +0200
    Re: [PATCH v3 2/8] usb: ulpi: add new api functions,  {read|write}_dev() Heikki Krogerus <heikki.krogerus@linux.intel.com> - 2016-08-17 13:20 +0200

#1463909 — [PATCH v3 2/8] usb: ulpi: add new api functions, {read|write}_dev()

FromTal Shorer <tal.shorer@gmail.com>
Date2016-08-16 18:10 +0200
Subject[PATCH v3 2/8] usb: ulpi: add new api functions, {read|write}_dev()
Message-ID<s6P69-5fK-1@gated-at.bofh.it>
Add these two new api callbacks to struct ulpi_ops. These are different
than read, write in that they pass the parent device directly instead
of via the ops argument.
They are intended to replace the old api functions.

If the new api callbacks are missing, revert to calling the old ones
as before.

Signed-off-by: Tal Shorer <tal.shorer@gmail.com>
---
 drivers/usb/common/ulpi.c      | 8 ++++++--
 include/linux/ulpi/interface.h | 2 ++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c
index c6ce92b..15e4a14 100644
--- a/drivers/usb/common/ulpi.c
+++ b/drivers/usb/common/ulpi.c
@@ -21,13 +21,17 @@
 
 int ulpi_read(struct ulpi *ulpi, u8 addr)
 {
-	return ulpi->ops->read(ulpi->ops, addr);
+	if (!ulpi->ops->read_dev)
+		return ulpi->ops->read(ulpi->ops, addr);
+	return ulpi->ops->read_dev(ulpi->dev.parent, addr);
 }
 EXPORT_SYMBOL_GPL(ulpi_read);
 
 int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val)
 {
-	return ulpi->ops->write(ulpi->ops, addr, val);
+	if (!ulpi->ops->write_dev)
+		return ulpi->ops->write(ulpi->ops, addr, val);
+	return ulpi->ops->write_dev(ulpi->dev.parent, addr, val);
 }
 EXPORT_SYMBOL_GPL(ulpi_write);
 
diff --git a/include/linux/ulpi/interface.h b/include/linux/ulpi/interface.h
index 4de8ab4..d8189d0 100644
--- a/include/linux/ulpi/interface.h
+++ b/include/linux/ulpi/interface.h
@@ -15,6 +15,8 @@ struct ulpi_ops {
 	struct device *dev;
 	int (*read)(struct ulpi_ops *ops, u8 addr);
 	int (*write)(struct ulpi_ops *ops, u8 addr, u8 val);
+	int (*read_dev)(struct device *dev, u8 addr);
+	int (*write_dev)(struct device *dev, u8 addr, u8 val);
 };
 
 struct ulpi *ulpi_register_interface(struct device *, struct ulpi_ops *);
-- 
2.7.4

[toc] | [next] | [standalone]


#1464509 — Re: [PATCH v3 2/8] usb: ulpi: add new api functions, {read|write}_dev()

FromHeikki Krogerus <heikki.krogerus@linux.intel.com>
Date2016-08-17 13:20 +0200
SubjectRe: [PATCH v3 2/8] usb: ulpi: add new api functions, {read|write}_dev()
Message-ID<s7733-g9-7@gated-at.bofh.it>
In reply to#1463909
On Tue, Aug 16, 2016 at 07:04:47PM +0300, Tal Shorer wrote:
> Add these two new api callbacks to struct ulpi_ops. These are different
> than read, write in that they pass the parent device directly instead
> of via the ops argument.
> They are intended to replace the old api functions.
> 
> If the new api callbacks are missing, revert to calling the old ones
> as before.
> 
> Signed-off-by: Tal Shorer <tal.shorer@gmail.com>

Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

Thanks,

-- 
heikki

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web