Linux中包含有很多的Platform device,但是它们往往分布在不同的文件中,在查看平台设备驱动时往往不知道它到底在哪里,这里我将它汇总一哈,一边以后方便查看!(使用source intsight可以方便的查看每个设备的定义)
/* arch/arm/plat-samsung/include/plat/devs.h
*
* Copyright (c) 2004 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* Header file for s3c2410 standard platform devices
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/platform_device.h>
struct s3c24xx_uart_resources {
struct resource *resources;
unsigned long nr_resources;
};
extern struct s3c24xx_uart_resources s3c2410_uart_resources[];/* linux/arch/arm/plat-s3c24xx/devs.c*/
extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];/* linux/arch/arm/plat-s3c64xx/dev-uart.c*/
extern struct s3c24xx_uart_resources s5p_uart_resources[];/* linux/arch/arm/plat-s3c64xx/dev-uart.c*/
extern struct platform_device *s3c24xx_uart_devs[];/* linux/arch/arm/plat-samsung/dev-uart.c*/
extern struct platform_device *s3c24xx_uart_src[];
extern struct platform_device s3c_device_timer[];/* arch/arm/plat-s3c/pwm.c*/
extern struct platform_device s3c64xx_device_iis0;/* linux/arch/arm/plat-s3c/dev-audio.c*/
extern struct platform_device s3c64xx_device_iis1;/* linux/arch/arm/plat-s3c/dev-audio.c*/
extern struct platform_device s3c64xx_device_iisv4;/* linux/arch/arm/plat-s3c/dev-audio.c*/
extern struct platform_device s3c64xx_device_spi0;/* linux/arch/arm/plat-s3c64xx/dev-spi.c*/
extern struct platform_device s3c64xx_device_spi1;/* linux/arch/arm/plat-s3c64xx/dev-spi.c*/
extern struct platform_device s3c64xx_device_pcm0;/* linux/arch/arm/plat-s3c/dev-audio.c*/
extern struct platform_device s3c64xx_device_pcm1;/* linux/arch/arm/plat-s3c/dev-audio.c*/
extern struct platform_device s3c64xx_device_ac97;/* linux/arch/arm/plat-s3c/dev-audio.c*/
extern struct platform_device s3c_device_ts;/* linux/arch/arm/mach-s3c64xx/dev-ts-mini6410.c*/
extern struct platform_device s3c_device_fb;/* linux/arch/arm/plat-s3c/dev-fb.c*/
extern struct platform_device s3c_device_ohci;/* linux/arch/arm/plat-s3c/dev-usb.c*/
extern struct platform_device s3c_device_lcd;/* linux/arch/arm/plat-s3c24xx/devs.c*/
extern struct platform_device s3c_device_wdt;/* linux/arch/arm/plat-samsung/dev-wdt.c*/
extern struct platform_device s3c_device_i2c0;/* linux/arch/arm/plat-s3c/dev-i2c0.c*/
extern struct platform_device s3c_device_i2c1;
extern struct platform_device s3c_device_i2c2;
extern struct platform_device s3c_device_rtc;/* linux/arch/arm/plat-s3c24xx/devs.c*/
extern struct platform_device s3c_device_adc;/* linux/arch/arm/plat-s3c24xx/devs.c*/
extern struct platform_device s3c_device_sdi;/* linux/arch/arm/plat-s3c24xx/devs.c*/
extern struct platform_device s3c_device_iis;/* linux/arch/arm/plat-s3c24xx/devs.c*/
extern struct platform_device s3c_device_hwmon;/* linux/arch/arm/plat-samsung/dev-hwmon.c*/
extern struct platform_device s3c_device_hsmmc0;
extern struct platform_device s3c_device_hsmmc1;
extern struct platform_device s3c_device_hsmmc2;
extern struct platform_device s3c_device_hsmmc3;
extern struct platform_device s3c_device_cfcon;/* linux/arch/arm/plat-samsung/dev-ide.c*/
extern struct platform_device s3c_device_spi0;
extern struct platform_device s3c_device_spi1;
extern struct platform_device s5pc100_device_spi0;/* linux/arch/arm/mach-s5pc100/dev-spi.c*/
extern struct platform_device s5pc100_device_spi1;
extern struct platform_device s5pc100_device_spi2;
extern struct platform_device s5pv210_device_spi0;
extern struct platform_device s5pv210_device_spi1;
extern struct platform_device s5p6440_device_spi0;
extern struct platform_device s5p6440_device_spi1;
extern struct platform_device s3c_device_hwmon;
extern struct platform_device s3c_device_nand;
extern struct platform_device s3c_device_onenand;
extern struct platform_device s3c64xx_device_onenand1;
extern struct platform_device s5pc110_device_onenand;
extern struct platform_device s3c_device_usbgadget;
extern struct platform_device s3c_device_usb_hsotg;
extern struct platform_device s5pv210_device_ac97;
extern struct platform_device s5pv210_device_pcm0;
extern struct platform_device s5pv210_device_pcm1;
extern struct platform_device s5pv210_device_pcm2;
extern struct platform_device s5pv210_device_iis0;
extern struct platform_device s5pv210_device_iis1;
extern struct platform_device s5pv210_device_iis2;
extern struct platform_device s5p6442_device_pcm0;
extern struct platform_device s5p6442_device_pcm1;
extern struct platform_device s5p6442_device_iis0;
extern struct platform_device s5p6442_device_iis1;
extern struct platform_device s5p6442_device_spi;
extern struct platform_device s5p6440_device_pcm;
extern struct platform_device s5p6440_device_iis;
extern struct platform_device s5pc100_device_ac97;
extern struct platform_device s5pc100_device_pcm0;
extern struct platform_device s5pc100_device_pcm1;
extern struct platform_device s5pc100_device_iis0;
extern struct platform_device s5pc100_device_iis1;
extern struct platform_device s5pc100_device_iis2;
extern struct platform_device samsung_device_keypad;
extern struct platform_device s3c_device_g2d;
extern struct platform_device s3c_device_g3d;
extern struct platform_device s3c_device_vpp;
extern struct platform_device s3c_device_tvenc;
extern struct platform_device s3c_device_tvscaler;
extern struct platform_device s3c_device_rotator;
extern struct platform_device s3c_device_jpeg;
extern struct platform_device s3c_device_fimc0;
extern struct platform_device s3c_device_fimc1;
extern struct platform_device s3c_device_mfc;
extern struct platform_device s5p_device_fimc0;
extern struct platform_device s5p_device_fimc1;
extern struct platform_device s5p_device_fimc2;
/* s3c2440 specific devices */
#ifdef CONFIG_CPU_S3C2440
extern struct platform_device s3c_device_camif;
extern struct platform_device s3c_device_ac97;
#endif
/**
* s3c_set_platdata() - helper for setting platform data
* @pd: The default platform data for this device.
* @pdsize: The size of the platform data.
* @pdev: Pointer to the device to fill in.
*
* This helper replaces a number of calls that copy and then set the
* platform data of the device.
*/
extern void *s3c_set_platdata(void *pd, size_t pdsize,
struct platform_device *pdev);