From patchwork Sat Mar 12 08:00:02 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatolij Gustschin X-Patchwork-Id: 86483 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 0965EB7256 for ; Sat, 12 Mar 2011 19:06:31 +1100 (EST) X-Greylist: delayed 413 seconds by postgrey-1.32 at bilbo; Sat, 12 Mar 2011 19:06:19 EST Received: from mail-out.m-online.net (mail-out.m-online.net [212.18.0.9]) by ozlabs.org (Postfix) with ESMTP id 9F795B6F76 for ; Sat, 12 Mar 2011 19:06:19 +1100 (EST) Received: from frontend1.mail.m-online.net (unknown [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 89D3E1C0F585; Sat, 12 Mar 2011 08:59:20 +0100 (CET) X-Auth-Info: wF6dXjqQzpXUfVXy7VwalOncgI2Kh4ETqaIep4VhHY4= Received: from wker (p4FDE72F5.dip.t-dialin.net [79.222.114.245]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA id 5AACD1C00111; Sat, 12 Mar 2011 08:59:20 +0100 (CET) Date: Sat, 12 Mar 2011 09:00:02 +0100 From: Anatolij Gustschin To: "Matthew L. Creech" Subject: Re: fsl_udc_core not initializing properly? Message-ID: <20110312090002.7b703e61@wker> In-Reply-To: References: <20110219095253.39540a57@wker> X-Mailer: Claws Mail 3.7.6 (GTK+ 2.22.0; x86_64-pc-linux-gnu) Mime-Version: 1.0 Cc: linuxppc-dev@lists.ozlabs.org X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Hi Matthew, On Thu, 10 Mar 2011 13:46:29 -0500 "Matthew L. Creech" wrote: ... > I tracked the problem down to a change made in September, which > happens to be yours: > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=126512e3f274802ca65ebeca8660237f0361ad48 > > When I roll this back, everything works fine again. > > First of all, I noticed that fsl-mph-dr-of.c isn't even compiling for > me (even though I have the option enabled in my .config), because it's > been placed in "usb/host/", and I'm only using device/gadget-mode USB. > > I edited the top-level Makefile to just force it into "usb/host/", and > that makes sure that your driver gets built (and it's probed just fine > at runtime). But that still didn't solve the problem - as before, > fsl_udc_probe() is never being called. > > Did you test this change in device mode? I'm wondering if there's > something different about my configuration that prevents it from > working. My config is uploaded here if it helps: > > http://mcreech.com/work/linux.config Can you please apply the attached patch, then build with your linux.config and send me the kernel boot log? It will help to fix the issue. Thanks, Anatolij diff --git a/drivers/Makefile b/drivers/Makefile index f3ebb30..bf1ad90 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -67,6 +67,7 @@ obj-$(CONFIG_UWB) += uwb/ obj-$(CONFIG_USB_OTG_UTILS) += usb/otg/ obj-$(CONFIG_USB) += usb/ obj-$(CONFIG_USB_MUSB_HDRC) += usb/musb/ +obj-$(CONFIG_USB_FSL_MPH_DR_OF) += usb/host/ obj-$(CONFIG_PCI) += usb/ obj-$(CONFIG_USB_GADGET) += usb/gadget/ obj-$(CONFIG_SERIO) += input/serio/ diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index 4c55eda..a3ba374 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c @@ -2240,6 +2240,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev) unsigned int i; u32 dccparams; + printk("%s\n", __func__); if (strcmp(pdev->name, driver_name)) { VDBG("Wrong device"); return -ENODEV; diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c index 574b99e..b8b3070 100644 --- a/drivers/usb/host/fsl-mph-dr-of.c +++ b/drivers/usb/host/fsl-mph-dr-of.c @@ -130,6 +130,7 @@ static int __devinit fsl_usb2_mph_dr_of_probe(struct platform_device *ofdev) static unsigned int idx; int i; + printk("%s\n", __func__); if (!of_device_is_available(np)) return -ENODEV;