Re: [PATCH 08/20] Staging: ipack: Switch to 8MHz operation before reading ID.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 11, 2012 at 01:31:06PM +0200, Samuel Iglesias Gonsálvez wrote:
> On Tue, 2012-09-11 at 11:48 +0300, Dan Carpenter wrote:
> > On Mon, Sep 10, 2012 at 10:51:46AM +0200, Samuel Iglesias Gonsálvez wrote:
> > > From: Jens Taprogge <jens.taprogge@xxxxxxxxxxxx>
> > > 
> > > Reading the ID space at 8 MHz is always supported.  Most carriers will
> > > boot up in 8MHz mode.  Still, play it safe and ensure we are operating at
> > > 8Mhz.
> > > 
> > > Signed-off-by: Jens Taprogge <jens.taprogge@xxxxxxxxxxxx>
> > > Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@xxxxxxxxxx>
> > > ---
> > >  drivers/staging/ipack/ipack.c |   11 ++++++++---
> > >  1 file changed, 8 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/drivers/staging/ipack/ipack.c b/drivers/staging/ipack/ipack.c
> > > index 4f3c945..95f56b8 100644
> > > --- a/drivers/staging/ipack/ipack.c
> > > +++ b/drivers/staging/ipack/ipack.c
> > > @@ -376,6 +376,9 @@ struct ipack_device *ipack_device_register(struct ipack_bus_device *bus,
> > >  	dev_set_name(&dev->dev,
> > >  		     "ipack-dev.%u.%u", dev->bus_nr, dev->slot);
> > >  
> > > +	if (bus->ops->set_clockrate(dev, 8))
> > > +		dev_warn(&dev->dev, "failed to switch to 8 MHz operation for reading of device ID.\n");
> > > +
> > >  	ret = ipack_device_read_id(dev);
> > >  	if (ret < 0) {
> > >  		dev_err(&dev->dev, "error reading device id section.\n");
> > > @@ -384,9 +387,11 @@ struct ipack_device *ipack_device_register(struct ipack_bus_device *bus,
> > >  	}
> > >  
> > >  	/* if the device supports 32 MHz operation, use it. */
> > > -	ret = bus->ops->set_clockrate(dev, dev->speed_32mhz ? 32 : 8);
> > > -	if (ret < 0)
> > > -		dev_err(&dev->dev, "failed to switch to 32 MHz operation.\n");
> > > +	if (dev->speed_32mhz) {
> > > +		ret = bus->ops->set_clockrate(dev, 32);
> > > +		if (ret < 0)
> > > +			dev_err(&dev->dev, "failed to switch to 32 MHz operation.\n");
> > > +	}
> > 
> > Ah.  Well done.  That's what I suggested earlier.  I think you
> > should get rid of the ->speed_8mhz all together.
> 
> I will do it in a follow-up patch. The rest of suggestions have been
> integrated in the patches. I will submit the patches very soon.

I have not seen any IPack V2 device yet.  But since the ID space
provides the 8MHz flag, it might be useful.  On the other hand, we can
still readd it when we see it.

When you remove the flag, you can perhaps leave a comment in the code so
that it is easy to re-enable.

Best Regards,
Jens
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux