Hi, On Thu, Jul 19, 2012 at 05:15:58PM +0530, Ajay Kumar Gupta wrote: > Moved global variable "musb_debugfs_root" and static variable > "old_state" to 'struct musb' to help support multi instance of > musb controller as present on AM335x platform. > > Also removed the global variable "orig_dma_mask" and filled the > dev->dma_mask with parent device's dma_mask. > > Signed-off-by: Ajay Kumar Gupta <ajay.gupta@xxxxxx> > --- > drivers/usb/musb/musb_core.c | 16 +++------------- > drivers/usb/musb/musb_core.h | 4 ++++ > drivers/usb/musb/musb_debugfs.c | 14 ++++++++------ > 3 files changed, 15 insertions(+), 19 deletions(-) > > diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c > index 3e09984..a5db4dd 100644 > --- a/drivers/usb/musb/musb_core.c > +++ b/drivers/usb/musb/musb_core.c > @@ -1802,10 +1802,9 @@ static const struct attribute_group musb_attr_group = { > static void musb_irq_work(struct work_struct *data) > { > struct musb *musb = container_of(data, struct musb, irq_work); > - static int old_state; > > - if (musb->xceiv->state != old_state) { > - old_state = musb->xceiv->state; > + if (musb->xceiv->state != musb->xceiv_old_state) { > + musb->xceiv_old_state = musb->xceiv->state; > sysfs_notify(&musb->controller->kobj, NULL, "mode"); > } > } > @@ -2115,11 +2114,6 @@ fail0: > /* all implementations (PCI bridge to FPGA, VLYNQ, etc) should just > * bridge to a platform device; this driver then suffices. > */ > - > -#ifndef CONFIG_MUSB_PIO_ONLY > -static u64 *orig_dma_mask; > -#endif > - > static int __devinit musb_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > @@ -2138,10 +2132,6 @@ static int __devinit musb_probe(struct platform_device *pdev) > return -ENOMEM; > } > > -#ifndef CONFIG_MUSB_PIO_ONLY > - /* clobbered by use_dma=n */ > - orig_dma_mask = dev->dma_mask; > -#endif > status = musb_init_controller(dev, irq, base); > if (status < 0) > iounmap(base); > @@ -2166,7 +2156,7 @@ static int __devexit musb_remove(struct platform_device *pdev) > iounmap(ctrl_base); > device_init_wakeup(&pdev->dev, 0); > #ifndef CONFIG_MUSB_PIO_ONLY > - pdev->dev.dma_mask = orig_dma_mask; > + pdev->dev.dma_mask = (&dev->dev.parent)->dma_mask; are you sure ?? This should be: dev->parent.dma_mask; In fact, while doing that you could use dma_set_mask() instead ;-) -- balbi
Attachment:
signature.asc
Description: Digital signature