From: Tomasz Figa <tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Praveen Paneri <p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
balbi-l0cyMroinI0@public.gmane.org,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org,
broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org,
l.majewski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org,
heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org,
t.figa-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org
Subject: Re: [PATCH v8 2/2] usb: s3c-hsotg: Adding phy driver support
Date: Wed, 21 Nov 2012 21:11:57 +0100 [thread overview]
Message-ID: <1433031.3ftjAfsj34@flatron> (raw)
In-Reply-To: <1352888836-17192-3-git-send-email-p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Hi Praveen,
On Wednesday 14 of November 2012 15:57:16 Praveen Paneri wrote:
> Adding the transceiver to hsotg driver. Keeping the platform data
> for continuing the smooth operation for boards which still uses it
>
> Signed-off-by: Praveen Paneri <p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> Acked-by: Kyungmin Park <kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> ---
> drivers/usb/gadget/s3c-hsotg.c | 37
> +++++++++++++++++++++++++++---------- 1 files changed, 27
> insertions(+), 10 deletions(-)
>
> diff --git a/drivers/usb/gadget/s3c-hsotg.c
> b/drivers/usb/gadget/s3c-hsotg.c index 6f696ee..bc30a2d 100644
> --- a/drivers/usb/gadget/s3c-hsotg.c
> +++ b/drivers/usb/gadget/s3c-hsotg.c
> @@ -32,6 +32,7 @@
>
> #include <linux/usb/ch9.h>
> #include <linux/usb/gadget.h>
> +#include <linux/usb/phy.h>
> #include <linux/platform_data/s3c-hsotg.h>
>
> #include <mach/map.h>
> @@ -133,7 +134,9 @@ struct s3c_hsotg_ep {
> * struct s3c_hsotg - driver state.
> * @dev: The parent device supplied to the probe function
> * @driver: USB gadget driver
> - * @plat: The platform specific configuration data.
> + * @phy: The otg phy transceiver structure for phy control.
> + * @plat: The platform specific configuration data. This can be removed
> once + * all SoCs support usb transceiver.
> * @regs: The memory area mapped for accessing registers.
> * @irq: The IRQ number we are using
> * @supplies: Definition of USB power supplies
> @@ -153,6 +156,7 @@ struct s3c_hsotg_ep {
> struct s3c_hsotg {
> struct device *dev;
> struct usb_gadget_driver *driver;
> + struct usb_phy *phy;
> struct s3c_hsotg_plat *plat;
>
> spinlock_t lock;
> @@ -2854,7 +2858,10 @@ static void s3c_hsotg_phy_enable(struct s3c_hsotg
> *hsotg) struct platform_device *pdev = to_platform_device(hsotg->dev);
>
> dev_dbg(hsotg->dev, "pdev 0x%p\n", pdev);
> - if (hsotg->plat->phy_init)
> +
> + if (hsotg->phy)
> + usb_phy_init(hsotg->phy);
> + else if (hsotg->plat->phy_init)
> hsotg->plat->phy_init(pdev, hsotg->plat->phy_type);
> }
>
> @@ -2869,7 +2876,9 @@ static void s3c_hsotg_phy_disable(struct s3c_hsotg
> *hsotg) {
> struct platform_device *pdev = to_platform_device(hsotg->dev);
>
> - if (hsotg->plat->phy_exit)
> + if (hsotg->phy)
> + usb_phy_shutdown(hsotg->phy);
> + else if (hsotg->plat->phy_exit)
> hsotg->plat->phy_exit(pdev, hsotg->plat->phy_type);
> }
>
> @@ -3493,6 +3502,7 @@ static void s3c_hsotg_release(struct device *dev)
> static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
> {
> struct s3c_hsotg_plat *plat = pdev->dev.platform_data;
> + struct usb_phy *phy;
> struct device *dev = &pdev->dev;
> struct s3c_hsotg_ep *eps;
> struct s3c_hsotg *hsotg;
> @@ -3501,20 +3511,27 @@ static int __devinit s3c_hsotg_probe(struct
> platform_device *pdev) int ret;
> int i;
>
> - plat = pdev->dev.platform_data;
> - if (!plat) {
> - dev_err(&pdev->dev, "no platform data defined\n");
> - return -EINVAL;
> - }
> -
> hsotg = devm_kzalloc(&pdev->dev, sizeof(struct s3c_hsotg),
> GFP_KERNEL); if (!hsotg) {
> dev_err(dev, "cannot get memory\n");
> return -ENOMEM;
> }
>
> + phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
> + if (IS_ERR_OR_NULL(phy)) {
> + /* Fallback for pdata */
> + plat = pdev->dev.platform_data;
> + if (!plat) {
> + dev_err(&pdev->dev, "no platform data or transceiver
defined\n");
> + return -EPROBE_DEFER;
> + } else {
> + hsotg->plat = plat;
> + }
nitpick: The hsotg->plat = plat; assignment can be made without the else
statement as well.
Best regards,
Tomasz Figa
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: tomasz.figa@gmail.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 2/2] usb: s3c-hsotg: Adding phy driver support
Date: Wed, 21 Nov 2012 21:11:57 +0100 [thread overview]
Message-ID: <1433031.3ftjAfsj34@flatron> (raw)
In-Reply-To: <1352888836-17192-3-git-send-email-p.paneri@samsung.com>
Hi Praveen,
On Wednesday 14 of November 2012 15:57:16 Praveen Paneri wrote:
> Adding the transceiver to hsotg driver. Keeping the platform data
> for continuing the smooth operation for boards which still uses it
>
> Signed-off-by: Praveen Paneri <p.paneri@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> drivers/usb/gadget/s3c-hsotg.c | 37
> +++++++++++++++++++++++++++---------- 1 files changed, 27
> insertions(+), 10 deletions(-)
>
> diff --git a/drivers/usb/gadget/s3c-hsotg.c
> b/drivers/usb/gadget/s3c-hsotg.c index 6f696ee..bc30a2d 100644
> --- a/drivers/usb/gadget/s3c-hsotg.c
> +++ b/drivers/usb/gadget/s3c-hsotg.c
> @@ -32,6 +32,7 @@
>
> #include <linux/usb/ch9.h>
> #include <linux/usb/gadget.h>
> +#include <linux/usb/phy.h>
> #include <linux/platform_data/s3c-hsotg.h>
>
> #include <mach/map.h>
> @@ -133,7 +134,9 @@ struct s3c_hsotg_ep {
> * struct s3c_hsotg - driver state.
> * @dev: The parent device supplied to the probe function
> * @driver: USB gadget driver
> - * @plat: The platform specific configuration data.
> + * @phy: The otg phy transceiver structure for phy control.
> + * @plat: The platform specific configuration data. This can be removed
> once + * all SoCs support usb transceiver.
> * @regs: The memory area mapped for accessing registers.
> * @irq: The IRQ number we are using
> * @supplies: Definition of USB power supplies
> @@ -153,6 +156,7 @@ struct s3c_hsotg_ep {
> struct s3c_hsotg {
> struct device *dev;
> struct usb_gadget_driver *driver;
> + struct usb_phy *phy;
> struct s3c_hsotg_plat *plat;
>
> spinlock_t lock;
> @@ -2854,7 +2858,10 @@ static void s3c_hsotg_phy_enable(struct s3c_hsotg
> *hsotg) struct platform_device *pdev = to_platform_device(hsotg->dev);
>
> dev_dbg(hsotg->dev, "pdev 0x%p\n", pdev);
> - if (hsotg->plat->phy_init)
> +
> + if (hsotg->phy)
> + usb_phy_init(hsotg->phy);
> + else if (hsotg->plat->phy_init)
> hsotg->plat->phy_init(pdev, hsotg->plat->phy_type);
> }
>
> @@ -2869,7 +2876,9 @@ static void s3c_hsotg_phy_disable(struct s3c_hsotg
> *hsotg) {
> struct platform_device *pdev = to_platform_device(hsotg->dev);
>
> - if (hsotg->plat->phy_exit)
> + if (hsotg->phy)
> + usb_phy_shutdown(hsotg->phy);
> + else if (hsotg->plat->phy_exit)
> hsotg->plat->phy_exit(pdev, hsotg->plat->phy_type);
> }
>
> @@ -3493,6 +3502,7 @@ static void s3c_hsotg_release(struct device *dev)
> static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
> {
> struct s3c_hsotg_plat *plat = pdev->dev.platform_data;
> + struct usb_phy *phy;
> struct device *dev = &pdev->dev;
> struct s3c_hsotg_ep *eps;
> struct s3c_hsotg *hsotg;
> @@ -3501,20 +3511,27 @@ static int __devinit s3c_hsotg_probe(struct
> platform_device *pdev) int ret;
> int i;
>
> - plat = pdev->dev.platform_data;
> - if (!plat) {
> - dev_err(&pdev->dev, "no platform data defined\n");
> - return -EINVAL;
> - }
> -
> hsotg = devm_kzalloc(&pdev->dev, sizeof(struct s3c_hsotg),
> GFP_KERNEL); if (!hsotg) {
> dev_err(dev, "cannot get memory\n");
> return -ENOMEM;
> }
>
> + phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
> + if (IS_ERR_OR_NULL(phy)) {
> + /* Fallback for pdata */
> + plat = pdev->dev.platform_data;
> + if (!plat) {
> + dev_err(&pdev->dev, "no platform data or transceiver
defined\n");
> + return -EPROBE_DEFER;
> + } else {
> + hsotg->plat = plat;
> + }
nitpick: The hsotg->plat = plat; assignment can be made without the else
statement as well.
Best regards,
Tomasz Figa
next prev parent reply other threads:[~2012-11-21 20:11 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-14 10:27 [PATCH v8 0/2] usb: phy: samsung: Introducing usb phy driver for samsung SoCs Praveen Paneri
2012-11-14 10:27 ` Praveen Paneri
[not found] ` <1352888836-17192-1-git-send-email-p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-11-14 10:27 ` [PATCH v8 1/2] usb: phy: samsung: Introducing usb phy driver for hsotg Praveen Paneri
2012-11-14 10:27 ` Praveen Paneri
[not found] ` <1352888836-17192-2-git-send-email-p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-11-21 20:06 ` Tomasz Figa
2012-11-21 20:06 ` Tomasz Figa
2012-11-23 4:26 ` Praveen Paneri
2012-11-23 4:26 ` Praveen Paneri
[not found] ` <CAD6zSYO77GTqVux7B0wDsrj0+332-jU0ivqKY7ExRSKZuHYjDQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-23 10:33 ` [PATCH v9 " Praveen Paneri
2012-11-23 10:33 ` Praveen Paneri
[not found] ` <1353666786-10584-1-git-send-email-p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-01-09 6:30 ` Praveen Paneri
2013-01-09 6:30 ` Praveen Paneri
2012-11-28 13:02 ` [PATCH v8 " Tomasz Figa
2012-11-28 13:02 ` Tomasz Figa
2013-01-09 5:58 ` Praveen Paneri
2013-01-09 5:58 ` Praveen Paneri
[not found] ` <CAD6zSYPvAm2cSZ7wABYM3QNs9qbKf6yPKxdkP-RripK5OGrWag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-09 6:08 ` Praveen Paneri
2013-01-09 6:08 ` Praveen Paneri
2012-11-14 10:27 ` [PATCH v8 2/2] usb: s3c-hsotg: Adding phy driver support Praveen Paneri
2012-11-14 10:27 ` Praveen Paneri
[not found] ` <1352888836-17192-3-git-send-email-p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-11-21 20:11 ` Tomasz Figa [this message]
2012-11-21 20:11 ` Tomasz Figa
2012-11-23 4:24 ` Praveen Paneri
2012-11-23 4:24 ` Praveen Paneri
[not found] ` <CAD6zSYMNSX8ASPBLpft-0riBi-xeD_b=BjCjSrftX_5_F2+TDA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-28 13:20 ` Tomasz Figa
2012-11-28 13:20 ` Tomasz Figa
2012-11-30 12:24 ` Praveen Paneri
2012-11-30 12:24 ` Praveen Paneri
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=1433031.3ftjAfsj34@flatron \
--to=tomasz.figa-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=balbi-l0cyMroinI0@public.gmane.org \
--cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
--cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=gautam.vivek-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org \
--cc=kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=l.majewski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=p.paneri-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=t.figa-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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.