From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754344AbcATUHI (ORCPT ); Wed, 20 Jan 2016 15:07:08 -0500 Received: from unicorn.mansr.com ([81.2.72.234]:50473 "EHLO unicorn.mansr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751985AbcATUHE convert rfc822-to-8bit (ORCPT ); Wed, 20 Jan 2016 15:07:04 -0500 From: =?iso-8859-1?Q?M=E5ns_Rullg=E5rd?= To: Andy Shevchenko Cc: Andy Shevchenko , Julian Margetson , Tejun Heo , linux-ide@vger.kernel.org, "linux-kernel\@vger.kernel.org" Subject: Re: [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel References: <1450221935-6034-1-git-send-email-mans@mansr.com> <1450724880.30729.250.camel@linux.intel.com> <1450731289.30729.282.camel@linux.intel.com> <1450781890.30729.298.camel@linux.intel.com> <1452159294.30729.405.camel@linux.intel.com> <1452243464.30729.430.camel@linux.intel.com> <1453317808.2521.135.camel@linux.intel.com> Date: Wed, 20 Jan 2016 20:07:00 +0000 In-Reply-To: (Andy Shevchenko's message of "Wed, 20 Jan 2016 21:51:21 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Andy Shevchenko writes: > On Wed, Jan 20, 2016 at 9:46 PM, Måns Rullgård wrote: > >>>>> One comment still regarding to lli types. We can avoid warnings by >>>>> using (__force u32) in macros. >>>> >>>> But that won't give the benefits of having the types checked. >>> >>> You mean if we access the lli->field directly? I didn't quite get what >>> use case you are keeping in mind. >> >> Yes, accessing any of those fields directly with my patch gives a sparse >> warning. It's situations like these those checks are intended for. >> Defeating them seems foolish to me. > > Otherwise it makes that struct looks ugly. > Why not union, though it still ugly, but less. What's so ugly about it? IMO data should be declared as the type it actually is, and here we have fields that might have a different byte order from the host CPU. The __be32 and __le32 types were invented to make such situations clear and allow automatic (sparse) checking. I'd say the price of one small typedef is well worth it. The actual code is not impacted since it must use the accessor macros anyhow. -- Måns Rullgård