mirror of https://gitee.com/openkylin/linux.git
usb: ulpi: add new api functions, {read|write}_dev()
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. Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Tal Shorer <tal.shorer@gmail.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
51b0ce387b
commit
6691402313
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 *);
|
||||
|
|
Loading…
Reference in New Issue