From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758390AbXFMNiq (ORCPT ); Wed, 13 Jun 2007 09:38:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758339AbXFMNiF (ORCPT ); Wed, 13 Jun 2007 09:38:05 -0400 Received: from gsimpson.gotadsl.co.uk ([84.12.90.178]:50867 "EHLO localhost" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1758277AbXFMNiD (ORCPT ); Wed, 13 Jun 2007 09:38:03 -0400 X-Greylist: delayed 1563 seconds by postgrey-1.27 at vger.kernel.org; Wed, 13 Jun 2007 09:38:03 EDT Message-Id: <20070613131159.560391133@localhost> References: <20070613130953.983863758@localhost> Date: Wed, 13 Jun 2007 14:09:56 +0100 From: Ben Dooks To: linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org Subject: [patch 3/6] SM501 MFD driver updates Content-Disposition: inline; filename=simtec-drivers-mfd-sm501-reginitfix.patch Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org SM501: Fix sm501_init_reg() mask/set order The order of the set and mask operation in sm501_init_reg() was setting and then masking the bits set. Correct the order so that we do not end up with 288MHz SDRAM clocks on certain systems. Signed-off-by: Ben Dooks Index: linux-2.6.21-quilt8/drivers/mfd/sm501.c =================================================================== --- linux-2.6.21-quilt8.orig/drivers/mfd/sm501.c 2007-06-07 12:13:03.000000000 +0100 +++ linux-2.6.21-quilt8/drivers/mfd/sm501.c 2007-06-07 12:13:06.000000000 +0100 @@ -803,6 +803,9 @@ static DEVICE_ATTR(dbg_regs, 0666, sm501 /* sm501_init_reg * * Helper function for the init code to setup a register + * + * clear the bits which are set in r->mask, and then set + * the bits set in r->set. */ static inline void sm501_init_reg(struct sm501_devdata *sm, @@ -812,8 +815,8 @@ static inline void sm501_init_reg(struct unsigned long tmp; tmp = readl(sm->regs + reg); - tmp |= r->set; tmp &= ~r->mask; + tmp |= r->set; writel(tmp, sm->regs + reg); } --