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

From: Alexander Holler
Date: Sat Oct 17 2015 - 13:16:46 EST


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@xxxxxxxxxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/