Hello;

Using coccinelle, and some hand re-formatting, I generated a patch to
make use of the nitems() macro in sys, which is too big for
phabricator [1].

I was careful to exclude anything from the contrib directory or
any code that is shared with userland (as to not have to include
additional headers).

The patch is big but pretty safe, I think. The changes are small but
still it touches many files[1].

I would like some feedback on the convenience of doing such replacement.
If it is a good idea we could do the same for roundup2() and, in fact,
I think DragonFly has already done this.

Regards,

Pedro.

[1] https://people.freebsd.org/~pfg/patches/sys-nitems.diff

[2] For those too lazy to check [1], here is a list of affected files.

M       sys/amd64/amd64/amd64_mem.c
M       sys/amd64/amd64/machdep.c
M       sys/amd64/linux/linux_sysvec.c
M       sys/amd64/linux32/linux32_sysvec.c
M       sys/arm/amlogic/aml8726/aml8726_clkmsr.c
M       sys/arm/arm/db_interface.c
M       sys/arm/at91/at91_pmc.c
M       sys/arm/mv/armadaxp/armadaxp.c
M       sys/arm/ti/cpsw/if_cpsw.c
M       sys/arm/xscale/ixp425/ixp425.c
M       sys/boot/common/part.c
M       sys/boot/efi/loader/bootinfo.c
M       sys/boot/mips/beri/boot2/boot2.c
M       sys/boot/uboot/common/metadata.c
M       sys/cam/ata/ata_da.c
M       sys/cam/ata/ata_xpt.c
M       sys/cam/cam.c
M       sys/cam/scsi/scsi_all.c
M       sys/cam/scsi/scsi_cd.c
M       sys/cam/scsi/scsi_da.c
M       sys/cam/scsi/scsi_sa.c
M       sys/cam/scsi/scsi_xpt.c
M       sys/cam/scsi/smp_all.c
M       sys/compat/linux/linux_socket.c
M       sys/ddb/db_variables.c
M       sys/dev/adb/adb_kbd.c
M       sys/dev/advansys/adv_isa.c
M       sys/dev/advansys/advlib.c
M       sys/dev/advansys/adw_pci.c
M       sys/dev/advansys/adwlib.c
M       sys/dev/ae/if_ae.c
M       sys/dev/age/if_age.c
M       sys/dev/agp/agp.c
M       sys/dev/agp/agp_ali.c
M       sys/dev/agp/agp_amd64.c
M       sys/dev/aha/aha_isa.c
M       sys/dev/aic/aic.c
M       sys/dev/aic/aic_cbus.c
M       sys/dev/aic/aic_isa.c
M       sys/dev/ale/if_ale.c
M       sys/dev/altera/atse/if_atse.c
M       sys/dev/atkbdc/atkbd.c
M       sys/dev/atkbdc/atkbdc.c
M       sys/dev/atkbdc/psm.c
M       sys/dev/bktr/bktr_core.c
M       sys/dev/bwi/bwirf.c
M       sys/dev/bwn/if_bwn.c
M       sys/dev/cardbus/cardbus_cis.c
M       sys/dev/digi/digi.c
M       sys/dev/digi/digi_isa.c
M       sys/dev/dwc/if_dwc.c
M       sys/dev/ed/if_ed_hpp.c
M       sys/dev/ed/if_ed_isa.c
M       sys/dev/ed/if_ed_pci.c
M       sys/dev/fb/creator.c
M       sys/dev/fb/fb.c
M       sys/dev/fb/machfb.c
M       sys/dev/fb/vesa.c
M       sys/dev/fb/vga.c
M       sys/dev/flash/mx25l.c
M       sys/dev/hatm/if_hatm.c
M       sys/dev/hifn/hifn7751.c
M       sys/dev/hwpmc/hwpmc_amd.c
M       sys/dev/hwpmc/hwpmc_core.c
M       sys/dev/hwpmc/hwpmc_e500.c
M       sys/dev/hwpmc/hwpmc_mips24k.c
M       sys/dev/hwpmc/hwpmc_mips74k.c
M       sys/dev/hwpmc/hwpmc_mpc7xxx.c
M       sys/dev/hwpmc/hwpmc_octeon.c
M       sys/dev/hwpmc/hwpmc_uncore.c
M       sys/dev/hwpmc/hwpmc_xscale.c
M       sys/dev/if_ndis/if_ndis.c
M       sys/dev/jme/if_jme.c
M       sys/dev/kbd/kbd.c
M       sys/dev/le/if_le_isa.c
M       sys/dev/le/if_le_lebuffer.c
M       sys/dev/le/if_le_ledma.c
M       sys/dev/mlx/mlx.c
M       sys/dev/mxge/if_mxge.c
M       sys/dev/nand/nand_id.c
M       sys/dev/ncr/ncr.c
M       sys/dev/nctgpio/nctgpio.c
M       sys/dev/nfe/if_nfe.c
M       sys/dev/patm/if_patm_attach.c
M       sys/dev/pccard/pccard_cis_quirks.c
M       sys/dev/rc/rc.c
M       sys/dev/re/if_re.c
M       sys/dev/rl/if_rl.c
M       sys/dev/rndtest/rndtest.c
M       sys/dev/sf/if_sf.c
M       sys/dev/sge/if_sge.c
M       sys/dev/siba/siba.c
M       sys/dev/sio/sio.c
M       sys/dev/sound/isa/gusc.c
M       sys/dev/sound/pci/emu10kx.c
M       sys/dev/speaker/spkr.c
M       sys/dev/stge/if_stge.c
M       sys/dev/uart/uart_kbd_sun.c
M       sys/dev/uart/uart_subr.c
M       sys/dev/usb/input/ukbd.c
M       sys/dev/usb/serial/u3g.c
M       sys/dev/usb/serial/uchcom.c
M       sys/dev/usb/serial/umcs.c
M       sys/dev/usb/serial/uplcom.c
M       sys/dev/vkbd/vkbd.c
M       sys/dev/wbwd/wbwd.c
M       sys/fs/autofs/autofs.c
M       sys/fs/nfs/nfs_commonkrpc.c
M       sys/geom/part/g_part_bsd.c
M       sys/geom/part/g_part_ebr.c
M       sys/geom/part/g_part_ldm.c
M       sys/geom/part/g_part_mbr.c
M       sys/i386/i386/i686_mem.c
M       sys/i386/i386/machdep.c
M       sys/i386/ibcs2/ibcs2_sysvec.c
M       sys/i386/linux/linux_sysvec.c
M       sys/kern/kern_dump.c
M       sys/kern/kern_ffclock.c
M       sys/kern/kern_jail.c
M       sys/kern/kern_ktrace.c
M       sys/kern/subr_hash.c
M       sys/kern/subr_witness.c
M       sys/kern/sysv_msg.c
M       sys/kern/sysv_sem.c
M       sys/kern/uipc_usrreq.c
M       sys/mips/mips/db_interface.c
M       sys/mips/nlm/board.c
M       sys/mips/nlm/xlp_machdep.c
M       sys/mips/rmi/dev/nlge/if_nlge.c
M       sys/net/netisr.c
M       sys/net/rtsock.c
M       sys/netgraph/atm/ng_atm.c
M       sys/netgraph/bluetooth/socket/ng_btsocket.c
M       sys/netgraph/ng_gif_demux.c
M       sys/netgraph/ng_iface.c
M       sys/netgraph/ng_socket.c
M       sys/netinet/in_proto.c
M       sys/netinet/tcp_syncache.c
M       sys/netinet6/in6_proto.c
M       sys/netipsec/key.c
M       sys/netipsec/keysock.c
M       sys/netnatm/natm_proto.c
M       sys/netsmb/smb_smb.c
M       sys/nlm/nlm_prot_impl.c
M       sys/pc98/cbus/gdc.c
M       sys/pc98/cbus/pckbd.c
M       sys/pc98/cbus/scterm-sck.c
M       sys/powerpc/powerpc/db_trace.c
M       sys/powerpc/pseries/xics.c
M       sys/security/audit/audit_bsm_klib.c
M       sys/security/audit/bsm_errno.c
M       sys/security/audit/bsm_fcntl.c
M       sys/security/audit/bsm_socket_type.c
M       sys/sparc64/sparc64/db_trace.c
M       sys/sparc64/sparc64/elf_machdep.c
M       sys/sparc64/sparc64/trap.c
M       sys/vm/vm_pager.c
M       sys/x86/isa/atpic.c
M       sys/x86/x86/identcpu.c
M       sys/x86/x86/local_apic.c
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to