On 05/24/2013 11:31 PM, Kishon Vijay Abraham I wrote:
> Modified dwc3-omap to receive connect and disconnect notification using
> extcon framework. Also did the necessary cleanups required after
> adapting to extcon framework.
>
> Signed-off-by: Kishon Vijay Abraham I <kis...@ti.com>
> ---
>  drivers/usb/dwc3/dwc3-omap.c  | 80 
> +++++++++++++++++++++++++++++++++----------
>  include/linux/usb/dwc3-omap.h | 30 ----------------
>  2 files changed, 62 insertions(+), 48 deletions(-)
>  delete mode 100644 include/linux/usb/dwc3-omap.h

Hi Kishon,

Thi patch is suspended until fix following build error.
(If kernel builds extcon fwr as module, dwc3-omap.c happen error message)

---
tree:   git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon extcon-next
head:   30f5d6ea2561c2a54e40b1e8e8f9bb30e064e01b
commit: 30f5d6ea2561c2a54e40b1e8e8f9bb30e064e01b [3/3] usb: dwc3: use extcon 
fwrk to receive connect/disconnect notification
config: i386-randconfig-x14-0530 (attached as .config)

All error/warnings:

   drivers/built-in.o: In function `dwc3_omap_remove':
   dwc3-omap.c:(.text+0x8c0fa): undefined reference to 
`extcon_unregister_interest'
   dwc3-omap.c:(.text+0x8c102): undefined reference to 
`extcon_unregister_interest'
   drivers/built-in.o: In function `dwc3_omap_probe':
   dwc3-omap.c:(.text+0x8c5e6): undefined reference to `extcon_get_extcon_dev'
   dwc3-omap.c:(.text+0x8c6a4): undefined reference to 
`extcon_register_interest'
   dwc3-omap.c:(.text+0x8c6c9): undefined reference to 
`extcon_register_interest'
   dwc3-omap.c:(.text+0x8c831): undefined reference to `extcon_get_cable_state'
   dwc3-omap.c:(.text+0x8c851): undefined reference to `extcon_get_cable_state'
---

Also, I missed a issue of this patch. If h/w target use other USB device
instead of "palmas-usb", dwc-omap.c driver won't be operating.
So, I propose two method about this issue.
First, we can get extcon device name through platform data or dt.
Two, When use extcon_register_interest() to register notifier block,
NULL pointer pass to extcon_register_interest() instead of specific extcon
device name(palmas-usb). If extcon_register_interest() check NULL
pointer of extcon device name parameter, extcon fwr will find previous
registered extcon device and then register notifier block of consumer
device driver(dwc3-omap.c) to previous registered extcon device.

> +     edev = extcon_get_extcon_dev("palmas-usb");
> +     if (!edev) {
> +             dev_dbg(dev, "couldn't get extcon device\n");
> +             return -EPROBE_DEFER;
> +     }
> +
>       spin_lock_init(&omap->lock);
>  
>       omap->dev       = dev;
>       omap->irq       = irq;
>       omap->base      = base;
> +     omap->vbus_nb.notifier_call = dwc3_omap_vbus_notifier;
> +     extcon_register_interest(&omap->extcon_vbus_dev, "palmas-usb", "USB",
> +             &omap->vbus_nb);
> +     omap->id_nb.notifier_call = dwc3_omap_id_notifier;
> +     extcon_register_interest(&omap->extcon_id_dev, "palmas-usb", "USB-HOST",
> +             &omap->id_nb);
>       dev->dma_mask   = &dwc3_omap_dma_mask;
>  
> +

Thanks,
Chanwoo Choi

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to