[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1347267118-9580-8-git-send-email-siglesias@igalia.com>
Date: Mon, 10 Sep 2012 10:51:46 +0200
From: Samuel Iglesias Gonsálvez
<siglesias@...lia.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org,
industrypack-devel@...ts.sourceforge.net,
Jens Taprogge <jens.taprogge@...rogge.org>,
Samuel Iglesias Gonsálvez
<siglesias@...lia.com>
Subject: [PATCH 08/20] Staging: ipack: Switch to 8MHz operation before reading ID.
From: Jens Taprogge <jens.taprogge@...rogge.org>
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@...rogge.org>
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@...lia.com>
---
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");
+ }
ret = device_register(&dev->dev);
if (ret < 0) {
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists