[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240930112121.95324-1-Julia.Lawall@inria.fr>
Date: Mon, 30 Sep 2024 13:20:46 +0200
From: Julia Lawall <Julia.Lawall@...ia.fr>
To: linux-gpio@...r.kernel.org
Cc: kernel-janitors@...r.kernel.org,
audit@...r.kernel.org,
linux-mtd@...ts.infradead.org,
Zhihao Cheng <chengzhihao1@...wei.com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
linux-arm-msm@...r.kernel.org,
linux-pci@...r.kernel.org,
dri-devel@...ts.freedesktop.org,
linux-usb@...r.kernel.org,
linux-mm@...ck.org,
maple-tree@...ts.infradead.org,
alsa-devel@...a-project.org,
Sanyog Kale <sanyog.r.kale@...el.com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.dev>,
dccp@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
Jan Kara <jack@...e.cz>,
drbd-dev@...ts.linbit.com,
linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-omap@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
netdev@...r.kernel.org,
nvdimm@...ts.linux.dev,
linux-leds@...r.kernel.org,
Nicholas Piggin <npiggin@...il.com>,
Christophe Leroy <christophe.leroy@...roup.eu>,
Naveen N Rao <naveen@...nel.org>,
Madhavan Srinivasan <maddy@...ux.ibm.com>,
linuxppc-dev@...ts.ozlabs.org,
tipc-discussion@...ts.sourceforge.net,
Robin Murphy <robin.murphy@....com>,
iommu@...ts.linux.dev,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
linux-trace-kernel@...r.kernel.org,
Neil Brown <neilb@...e.de>,
Olga Kornievskaia <okorniev@...hat.com>,
Dai Ngo <Dai.Ngo@...cle.com>,
Tom Talpey <tom@...pey.com>,
linux-nfs@...r.kernel.org,
amd-gfx@...ts.freedesktop.org,
linux-wireless@...r.kernel.org,
intel-wired-lan@...ts.osuosl.org
Subject: [PATCH 00/35] Reorganize kerneldoc parameter names
Reorganize kerneldoc parameter names to match the parameter
order in the function header.
The misordered cases were identified using the following
Coccinelle semantic patch:
// <smpl>
@initialize:ocaml@
@@
let parse_doc l =
let pieces = List.map String.trim (String.split_on_char '*' l) in
let l = String.concat " " pieces in
match String.split_on_char ':' l with
x::xs -> x
| _ -> ""
let params ps =
List.rev
(List.fold_left
(fun prev (pm,_) ->
let ty =
String.trim(Pretty_print_c.string_of_fullType pm.Ast_c.p_type) in
if ty = "void" && pm.Ast_c.p_namei = None
then prev
else
let name =
match pm.Ast_c.p_namei with
Some name -> name
| None -> failwith "function parameter has no name" in
(String.trim (Pretty_print_c.string_of_name name),ty)::prev)
[] ps)
@r@
comments c;
identifier fn;
position p;
parameter list ps;
type T;
@@
T@c fn@p(ps) { ... }
@script:ocaml@
p << r.p;
c << r.c;
(_,ps) << r.ps;
@@
let isdoc c ps =
List.length ps > 1 &&
(let c = String.trim c in
String.length c > 3 && String.sub c 0 3 = "/**" && String.get c 3 != '*') in
let subset l1 l2 =
List.for_all (fun x -> List.mem x l2) l1 in
let (cb,cm,ca) = List.hd c in
match List.rev cb with
c::_ when isdoc c ps ->
let pieces = String.split_on_char '@' c in
(match pieces with
_::tl ->
let d_names = List.map parse_doc tl in
(* check parameters *)
let p_names = List.map fst (params ps) in
if d_names <> [] && not(d_names = p_names)
then
begin
if List.sort compare d_names = List.sort compare p_names
then Coccilib.print_main "out of order" p
else if subset d_names p_names
then Coccilib.print_main "doc is missing a parameter" p
else if subset d_names p_names
then Coccilib.print_main "doc has an extra parameter" p
end
| _ -> ())
| _ -> ()
// </smpl>
---
arch/arm/mach-omap2/prm2xxx_3xxx.c | 1 -
arch/powerpc/platforms/ps3/interrupt.c | 2 +-
arch/powerpc/platforms/ps3/repository.c | 2 +-
drivers/base/firmware_loader/main.c | 2 +-
drivers/comedi/drivers/comedi_8254.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +-
drivers/gpu/drm/amd/display/dc/core/dc.c | 2 +-
drivers/gpu/drm/drm_gem_framebuffer_helper.c | 3 +--
drivers/gpu/drm/drm_gpuvm.c | 2 +-
drivers/gpu/drm/radeon/radeon_ib.c | 2 +-
drivers/iommu/iommu.c | 2 +-
drivers/leds/leds-gpio-register.c | 2 +-
drivers/mfd/atmel-smc.c | 4 ++--
drivers/misc/mei/bus.c | 2 +-
drivers/mtd/ubi/eba.c | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c | 2 +-
drivers/net/ethernet/intel/e1000/e1000_hw.c | 2 +-
drivers/net/ethernet/intel/i40e/i40e_common.c | 7 +++----
drivers/net/ethernet/intel/ice/ice_common.c | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 2 +-
drivers/nvdimm/dimm_devs.c | 2 +-
drivers/pci/hotplug/pci_hotplug_core.c | 2 +-
drivers/pinctrl/pinmux.c | 2 +-
drivers/slimbus/messaging.c | 2 +-
drivers/soc/qcom/qmi_interface.c | 2 +-
drivers/soundwire/stream.c | 2 +-
drivers/usb/gadget/config.c | 4 ++--
fs/char_dev.c | 2 +-
fs/dcache.c | 4 ++--
fs/seq_file.c | 2 +-
kernel/audit.c | 2 +-
kernel/resource.c | 2 +-
kernel/sysctl.c | 1 -
kernel/trace/ring_buffer.c | 2 +-
lib/lru_cache.c | 2 +-
lib/maple_tree.c | 2 +-
mm/mmu_notifier.c | 2 +-
net/dccp/feat.c | 2 +-
net/mac80211/mesh_hwmp.c | 6 +++---
net/mac80211/mesh_pathtbl.c | 10 +++++-----
net/socket.c | 2 +-
net/sunrpc/xprt.c | 2 +-
net/tipc/link.c | 14 +++++++-------
net/tipc/msg.c | 2 +-
sound/pci/hda/hda_codec.c | 2 +-
45 files changed, 60 insertions(+), 64 deletions(-)
Powered by blists - more mailing lists