linux 内核代码组织结构

jc posted @ 2011年7月19日 05:45 in Linux内核探索 , 2649 阅读

linux-2.6.28.6

real6410 board

 0. source "init/Kconfig" 

      |

      +-- source usr/Kconfig

      |
      +-- source arch/Kconfig
      |
      +-- source block/Kconfig
 
source "kernel/Kconfig.freezer"
 
 
1. arch/arm/Kconfig
 
config ARCH_S3C64XX == y
    bool "Samsung S3C64XX"
    select GENERIC_GPIO
    select HAVE_CLK
 
2. source "arch/arm/plat-s3c64xx/Kconfig" in plat-s3c64xx/Kconfig
 
dev-uart.c devs.c
cpu.c
irq.c
irq-eint.c
irq-eint-group.c
clock.c
gpiolib.c
bootmem.c
 
config PLAT_S3C64XX == y
    bool 
    depends on ARCH_S3C64XX
    select PLAT_S3C -->arch/arm/plat-s3c/Kconfig -->3
    select ARM_VIC -->arch/arm/common/Kconfig:4 -->arch/arm/common/vic.c
    select NO_IOPORT -->arch/arm/Kconfig:56
    select ARCH_REQUIRE_GPIOLIB -->drivers/gpio/Kconfig:15 -->drivers/gpio/gpiolib.c
    select S3C_GPIO_TRACK -->arch/arm/plat-s3c/Kconfig:123 ->arch/arm/plat-s3c/gpio.c
    select S3C_GPIO_PULL_UPDOWN -->arch/arm/plat-s3c/Kconfig:129 ->arch/arm/plat-s3c/gpio-config.c
    select S3C_GPIO_CFG_S3C24XX -->arch/arm/plat-s3c/Kconfig:144 ->arch/arm/plat-s3c/gpio-config.c
    select S3C_GPIO_CFG_S3C64XX -->arch/arm/plat-s3c/Kconfig:150 ->arch/arm/plat-s3c/gpio-config.c
    select DMABOUNCE -->arch/arm/common/Kconfig:17 -->arch/arm/common/dmabounce.c
    default y
 
config S3C64XX_SETUP_I2C0 -->./setup-i2c0.c
    bool
    default y
 
config S3C64XX_DEV_FIMC0 -->./dev-fimc0.c
    bool
    default y
 
config S3C64XX_DEV_FIMC1 -->./dev-fimc1.c
    bool
    default y
 
config S3C64XX_SETUP_FIMC0 -->./setup-fimc0.c
    bool
    default y
 
config S3C64XX_SETUP_FIMC1 -->./setup-fimc1.c
    bool
    default y
 
config S3C64XX_DEV_RP -->./dev-rp.c
    bool
    default y
 
3. source "arch/arm/plat-s3c/Kconfig"
 
init.c
hr-time.c
clock.c
pwm-clock.c
gpio.c
gpio-config.c
 
config PLAT_S3C
    depends on ARCH_S3C2410 || ARCH_S3C24A0 || ARCH_S3C64XX || ARCH_S5P64XX || ARCH_S5PC1XX
    default y
 
config S3C_BOOT_ERROR_RESET -->arch/arm/plat-s3c/include/plat/uncompress.h:122
    bool "S3C Reboot on decompression error"
    depends on PLAT_S3C
 
config S3C_LOWLEVEL_UART_PORT -->arch/arm/plat-s3c/include/plat/uncompress.h:40
 -->arch/arm/plat-s3c64xx/sleep.S:25
 -->arch/arm/boot/compressed/head.S:58
    int "S3C UART to use for low-level messages"
    depends on PLAT_S3C
    default 0
 
config S3C_GPIO_SPACE ->arch/arm/mach-s3c6400/include/mach/gpio.h:47
    int "Space between gpio banks"
    default 0
 
config S3C_GPIO_PULL_DOWN ->arch/arm/plat-s3c/include/plat/gpio-cfg.h:91
    bool
 
config S3C_GPIO_PULL_UP ->arch/arm/plat-s3c/include/plat/gpio-cfg.h:92
    bool
 
config S3C_DEV_HSMMC (select by MACH_SMDK6410) -->./dev-hsmmc.c
    bool
    depends on PLAT_S3C
 
config S3C_DEV_HSMMC1 (select by MACH_SMDK6410) -->./dev-hsmmc1.c
    bool
    depends on PLAT_S3C
 
config S3C_DEV_HSMMC2 (select by MACH_SMDK6410) -->./dev-hsmmc2.c
    bool
    depends on PLAT_S3C
 
config S3C_DEV_I2C1 (not select by MACH_SMDK6410) -->./dev-i2c1.c (dev-i2c0.c included)
    bool
    depends on PLAT_S3C
 
config S3C_DMA_PL080 (select by MACH_SMDK6410) -->./dma-pl080.c
    bool
    depends on PLAT_S3C
 
config DYNAMIC_TIMER
    bool "Tickless and HR Timer"
    select GENERIC_TIME -->/drives/clocksource
    select GENERIC_CLOCKEVENTS -->kernel/time/tick-common.c
 
4. source "arch/arm/mach-s3c6410/Kconfig"
 
cpu.c
dma.c
irq.c
 
config CPU_S3C6410
    bool
    select CPU_S3C6400_INIT -->arch/arm/plat-s3c64xx/s3c6400-init.c
    select CPU_S3C6400_CLOCK -->arch/arm/plat-s3c64xx/s3c6400-clock.c
 
config S3C6410_SETUP_SDHCI (select by MACH_SMDK6410) -->./setup-sdhci.c
    bool
 
config MACH_SMDK6410
    bool "SMDK6410"
    select CPU_S3C6410
    select S3C_DEV_HSMMC
    select S3C_DEV_HSMMC1
    select S3C_DEV_HSMMC2
#   select S3C_DEV_I2C1
    select S3C6410_SETUP_SDHCI
#   select S3C64XX_SETUP_I2C1
    select S3C_DMA_PL080
 
config SMDK6410_SD_CH0 ->arch/arm/mach-s3c6410/mach-smdk6410.c:548
    bool "Use channel 0"
    depends on MACH_SMDK6410
 
config SMDK6410_SD_CH1 ->arch/arm/mach-s3c6410/mach-smdk6410.c:551
    bool "Use channel 0"
    depends on MACH_SMDK6410
 
5. source arch/arm/mm/Kconfig
 
6. source "arch/arm/common/Kconfig"
 
7. source "drivers/pci/Kconfig"
 
8. source "drivers/pcmcia/Kconfig"
 
9. source "kernel/time/Kconfig"
 
10. source "mm/Kconfig"
 
11. source "drivers/cpufreq/Kconfig"
 
12. source "drivers/cpuidle/Kconfig"
 
13. source "fs/Kconfig.binfmt"
 
14. source "kernel/power/Kconfig"
 
15. source "net/Kconfig"
 
16. source "drivers/base/Kconfig"
 
17. source "drivers/connector/Kconfig"
 
18. source "drivers/mtd/Kconfig"
 
source "drivers/parport/Kconfig"
 
source "drivers/pnp/Kconfig"
 
source "drivers/block/Kconfig"
 
source "drivers/misc/Kconfig"
 
source "drivers/ide/Kconfig"
 
source "drivers/scsi/Kconfig"
 
source "drivers/ata/Kconfig"
 
source "drivers/md/Kconfig"
 
source "drivers/message/fusion/Kconfig"
 
source "drivers/ieee1394/Kconfig"
 
source "drivers/message/i2o/Kconfig"
 
source "drivers/net/Kconfig"
 
source "drivers/isdn/Kconfig"
 
source "drivers/input/Kconfig"
 
source "drivers/char/Kconfig"
 
source "drivers/i2c/Kconfig"
 
source "drivers/spi/Kconfig"
 
source "drivers/gpio/Kconfig"
 
source "drivers/w1/Kconfig"
 
source "drivers/power/Kconfig"
 
source "drivers/hwmon/Kconfig"
 
source "drivers/thermal/Kconfig"
 
source "drivers/watchdog/Kconfig"
 
source "drivers/ssb/Kconfig"
 
#source "drivers/l3/Kconfig"
 
source "drivers/mfd/Kconfig"
 
source "drivers/media/Kconfig"
 
source "drivers/video/Kconfig"
 
source "sound/Kconfig"
 
source "drivers/hid/Kconfig"
 
source "drivers/usb/Kconfig"
 
source "drivers/uwb/Kconfig"
 
source "drivers/mmc/Kconfig"
 
source "drivers/memstick/Kconfig"
 
source "drivers/accessibility/Kconfig"
 
source "drivers/leds/Kconfig"
 
source "drivers/switch/Kconfig"
 
source "drivers/rtc/Kconfig"
 
source "drivers/dma/Kconfig"
 
source "drivers/dca/Kconfig"
 
source "drivers/auxdisplay/Kconfig"
 
source "drivers/regulator/Kconfig"
 
source "drivers/uio/Kconfig"
 
source "fs/Kconfig"
 
source "arch/arm/Kconfig.debug"
 
source "security/Kconfig"
 
source "crypto/Kconfig"
 
source "lib/Kconfig"
 
Avatar_small
Jamie Coventry 说:
2019年2月17日 20:55

JC and all its parts are fixed for the success of the people. The hope of the JC and what is the best essay services has been asked for the investigation of the people. The true element is done for the flow of the pros and cons for the humans.

Avatar_small
boardmodelpaper.com 说:
2024年1月21日 19:55

The Board model paper" typically refers to a sample or model question paper that is designed by educational boards or institutions for various exams. These papers serve as practice material for students preparing for exams, providing them with an idea of the question format, difficulty level, and the type of content that may be covered in the actual examination. boardmodelpaper.com Model papers are usually created for specific subjects or courses. They cover a range of topics and chapters that students are expected to have studied during the academic term. Students often use these educational board model papers as an integral part of their exam preparation strategy, helping them familiarize themselves with the exam pattern and refine their understanding of the subject matter.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter