From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753685Ab1DRIVw (ORCPT ); Mon, 18 Apr 2011 04:21:52 -0400 Received: from moutng.kundenserver.de ([212.227.126.187]:56581 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752821Ab1DRIVp (ORCPT ); Mon, 18 Apr 2011 04:21:45 -0400 From: Arnd Bergmann To: Richard Cochran Subject: Re: [PATCH V14 3/4] ptp: Added a clock driver for the IXP46x. Date: Mon, 18 Apr 2011 10:21:01 +0200 User-Agent: KMail/1.12.2 (Linux/2.6.37; KDE/4.3.2; x86_64; ; ) Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, netdev@vger.kernel.org, devicetree-discuss@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, Alan Cox , Christoph Lameter , David Miller , John Stultz , Krzysztof Halasa , Peter Zijlstra , Rodolfo Giometti , Thomas Gleixner , Benjamin Herrenschmidt , Mike Frysinger , Paul Mackerras , Russell King References: <201104180856.04186.arnd@arndb.de> <20110418080606.GA3809@riccoc20.at.omicron.at> In-Reply-To: <20110418080606.GA3809@riccoc20.at.omicron.at> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201104181021.01279.arnd@arndb.de> X-Provags-ID: V02:K0:ncCnTVCR72hkmcjCvZdfAmP/LD2IEb3UQEzJ1O9RzwE +Aoz1jDADJr9sjHneotsP8BzUKKwI8mkPWOKkL3JoB8gP1cuSa uv2pk+VW/HrYGA84VVeGEGm8G8WPL6lQivX0IIqmhn7pT8D3Ad E2lPTb5WIar0kGoy4yoRvoq2cTbht1b9j0Xdo9HIWmP5RDNPR0 33i2qR5hEZsSA8ZIxvgVg== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday 18 April 2011, Richard Cochran wrote: > On Mon, Apr 18, 2011 at 08:56:03AM +0200, Arnd Bergmann wrote: > > On Monday 18 April 2011, Richard Cochran wrote: > > > + > > > + lo = __raw_readl(®s->channel[ch].src_uuid_lo); > > > + hi = __raw_readl(®s->channel[ch].src_uuid_hi); > > > + > > > > I guess you should use readl(), not __raw_readl() here. The __raw_* functions > > are not meant for device drivers. > > Krzysztof had a different opinion about this. > > https://lkml.org/lkml/2011/1/8/67 > > Anyway, it is his driver, and I just followed what he does elsewhere > in the driver. It make sense to me to keep the driver consistent. > Maybe we should make the change throughout? It would certainly be useful to fix it up. I now realized that this driver supports both big-endian and little-endian configurations, so just using readl() is certainly broken. There should probably be an ixp specific version of the safe I/O accessors to deal with it on all on-chip peripherals in a safe way. Arnd