From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 221CB3B7A8 for ; Sat, 4 Apr 2026 14:54:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775314461; cv=none; b=gZNv5oao+SwTVYBlL/Nv4GPm8eqyXsTn59tqd4/vOWeiEEYwrltsBbrbxpmgqFm4oJIyzjXNeoqdXE8/tj56r54IjVawOEmrNK+9z9Tmx60XDouCOkxiRpG8MmhEzsuJiZBOk/KfCe28+PTMtmcySbuzyXm2JDrPsGtRsVBrkjs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775314461; c=relaxed/simple; bh=Ti4D8fNQQON92+1KM3xPGEd+sei+hAQKlm2rGC8Hgk8=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=s5TiGE3WExGCcgGvSxqM/RfgPMPWb5x5+QYXX4cidg+YWtwux4wg5/VEJsz0fdJAiZ300hlbCP7DewyVhucjmVh3p9zObSdEwFin6qpsIjOHSYv9fYJmz1LrgrqeMQtxOfEwLJZ/dkU4FEcXUgPFv9+Jv7Z8c1FcfI2GAPPR7XA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=e5rA/eo5; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="e5rA/eo5" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-43cf7683a28so1566064f8f.2 for ; Sat, 04 Apr 2026 07:54:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775314458; x=1775919258; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=HplI2qR5BeHqKQelXsplsD6MUiqnukn5Ida5y1aUhU8=; b=e5rA/eo5L5EiUk6E03KlO+XTVdVTG4yozkoWv0HvbnuQzAVP6ru1Wk1uM1In5nCxTE w2NYfxWQFHiSQkw2vOWZV8kLacG6cHdOazlgxuJEOPXg3uX0zciO3k87UKjgLzwLiDOh xlGgtELQfSeaRrc6IfmpgW4dYjRV0r/zWNhIre8m3YvvOD0qJPdj7lZoJLJ30cf4q9xu HBKy/WqJXux8Oc0zWTcbrnv6FdbL/0/H7mXbivO5SLaKh1koVRFGX7H5MNFeD4B/aOMK QKUifUMcwdL5OQRKG7w9Xw51/fxk7uOJDVeg5RBflw/ojyahZXdYusAT0EdX2ZRqmjeq gJ1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775314458; x=1775919258; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=HplI2qR5BeHqKQelXsplsD6MUiqnukn5Ida5y1aUhU8=; b=fiqAutK+WRT1FXqKVUH6+dbEqV7tvk5gDWx++y+dmpRkqt+BhiQEAQjE8FS+xz+RyF k+5tIWUktRC/rFbGOd0Zi1osCQZ02DmhM5NOzlGW27tPukAHkFVTtGn4uxcWI08bk0zL esbV4/Vij10TZ/pTOI9PFfcvcX/br/2UWBZ2FWyJ4Ky6QnIu9RSZBTfqUQtJVfO37NdN JBdLo2/AnEHBJ/V9/foI5FgwOwD//thET4QDIdQITyV8oZ9fRw0MgJI6dqbor36riaNY dh9WN7C5P5GTfThJDYLDCDHrYzemPv6SW1NGqIbmBP5tS4BhjYzHFDaZzZDwL3JuGG0b GuiA== X-Forwarded-Encrypted: i=1; AJvYcCVTV7EzH/1SaF7OxGrzXD/Q4/SuGMmivcL82T2e1yzuB+vP9YucIpDPsiNs/xnFIoFHo0FzmskjsUmpMpQ=@vger.kernel.org X-Gm-Message-State: AOJu0Ywl5dN8+t58A+bt++7iP/VGL6pqILbmMa0UEkUz3t/QvWrlYZ0T E+3eSnh563AZaJ6y8v2GPW+/xYD4XBQsH019PlfHxY62Yr8wUPBdGTRR X-Gm-Gg: AeBDiesOruRQDAA8JYyxU2bm9jtMX+E5bTAIdbYgLEDJvuO9WzFceGThYVGOKlb9C8h 8TFzTnXDxGQTFlIxgnqW82H4rjpN2uoNonMkWefVJg8vItLK5zTzxnnbNVxTnWAqJaBPzodxtiP 5Ar92MMhAZR8eoYixsGv08GoPfANNbU7jkPRx0VkYINs+ziESJs9HrUgVc7zaaBl/l7isnbgX9j eNzrUARjmHcMgUtLuOuWz5aqYBlciit2lroYpCPET5oLnIc8vOa5tbsN26ptYWYTPVVOGUoe2yP G1R6jZvqa+yCV98IH16YXan5wJuywq7v2riSR92hN2FyH0U0Uc2OyvqZqzRTpWqeRlM+Dm1zuhm oIMyPcYJKzryl65N3YqB6J2UGiJn/vdDZdUeyfLac7/TABldVH2i/0GLGfgTLBI9QfKAsKP91FE xWuYCPv2qHJRcwG4qQLmzk514ZglMkuQ== X-Received: by 2002:a05:6000:2489:b0:43d:1c7a:8b5e with SMTP id ffacd0b85a97d-43d292daa3amr9603231f8f.35.1775314458090; Sat, 04 Apr 2026 07:54:18 -0700 (PDT) Received: from pumpkin ([31.55.121.85]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4e1c27sm23747880f8f.26.2026.04.04.07.54.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Apr 2026 07:54:17 -0700 (PDT) Date: Sat, 4 Apr 2026 15:54:15 +0100 From: David Laight To: Luiz Angelo Daros de Luca Cc: Yury Norov , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Linus Walleij , Alvin =?UTF-8?B?xaBpcHJhZ2E=?= , Yury Norov , Rasmus Villemoes , Russell King , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [net-next PATCH 04/10] bitfield.h: add FIELD_WIDTH() Message-ID: <20260404155415.5b98b794@pumpkin> In-Reply-To: References: <20260331-realtek_forward-v1-0-44fb63033b7e@gmail.com> <20260331-realtek_forward-v1-4-44fb63033b7e@gmail.com> <20260402102717.5eb48393@pumpkin> <20260402232126.2e74631e@pumpkin> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Fri, 3 Apr 2026 11:09:30 -0300 Luiz Angelo Daros de Luca wrote: > Thanks David and Yuri, > > This patch was originally intended to reconstruct a value split across > multiple registers. Originally: > > vlan4k->member = > FIELD_GET(RTL8365MB_CVLAN_ENTRY_D0_MBR_MASK, data[0]) | > (FIELD_GET(RTL8365MB_CVLAN_ENTRY_D2_MBR_EXT_MASK, data[2]) > << FIELD_WIDTH(RTL8365MB_CVLAN_ENTRY_D0_MBR_MASK)); > > However, as Yuri pointed out, I can use FIELD_PREP() to align the bits > into the final struct member without manual bitops. While less common, > this pattern is used elsewhere (e.g., drivers/clk/clk-lmk04832.c). The > updated approach would be: > > vlan4k->member = > FIELD_PREP(RTL8365MB_CVLAN_MBR_LO_MASK, > FIELD_GET(RTL8365MB_CVLAN_ENTRY_D0_MBR_MASK, > data[0])) | > FIELD_PREP(RTL8365MB_CVLAN_MBR_HI_MASK, > > FIELD_GET(RTL8365MB_CVLAN_ENTRY_D2_MBR_EXT_MASK, data[2])); Q: does the line make any sense to someone reading the code? I'd also generate the .i file and look at output first. You might find the line doesn't fit on your screen. David > > If this use of FIELD_PREP is preferred, I will drop this FIELD_WIDTH > patch from the series as it would no longer have any users. > > Regards, > > Luiz