Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752118AbcLEROI (ORCPT ); Mon, 5 Dec 2016 12:14:08 -0500 Received: from mail-io0-f196.google.com ([209.85.223.196]:36647 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751708AbcLEROF (ORCPT ); Mon, 5 Dec 2016 12:14:05 -0500 MIME-Version: 1.0 In-Reply-To: <196dd443-e3c7-2c37-1dd1-bc1d249ea2fb@laposte.net> References: <196dd443-e3c7-2c37-1dd1-bc1d249ea2fb@laposte.net> From: Linus Torvalds Date: Mon, 5 Dec 2016 09:13:26 -0800 X-Google-Sender-Auth: M_ceypevuLBNRoatV3fE5hOUP4c Message-ID: Subject: Re: [PATCH] bitops: add equivalent of BIT(x) for bitfields To: Sebastian Frias Cc: zijun_hu , Sasha Levin , Andrew Morton , Linux Kernel Mailing List , Mason , Maxime Coquelin , Harvey Harrison , Borislav Petkov Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1091 Lines: 28 On Mon, Dec 5, 2016 at 5:36 AM, Sebastian Frias wrote: > Introduce SETBITFIELD(msb, lsb, value) macro to ease dealing with > continuous bitfields, just as BIT(x) does for single bits. > > SETBITFIELD_ULL(msb, lsb, value) macro is also added. No. No, no, no. Didn't we have this discussion already? Or was that for one of the other silly naming things? That thing doesn't "SET" anything at all. It generates a value, nothing more. So the name is completely unacceptable. It follows the convention of GENMASK, so maybe GENVALUE? I also absolutely hate the stupid "big bit first" idiocy, but we did that for GENMASK too, so I guess we're stuck with that retarded model. Yes, I understand why it happened - people look at register definition graphics, and the high bits are to the left. But when you then read the documentation, it will still say things like "bits 9 through 12 contain the value XYZ", because while individual numbers are written MSB first, we actuall _read_ left to right. You'd never give a range as "12 to 5", you'd say "5 to 12". Linus