From patchwork Wed May 5 18:45:52 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jan sebastien X-Patchwork-Id: 97166 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o45IgSxn024057 for ; Wed, 5 May 2010 18:45:11 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757987Ab0EESpJ (ORCPT ); Wed, 5 May 2010 14:45:09 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:42490 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757809Ab0EESpI (ORCPT ); Wed, 5 May 2010 14:45:08 -0400 Received: from dlep36.itg.ti.com ([157.170.170.91]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id o45Iiutv010082 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 5 May 2010 13:44:56 -0500 Received: from localhost.localdomain (localhost [127.0.0.1]) by dlep36.itg.ti.com (8.13.8/8.13.8) with ESMTP id o45IipCM028118; Wed, 5 May 2010 13:44:54 -0500 (CDT) From: Sebastien Jan To: netdev@vger.kernel.org Cc: linux-omap@vger.kernel.org, Abraham Arce , Ben Dooks , Tristram.Ha@micrel.com, Sebastien Jan Subject: [PATCH 1/4 v2] ks8851: Add caching of CCR register Date: Wed, 5 May 2010 20:45:52 +0200 Message-Id: <1273085155-1260-2-git-send-email-s-jan@ti.com> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1273085155-1260-1-git-send-email-s-jan@ti.com> References: <1273085155-1260-1-git-send-email-s-jan@ti.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 05 May 2010 18:45:11 +0000 (UTC) diff --git a/drivers/net/ks8851.c b/drivers/net/ks8851.c index 9e9f9b3..a84e500 100644 --- a/drivers/net/ks8851.c +++ b/drivers/net/ks8851.c @@ -76,7 +76,9 @@ union ks8851_tx_hdr { * @msg_enable: The message flags controlling driver output (see ethtool). * @fid: Incrementing frame id tag. * @rc_ier: Cached copy of KS_IER. + * @rc_ccr: Cached copy of KS_CCR. * @rc_rxqcr: Cached copy of KS_RXQCR. + * @eeprom_size: Companion eeprom size in Bytes, 0 if no eeprom * * The @lock ensures that the chip is protected when certain operations are * in progress. When the read or write packet transfer is in progress, most @@ -107,6 +109,8 @@ struct ks8851_net { u16 rc_ier; u16 rc_rxqcr; + u16 rc_ccr; + u16 eeprom_size; struct mii_if_info mii; struct ks8851_rxctrl rxctrl; @@ -1279,6 +1283,14 @@ static int __devinit ks8851_probe(struct spi_device *spi) goto err_id; } + /* cache the contents of the CCR register for EEPROM, etc. */ + ks->rc_ccr = ks8851_rdreg16(ks, KS_CCR); + + if (ks->rc_ccr & CCR_EEPROM) + ks->eeprom_size = 128; + else + ks->eeprom_size = 0; + ks8851_read_selftest(ks); ks8851_init_mac(ks);