Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1249364

[PATCH 10/14] init: deps: IDs for annotated initcalls

From Alexander Holler <holler@ahsoftware.de>
Newsgroups linux.kernel
Subject [PATCH 10/14] init: deps: IDs for annotated initcalls
Date 2015-10-17 19:20 +0200
Message-ID <qkDjb-41n-11@gated-at.bofh.it> (permalink)
References <qkDjb-41n-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


These patch contains the IDs for initcalls I've annotated.

This patch is NOT meant for merging into mainline in its current form.

It should be discussed about how to add these IDs and in which form, if
the feature ends up in mainline at all.

E.g. it could make sense to split this file into several files in order
to avoid merge conflicts.

It also might make sense to prefill this file with IDs for many drivers.

E.g. the following script will use a modules.dep file to produce IDs for
modules. It's meant to be used on a very complete modules.dep build through
make allmodconfig && make -jN modules && make modules_install.

----
if [ $# -ne 2 -o ! -f "$1" -o -f "$2" ]; then
  echo "Builds drvids"
  echo "usage: $(basename $0) modules.dep headerfile"
  echo "headerfile must not exist"
  exit 1
fi

echo -e "#ifndef _LINUX_DRIVER_IDS_H\n#define _LINUX_DRIVER_IDS_H\n\nenum {\n\tdrvid_unused," > "$2"
sed -e 's%.*/\(.*\).ko.gz:.*%\tdrvid_\1,%' "$1" | sed -e 's/-/_/g' >> "$2"
echo -e "\tdrvid_max\n};\n\n#endif /* _LINUX_DRIVER_IDS_H */\n" >> "$2"
----

Signed-off-by: Alexander Holler <holler@ahsoftware.de>
---
 include/linux/driver_ids.h | 581 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 580 insertions(+), 1 deletion(-)

diff --git a/include/linux/driver_ids.h b/include/linux/driver_ids.h
index 330080e..f029eaf 100644
--- a/include/linux/driver_ids.h
+++ b/include/linux/driver_ids.h
@@ -14,7 +14,214 @@
 
 enum {
 	drvid_unused,
-	/* To be filled */
+
+	/* arch/arm/common */
+	drvid_edma,
+	/* arch/arm/crypto */
+	drvid_aes_arm,
+	drvid_aes_ce_arm,
+	drvid_aesbs,
+	drvid_sha1_mod,
+	drvid_sha1_neon,
+	/* arch/arm/kernel */
+	drvid_customize_machine,
+	drvid_proc_cpu,
+	drvid_proc_dma_arm,
+	drvid_swp_emulation,
+	/* arch/arm/mach-imx */
+	drvid_imx_gpc,
+	drvid_imx_mmdc,
+	/* arch/arm/mach-omap2 */
+	drvid_omap_i2c_cmdline,
+	/* arch/arm/mm */
+	drvid_alignment,
+	drvid_atomic_pool,
+	drvid_dma_debug,
+	/* arch/arm/plat-omap */
+	drvid_omap_dm_timer,
+	/* arch/x86/crypto */
+	drvid_aes_x86,
+	/* arch/x86/kernel */
+	drvid_apm,
+	drvid_cpufreq_tsc,
+	drvid_hpet_late,
+	drvid_kernel_offset_dumper,
+	drvid_pci_iommu,
+	drvid_pmc_atom,
+	drvid_reboot,
+	drvid_rtc_cmos_x86,
+	drvid_tsc_clocksource,
+	/* arch/x86/kernel/acpi */
+	drvid_ffh_cstate,
+	drvid_hpet_insert_resource,
+	/* arch/x86/kernel/cpu/mcheck */
+	drvid_mcheck,
+	drvid_mcheck_debugfs,
+	drvid_thermal_throttle,
+	/* arch/x86/kernel/cpu/microcode */
+	drvid_microcode,
+	/* arch/x86/pci */
+	drvid_pci_arch,
+	drvid_pci_subsys,
+	drvid_pcibios_assign_resources,
+	/* block */
+	drvid_bio,
+	drvid_blk_dev_integrity,
+	drvid_blk_ioc,
+	drvid_blk_iopoll,
+	drvid_blk_mq,
+	drvid_blk_scsi_ioctl,
+	drvid_blk_settings,
+	drvid_blk_softirq,
+	drvid_bsg,
+	drvid_cfq_iosched,
+	drvid_deadline_iosched,
+	drvid_genhd,
+	drvid_noop,
+	drvid_proc_genhd,
+	/* crypto */
+	drvid_aes_generic,
+	drvid_authenc,
+	drvid_authencesn,
+	drvid_cbc,
+	drvid_chainiv,
+	drvid_crc32c,
+	drvid_crct10dif,
+	drvid_cryptd,
+	drvid_crypto_algapi,
+	drvid_crypto_wq,
+	drvid_cryptomgr,
+	drvid_deflate,
+	drvid_des_generic,
+	drvid_ecb,
+	drvid_eseqiv,
+	drvid_hmac,
+	drvid_lzo,
+	drvid_mcryptd,
+	drvid_md5,
+	drvid_michael_mic,
+	drvid_sha1_generic,
+	drvid_sha256_generic,
+	drvid_sha512_generic,
+	drvid_xor,
+	/* crypto/asymmetric_keys */
+	drvid_asymmetric_key,
+	drvid_x509,
+	/* drivers/acpi */
+	drvid_acpi,
+	drvid_acpi_ac,
+	drvid_acpi_battery,
+	drvid_acpi_button,
+	drvid_acpi_event,
+	drvid_acpi_fan,
+	drvid_acpi_processor_driver,
+	drvid_acpi_reserve_resources,
+	drvid_acpi_sbs,
+	drvid_acpi_smb_hc,
+	drvid_acpi_thermal,
+	/* drivers/ata */
+	drvid_ahci,
+	drvid_ahci_imx,
+	drvid_ata,
+	drvid_ata_generic,
+	drvid_ata_piix,
+	drvid_pata_acpi,
+	drvid_pata_amd,
+	drvid_pata_jmicron,
+	drvid_pata_mpiix,
+	drvid_pata_oldpiix,
+	drvid_pata_sch,
+	drvid_pata_sis,
+	/* drivers/base */
+	drvid_firmware_class,
+	/* drivers/block */
+	drvid_loop,
+	/* drivers/bus */
+	drvid_omap_l3_noc,
+	drvid_omap_l3_smx,
+	drvid_omap_ocp2scp,
+	drvid_imx_weim,
+	/* drivers/char */
+	drvid_agpgart,
+	drvid_genrtc,
+	drvid_hpet,
+	drvid_misc,
+	drvid_nvram,
+	drvid_char_rtc,
+	/* drivers/char/hw_random */
+	drvid_hwrng,
+	drvid_omap3_rom_rng,
+	drvid_omap_rng,
+	/* drivers/clocksource */
+	drvid_acpi_pm_clocksource,
+	/* drivers/connector */
+	drvid_cn,
+	drvid_cn_proc,
+	/* drivers/cpufreq */
+	drvid_acpi_cpufreq,
+	drvid_cpufreq,
+	drvid_cpufreq_gov_dbs,
+	drvid_cpufreq_gov_performance,
+	drvid_cpufreq_ondemand,
+	drvid_cpufreq_powersave,
+	drvid_cpufreq_stats,
+	drvid_imx6q_cpufreq,
+	drvid_kirkwood_cpufreq,
+	drvid_omap_cpufreq,
+	/* drivers/cpuidle */
+	drvid_cpuidle,
+	drvid_cpuidle_arm,
+	drvid_kirkwood_cpuidle,
+	/* drivers/crypto */
+	drvid_crypto_user,
+	drvid_mv_crypto,
+	drvid_omap_aes,
+	drvid_omap_sham,
+	/* drivers/crypto/marvell */
+	drvid_marvell_cesa,
+	/* drivers/dma */
+	drvid_cpp41_dma,
+	drvid_dma_bus,
+	drvid_dma_channel_table,
+	drvid_imx_sdma,
+	drvid_mv_xor,
+	drvid_mxs_dma,
+	drvid_omap_dma,
+	/* drivers/firmware */
+	drvid_dmi,
+	/* drivers/gpio */
+	drvid_bgpio,
+	drvid_gpio_twl4030,
+	drvid_gpiolib_debugfs,
+	drvid_mvebu_gpio,
+	drvid_mxc_gpio,
+	drvid_omap_gpio,
+	drvid_tps65910_gpio,
+	/* drivers/gpu/drm */
+	drvid_drm,
+	drvid_drm_fb_helper,
+	drvid_mipi_dsi_bus,
+	/* drivers/gpu/amd/amdgpu */
+	drvid_amdgpu,
+	/* drivers/gpu/drm/i915 */
+	drvid_i915,
+	/* drivers/gpu/drm/radeon */
+	drvid_radeon,
+	/* drivers/gpu/drm/tilcdc */
+	drvid_tilcdc,
+	/* drivers/gpu/drm/ttm */
+	drvid_ttm,
+	/* drivers/gpu/vga */
+	drvid_vga_arb,
+	/* drivers/hid */
+	drvid_uhid,
+	/* drivers/hwmon */
+	drvid_hwmon,
+	/* drivers/hwspinlock */
+	drvid_omap_hwspinlock,
+	/* drivers/i2c */
+	drvid_i2c,
+	drvid_i2c_dev,
 
 	/*
 	 * I2C bus drivers will be ordered according to their ID (which
@@ -23,8 +230,85 @@ enum {
 	 * Therefor their IDs have to be in the following block.
 	 */
 	drvid_i2c_busses_start,
+	/* drivers/i2c/busses */
+	drvid_i2c_gpio,
+	drvid_i2c_imx,
+	drvid_i2c_mv64xxx,
+	drvid_i2c_omap,
+	drvid_tiny_usb,
 	drvid_i2c_busses_end,
 
+	/* drivers/iio/adc */
+	drvid_tiadc,
+	/* drivers/input */
+	drvid_evdev,
+	drvid_input,
+	drvid_joydev,
+	drvid_mousedev,
+	/* drivers/input/keyboard */
+	drvid_gpio_keys,
+	drvid_atkbd,
+	/* drivers/input/misc */
+	drvid_twl4030_pwrbutton,
+	drvid_uinput,
+	/* drivers/input/serio */
+	drvid_i8042,
+	drvid_serio,
+	drvid_serport,
+	drvid_serio_raw,
+	/* drivers/iommu */
+	drvid_amd_iommu_v2,
+	drvid_iommu,
+	drvid_iommu_dev,
+	drvid_ir_dev_scope,
+	drvid_omap_iommu,
+	/* drivers/leds */
+	drvid_gpio_led,
+	drvid_leds,
+	drvid_leds_regulator,
+	/* drivers/leds/trigger */
+	drvid_ledtrig_heartbeat,
+	/* drivers/mailbox */
+	drvid_omap_mbox,
+	/* drivers/md */
+	drvid_md,
+	/* drivers/media/i2c */
+	drvid_ir_kbd_i2c,
+	/* drivers/memory */
+	drvid_omap_gpmc,
+	/* drivers/mfd */
+	drvid_omap_usbtll,
+	drvid_ti_tscadc,
+	drvid_tps65217,
+	drvid_tps65910_i2c,
+	drvid_twl4030_audio,
+	drvid_twl4030_power,
+	drvid_twl_core,
+	drvid_usbhs_omap,
+	/* drivers/misc */
+	drvid_sram,
+	/* drivers/misc/eeprom */
+	drvid_at24,
+	/* drivers/mmc/card */
+	drvid_mmcblk,
+	/* drivers/mmc/core */
+	drvid_mmc,
+	/* drivers/mmc/host */
+	drvid_mxs_mmc,
+	drvid_mmc_omap,
+	drvid_omap_hsmmc,
+	drvid_sdhci,
+	drvid_sdhci_esdhc_imx,
+	/* drivers/mtd */
+	drvid_mtd,
+	drvid_ofpart,
+	/* drivers/mtd/nand */
+	drvid_omap_elm,
+	drvid_omap2_nand,
+	drvid_orion_nand,
+	/* drivers/net/bluetooth */
+	drvid_bt,
+
 	/*
 	 * Network drivers will be ordered according to the link order
 	 * (which means not necessarily according to their appearance
@@ -33,8 +317,303 @@ enum {
 	 * Therefor their IDs have to be in the following block.
 	 */
 	drvid_network_drivers_start,
+	/* drivers/net/ethernet/ti */
+	drvid_cpsw,
+	/* drivers/net/ethernet/freescale */
+	drvid_fec,
+	/* drivers/net/ethernet/intel */
+	drvid_e1000,
+	/* drivers/net/ethernet/marvell */
+	drvid_mv643xx_eth,
+	/* drivers/net/ethernet/realtek */
+	drvid_r8169,
 	drvid_network_drivers_end,
 
+	/* drivers/net/ethernet/ti */
+	drvid_cpsw_phy_sel,
+	drvid_davinci_mdio,
+	/* drivers/net/ethernet/marvell */
+	drvid_orion_mdio,
+	/* drivers/net/irda */
+	drvid_nsc_ircc,
+	drvid_smsc_ircc,
+	/* drivers/net/phy */
+	drvid_phy_net,
+	drvid_phy_lxt,
+	drvid_phy_realtek,
+	drvid_phy_smsc,
+	/* drivers/pci */
+	drvid_pci_acpi,
+	drvid_pcibus_class,
+	drvid_pci_driver,
+	drvid_pci_proc,
+	drvid_pci_quirks,
+	drvid_pci_slot,
+	drvid_pci_stub,
+	/* drivers/pci/hotplug */
+	drvid_pci_hotplug,
+	/* drivers/phy */
+	drvid_phy,
+	drvid_phy_mvebu_sata,
+	drvid_twl4030_usb,
+	/* drivers/pinctrl */
+	drvid_imx6q_pinctrl,
+	drvid_pcs,
+	/* drivers/pinctrl/mvebu */
+	drvid_kirkwood_pinctrl,
+	/* drivers/platform/x86 */
+	drvid_acpi_wmi,
+	drvid_asus_wmi,
+	drvid_eeepc_wmi,
+	/* drivers/pnp */
+	drvid_pnp,
+	drvid_pnp_system,
+	/* drivers/pnp/pnpacpi */
+	drvid_pnpacpi,
+	/* drivers/power */
+	drvid_power_supply_class,
+	drvid_twl4030_bci,
+	/* drivers/power/reset */
+	drvid_imx_poweroff,
+	drvid_poweroff_gpio,
+	/* drivers/pwm */
+	drvid_ecap_pwm,
+	drvid_ehrpwm_pwm,
+	drvid_imx_pwm,
+	drvid_pwm_debugfs,
+	drvid_pwmss,
+	/* drivers/regulator */
+	drvid_anatop_regulator,
+	drvid_regulator,
+	drvid_regulator_fixed_voltage,
+	drvid_tps_65023,
+	drvid_tps65910,
+	drvid_twlreg,
+	/* drivers/remoteproc */
+	drvid_remoteproc,
+	drvid_wkup_m3_rproc,
+	/* drivers/rtc */
+	drvid_rtc,
+	drvid_rtc_cmos,
+	drvid_rtc_mxc,
+	drvid_rtc_omap,
+	drvid_rtc_ds1307,
+	drvid_rtc_hid_sensor_time,
+	drvid_rtc_snvs,
+	drvid_rtc_twl,
+	/* drivers/scsi */
+	drvid_scsi_mod,
+	drvid_sd_mod,
+	/* drivers/spi */
+	drvid_omap2_mcspi,
+	drvid_spi_imx,
+	/* drivers/thermal */
+	drvid_thermal,
+	/* drivers/tty */
+	drvid_pty,
+	drvid_sysrq,
+	drvid_tty,
+	/* drivers/tty/serial */
+	drvid_imx_uart,
+	drvid_lpuart,
+	drvid_of_serial,
+	drvid_omap_serial,
+	/* drivers/tty/serial/8250 */
+	drvid_omap8250,
+	drvid_serial,
+	drvid_serial_pci,
+	/* drivers/uio */
+	drvid_uio_pdrv_genirq,
+	/* drivers/usb/core */
+	drvid_usb,
+	/* drivers/usb/host */
+	drvid_ehci_hcd,
+	drvid_ehci_omap,
+	drvid_ehci_orion,
+	drvid_ehci_pci,
+	drvid_ohci_hcd,
+	drvid_ohci_omap3,
+	drvid_uhci_hcd,
+	/* drivers/usb/musb */
+	drvid_musb_dsps,
+	drvid_musb_hdrc,
+	drvid_omap2430,
+	/* drivers/usb/phy */
+	drvid_am335x_control,
+	drvid_am335x_phy,
+	drvid_gpio_vbus,
+	drvid_mxs_phy,
+	drvid_usb_phy_generic,
+	/* drivers/usb/storage */
+	drvid_ums_cypress,
+	drvid_usb_storage,
+	/* drivers/video/backlight */
+	drvid_backlight_class,
+	drvid_lcd_class,
+	drvid_platform_lcd,
+	drvid_pwm_backlight,
+	drvid_tps65217_bl,
+	/* drivers/video/console */
+	drvid_fb_console,
+	/* drivers/video/fbdev/core */
+	drvid_fbmem,
+	/* drivers/video/fbdev/omap2 */
+	drvid_omapvrfb,
+	/* drivers/watchdog */
+	drvid_imx2_wdt,
+	drvid_it87_wdt,
+	drvid_iTCO_wdt,
+	drvid_omap_wdt,
+	drvid_softdog,
+	drvid_twl4030_wdt,
+	drvid_watchdog,
+	/* fs */
+	drvid_anon_inode,
+	drvid_binfmt_misc,
+	drvid_binfmt_script,
+	drvid_binfmt_elf,
+	drvid_binfmt_elf_compat,
+	drvid_eventpoll,
+	drvid_mbcache,
+	drvid_pipe_fs,
+	drvid_proc_filesystems,
+	/* fs/btrfs */
+	drvid_btrfs,
+	/* fs/debugfs */
+	drvid_debugfs,
+	/* fs/ext4 */
+	drvid_ext4,
+	/* fs/fat */
+	drvid_msdos,
+	drvid_fat,
+	drvid_vfat,
+	/* fs/fuse */
+	drvid_fuse,
+	/* fs/jbd2 */
+	drvid_jbd2,
+	/* fs/lockd */
+	drvid_lockd,
+	/* fs/nfs */
+	drvid_grace,
+	drvid_nfs,
+	drvid_nfsv2,
+	drvid_nfsv3,
+	drvid_nfsv4,
+	drvid_nfs_layout_nfsv41_files,
+	drvid_blocklayoutdriver,
+	drvid_flexfilelayout,
+	drvid_nfs_layout_flexfiles,
+	/* fs/nfsd */
+	drvid_nfsd,
+	/* fs/proc */
+	drvid_proc_cmdline,
+	drvid_proc_consoles,
+	drvid_proc_cpuinfo,
+	drvid_proc_devices,
+	drvid_proc_interrupts,
+	drvid_proc_kcore,
+	drvid_proc_kmsg,
+	drvid_proc_loadavg,
+	drvid_proc_meminfo,
+	drvid_proc_page,
+	drvid_proc_softirqs,
+	drvid_proc_stat,
+	drvid_proc_uptime,
+	drvid_proc_version,
+	/* fs/ubifs */
+	drvid_ubifs,
+	/* ipc */
+	drvid_ipc,
+	drvid_ipc_sysctl,
+	drvid_mqueue_fs,
+	/* kernel */
+	drvid_configs,
+	drvid_proc_dma,
+	drvid_proc_modules,
+	drvid_futex,
+	drvid_load_system_certificate_list,
+	drvid_system_trusted_keyring_init,
+	drvid_wq_sysfs,
+	/* kernel/power */
+	drvid_pm,
+	drvid_pm_disk,
+	drvid_pm_sysrq,
+	drvid_snapshot_device,
+	/* kernel/sched */
+	drvid_proc_schedstat,
+	/* kernel/time */
+	drvid_clocksource_done_booting,
+	drvid_clocksource_sysfs,
+	/* lib */
+	drvid_crc_t10dif_mod,
+	drvid_crc32test,
+	drvid_kobject_uevent,
+	drvid_libcrc32c,
+	/* lib/raid6 */
+	drvid_raid6_pq,
+	/* mm */
+	drvid_bdi,
+	drvid_bdi_class,
+	drvid_proc_vmalloc,
+	drvid_procswaps,
+	/* net */
+	drvid_sock,
+	/* net/core */
+	drvid_fib_rules,
+	drvid_neigh,
+	drvid_net_dev,
+	drvid_net_inuse,
+	drvid_net_ns,
+	drvid_netpoll,
+	drvid_proto,
+	drvid_sysctl_core,
+	/* net/ethernet */
+	drvid_eth_offload,
+	/* net/ipv4 */
+	drvid_inet,
+	drvid_ipv4_netfilter,
+	drvid_ipv4_offload,
+	/* net/ipv6 */
+	drvid_inet6,
+	drvid_ipv6_offload,
+	/* net/netlink */
+	drvid_netlink,
+	drvid_netlink_proto,
+	/* net/packet */
+	drvid_packet,
+	/* net/rfkill */
+	drvid_rfkill,
+	drvid_rfkill_gpio,
+	/* net/sched */
+	drvid_pktsched,
+	/* net/sunrpc */
+	drvid_sunrpc,
+	drvid_auth_rpcgss,
+	drvid_rpcsec_gss_krb5,
+	/* net/unix */
+	drvid_af_unix,
+	/* net/wireless */
+	drvid_cfg80211,
+	drvid_wireless_nlevent,
+	/* net/xfrm */
+	drvid_xfrm_user,
+	/* security/keys */
+	drvid_key_proc,
+	/* sound/drivers/mpu401 */
+	drvid_snd_mpu401,
+	drvid_snd_mpu401_uart,
+	/* sound/soc */
+	drvid_snd_soc,
+	/* sound/soc/codecs */
+	drvid_hdmi_audio_codec,
+	drvid_twl4030_codec,
+	/* sound/soc/fsl */
+	drvid_imx_audmux,
+	/* sound/soc/omap */
+	drvid_omap_hdmi,
+	drvid_omap_mcbsp,
+	drvid_omap_twl4030,
+
 	drvid_max
 };
 
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 10/14] init: deps: IDs for annotated initcalls Alexander Holler <holler@ahsoftware.de> - 2015-10-17 19:20 +0200
  Re: [PATCH 10/14] init: deps: IDs for annotated initcalls Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-10-17 19:50 +0200
    Re: [PATCH 10/14] init: deps: IDs for annotated initcalls Alexander Holler <holler@ahsoftware.de> - 2015-10-17 20:00 +0200
      Re: [PATCH 10/14] init: deps: IDs for annotated initcalls Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-10-17 20:30 +0200
        Re: [PATCH 10/14] init: deps: IDs for annotated initcalls Alexander Holler <holler@ahsoftware.de> - 2015-10-17 20:50 +0200

csiph-web