diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-03 15:15:10 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-03 15:15:10 -0500 |
| commit | 73ad0adcb69d6a895ff73855ab366a7ae0b2fb0b (patch) | |
| tree | a66967eb3fe9b6162820c93b5c56221d90c291c8 /include/linux/phy | |
| parent | 99f14bd4d1b2a1b1b6cd508e08efdbc5e3919198 (diff) | |
| parent | 836a2164491b19dcd4f29d574e548bcadd421a6a (diff) | |
Merge tag 'usb-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes:
usb: changes for v3.14 merge window
This pull request is quite extensive, containing
105 non-merge commits. Because of that, we describe
the changes in sections below:
New drivers:
- Keystone PHY driver and DWC3 Glue Layer
- Aeroflex Gaisler GRUSBDC
- Tahvo PHY driver for N770
- JZ4740 MUSB gluer Layer
- Broadcom PHY Driver
Important new features:
- MUSB DSPS learned about suspend/resume
- New quirk_ep_out_aligned_size flag added to struct usb_gadget
- DWC3 initializes the new quirk flag so gadget drivers can use it.
- AM335x PHY Driver learns about remote wakeup
- Renesas USBHS now requests DMA Engine only once
- s3c-hsotg is now re-used on Broadcom devices
- USB PHY layer now makes sure to initialize the notifier for all
drivers
- omap-control learned about TI's new AM437x devices
- few other usb gadget/function drivers learned about the new
configfs-based binding.
Misc Fixes and Clean Ups:
- Several sparse fixes all over the place
- Removal of redundant of_match_ptr()
- r-car gen2 phy now uses usb_add_phy_dev()
- removal of DEFINE_PCI_DEVICE_TABLE() from a few drivers
- conversion to clk_prepare/clk_unprepare on r8a66597-udc
- some randconfig errors and build warnings were fixed
- removal of unnecessary lock on dwc3-omap.c
Signed-of-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'include/linux/phy')
| -rw-r--r-- | include/linux/phy/phy.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h index 6d722695e027..e273e5ac19c9 100644 --- a/include/linux/phy/phy.h +++ b/include/linux/phy/phy.h | |||
| @@ -38,6 +38,14 @@ struct phy_ops { | |||
| 38 | }; | 38 | }; |
| 39 | 39 | ||
| 40 | /** | 40 | /** |
| 41 | * struct phy_attrs - represents phy attributes | ||
| 42 | * @bus_width: Data path width implemented by PHY | ||
| 43 | */ | ||
| 44 | struct phy_attrs { | ||
| 45 | u32 bus_width; | ||
| 46 | }; | ||
| 47 | |||
| 48 | /** | ||
| 41 | * struct phy - represents the phy device | 49 | * struct phy - represents the phy device |
| 42 | * @dev: phy device | 50 | * @dev: phy device |
| 43 | * @id: id of the phy device | 51 | * @id: id of the phy device |
| @@ -46,6 +54,7 @@ struct phy_ops { | |||
| 46 | * @mutex: mutex to protect phy_ops | 54 | * @mutex: mutex to protect phy_ops |
| 47 | * @init_count: used to protect when the PHY is used by multiple consumers | 55 | * @init_count: used to protect when the PHY is used by multiple consumers |
| 48 | * @power_count: used to protect when the PHY is used by multiple consumers | 56 | * @power_count: used to protect when the PHY is used by multiple consumers |
| 57 | * @phy_attrs: used to specify PHY specific attributes | ||
| 49 | */ | 58 | */ |
| 50 | struct phy { | 59 | struct phy { |
| 51 | struct device dev; | 60 | struct device dev; |
| @@ -55,6 +64,7 @@ struct phy { | |||
| 55 | struct mutex mutex; | 64 | struct mutex mutex; |
| 56 | int init_count; | 65 | int init_count; |
| 57 | int power_count; | 66 | int power_count; |
| 67 | struct phy_attrs attrs; | ||
| 58 | }; | 68 | }; |
| 59 | 69 | ||
| 60 | /** | 70 | /** |
| @@ -127,6 +137,14 @@ int phy_init(struct phy *phy); | |||
| 127 | int phy_exit(struct phy *phy); | 137 | int phy_exit(struct phy *phy); |
| 128 | int phy_power_on(struct phy *phy); | 138 | int phy_power_on(struct phy *phy); |
| 129 | int phy_power_off(struct phy *phy); | 139 | int phy_power_off(struct phy *phy); |
| 140 | static inline int phy_get_bus_width(struct phy *phy) | ||
| 141 | { | ||
| 142 | return phy->attrs.bus_width; | ||
| 143 | } | ||
| 144 | static inline void phy_set_bus_width(struct phy *phy, int bus_width) | ||
| 145 | { | ||
| 146 | phy->attrs.bus_width = bus_width; | ||
| 147 | } | ||
| 130 | struct phy *phy_get(struct device *dev, const char *string); | 148 | struct phy *phy_get(struct device *dev, const char *string); |
| 131 | struct phy *devm_phy_get(struct device *dev, const char *string); | 149 | struct phy *devm_phy_get(struct device *dev, const char *string); |
| 132 | void phy_put(struct phy *phy); | 150 | void phy_put(struct phy *phy); |
| @@ -199,6 +217,16 @@ static inline int phy_power_off(struct phy *phy) | |||
| 199 | return -ENOSYS; | 217 | return -ENOSYS; |
| 200 | } | 218 | } |
| 201 | 219 | ||
| 220 | static inline int phy_get_bus_width(struct phy *phy) | ||
| 221 | { | ||
| 222 | return -ENOSYS; | ||
| 223 | } | ||
| 224 | |||
| 225 | static inline void phy_set_bus_width(struct phy *phy, int bus_width) | ||
| 226 | { | ||
| 227 | return; | ||
| 228 | } | ||
| 229 | |||
| 202 | static inline struct phy *phy_get(struct device *dev, const char *string) | 230 | static inline struct phy *phy_get(struct device *dev, const char *string) |
| 203 | { | 231 | { |
| 204 | return ERR_PTR(-ENOSYS); | 232 | return ERR_PTR(-ENOSYS); |
