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 > > > > 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 > > Signed-off-by: Samuel Iglesias Gonsálvez > > --- > > 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. Thanks, Sam