Message ID | 1483102054-1752-12-git-send-email-ulf.hansson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Hi Ulf, [auto build test ERROR on linus/master] [also build test ERROR on v4.10-rc1 next-20161224] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ulf-Hansson/mmc-core-A-start-to-slim-down-public-mmc-headers/20161230-205340 config: arm-multi_v5_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): In file included from arch/arm/mach-imx/devices/devices-common.h:216:0, from arch/arm/mach-imx/mm-imx21.c:28: >> include/linux/platform_data/mmc-mxcmmc.h:24:34: error: unknown type name 'irq_handler_t' int (*init)(struct device *dev, irq_handler_t handler, void *data); ^~~~~~~~~~~~~ -- In file included from arch/arm/mach-imx/devices/devices-common.h:216:0, from arch/arm/mach-imx/devices-imx21.h:9, from arch/arm/mach-imx/mach-mx21ads.c:28: >> include/linux/platform_data/mmc-mxcmmc.h:24:34: error: unknown type name 'irq_handler_t' int (*init)(struct device *dev, irq_handler_t handler, void *data); ^~~~~~~~~~~~~ >> arch/arm/mach-imx/mach-mx21ads.c:257:50: error: unknown type name 'irq_handler_t' static int mx21ads_sdhc_init(struct device *dev, irq_handler_t detect_irq, ^~~~~~~~~~~~~ arch/arm/mach-imx/mach-mx21ads.c: In function 'mx21ads_sdhc_exit': >> arch/arm/mach-imx/mach-mx21ads.c:272:2: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration] free_irq(gpio_to_irq(MX21ADS_MMC_CD), data); ^~~~~~~~ arch/arm/mach-imx/mach-mx21ads.c: At top level: >> arch/arm/mach-imx/mach-mx21ads.c:279:2: error: unknown field 'init' specified in initializer .init = mx21ads_sdhc_init, ^ >> arch/arm/mach-imx/mach-mx21ads.c:279:10: error: 'mx21ads_sdhc_init' undeclared here (not in a function) .init = mx21ads_sdhc_init, ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from arch/arm/mach-imx/devices/devices-common.h:216:0, from arch/arm/mach-imx/devices-imx27.h:9, from arch/arm/mach-imx/mach-mx27ads.c:36: >> include/linux/platform_data/mmc-mxcmmc.h:24:34: error: unknown type name 'irq_handler_t' int (*init)(struct device *dev, irq_handler_t handler, void *data); ^~~~~~~~~~~~~ >> arch/arm/mach-imx/mach-mx27ads.c:294:51: error: unknown type name 'irq_handler_t' static int mx27ads_sdhc1_init(struct device *dev, irq_handler_t detect_irq, ^~~~~~~~~~~~~ arch/arm/mach-imx/mach-mx27ads.c:301:51: error: unknown type name 'irq_handler_t' static int mx27ads_sdhc2_init(struct device *dev, irq_handler_t detect_irq, ^~~~~~~~~~~~~ arch/arm/mach-imx/mach-mx27ads.c: In function 'mx27ads_sdhc1_exit': >> arch/arm/mach-imx/mach-mx27ads.c:310:2: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration] free_irq(gpio_to_irq(IMX_GPIO_NR(5, 21)), data); ^~~~~~~~ arch/arm/mach-imx/mach-mx27ads.c: At top level: >> arch/arm/mach-imx/mach-mx27ads.c:319:2: error: unknown field 'init' specified in initializer .init = mx27ads_sdhc1_init, ^ >> arch/arm/mach-imx/mach-mx27ads.c:319:10: error: 'mx27ads_sdhc1_init' undeclared here (not in a function) .init = mx27ads_sdhc1_init, ^~~~~~~~~~~~~~~~~~ arch/arm/mach-imx/mach-mx27ads.c:324:2: error: unknown field 'init' specified in initializer .init = mx27ads_sdhc2_init, ^ >> arch/arm/mach-imx/mach-mx27ads.c:324:10: error: 'mx27ads_sdhc2_init' undeclared here (not in a function) .init = mx27ads_sdhc2_init, ^~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from arch/arm/mach-imx/devices/devices-common.h:216:0, from arch/arm/mach-imx/devices-imx27.h:9, from arch/arm/mach-imx/mach-imx27_visstrim_m10.c:45: >> include/linux/platform_data/mmc-mxcmmc.h:24:34: error: unknown type name 'irq_handler_t' int (*init)(struct device *dev, irq_handler_t handler, void *data); ^~~~~~~~~~~~~ >> arch/arm/mach-imx/mach-imx27_visstrim_m10.c:341:3: error: unknown type name 'irq_handler_t' irq_handler_t detect_irq, void *data) ^~~~~~~~~~~~~ arch/arm/mach-imx/mach-imx27_visstrim_m10.c: In function 'visstrim_m10_sdhc1_exit': >> arch/arm/mach-imx/mach-imx27_visstrim_m10.c:352:2: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration] free_irq(gpio_to_irq(SDHC1_IRQ_GPIO), data); ^~~~~~~~ arch/arm/mach-imx/mach-imx27_visstrim_m10.c: At top level: >> arch/arm/mach-imx/mach-imx27_visstrim_m10.c:356:2: error: unknown field 'init' specified in initializer .init = visstrim_m10_sdhc1_init, ^ >> arch/arm/mach-imx/mach-imx27_visstrim_m10.c:356:10: error: 'visstrim_m10_sdhc1_init' undeclared here (not in a function) .init = visstrim_m10_sdhc1_init, ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/irq_handler_t +24 include/linux/platform_data/mmc-mxcmmc.h d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 8 /* board specific SDHC data, optional. d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 9 * If not present, a writable card with 3,3V is assumed. d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 10 */ d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 11 struct imxmmc_platform_data { d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 12 /* Return values for the get_ro callback should be: d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 13 * 0 for a read/write card d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 14 * 1 for a read-only card d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 15 * -ENOSYS when not supported (equal to NULL callback) d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 16 * or a negative errno value when something bad happened d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 17 */ d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 18 int (*get_ro)(struct device *); d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 19 d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 20 /* board specific hook to (de)initialize the SD slot. d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 21 * The board code can call 'handler' on a card detection d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 22 * change giving data as argument. d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 23 */ d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 @24 int (*init)(struct device *dev, irq_handler_t handler, void *data); d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 25 void (*exit)(struct device *dev, void *data); d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 26 d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 27 /* available voltages. If not given, assume d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 28 * MMC_VDD_32_33 | MMC_VDD_33_34 d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 29 */ d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 30 unsigned int ocr_avail; d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 31 d96be879 arch/arm/plat-mxc/include/mach/mmc.h Sascha Hauer 2009-01-06 32 /* adjust slot voltage */ :::::: The code at line 24 was first introduced by commit :::::: d96be879ff469759af6d7fcebdb66237c18da6f8 mmc: Add a MX2/MX3 specific SDHC driver :::::: TO: Sascha Hauer <s.hauer@pengutronix.de> :::::: CC: Pierre Ossman <drzeus@drzeus.cx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Ulf, [auto build test ERROR on linus/master] [also build test ERROR on v4.10-rc1 next-20161224] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ulf-Hansson/mmc-core-A-start-to-slim-down-public-mmc-headers/20161230-205340 config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): In file included from arch/arm/mach-imx/devices/devices-common.h:216:0, from arch/arm/mach-imx/devices-imx31.h:9, from arch/arm/mach-imx/mx31lilly-db.c:35: include/linux/platform_data/mmc-mxcmmc.h:24:34: error: unknown type name 'irq_handler_t' int (*init)(struct device *dev, irq_handler_t handler, void *data); ^~~~~~~~~~~~~ >> arch/arm/mach-imx/mx31lilly-db.c:90:5: error: unknown type name 'irq_handler_t' irq_handler_t detect_irq, void *data) ^~~~~~~~~~~~~ arch/arm/mach-imx/mx31lilly-db.c: In function 'mxc_mmc1_exit': >> arch/arm/mach-imx/mx31lilly-db.c:136:2: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration] free_irq(gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_GPIO1_1)), data); ^~~~~~~~ arch/arm/mach-imx/mx31lilly-db.c: At top level: >> arch/arm/mach-imx/mx31lilly-db.c:141:2: error: unknown field 'init' specified in initializer .init = mxc_mmc1_init, ^ >> arch/arm/mach-imx/mx31lilly-db.c:141:10: error: 'mxc_mmc1_init' undeclared here (not in a function) .init = mxc_mmc1_init, ^~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from arch/arm/mach-imx/devices/devices-common.h:216:0, from arch/arm/mach-imx/devices-imx31.h:9, from arch/arm/mach-imx/mx31lite-db.c:36: include/linux/platform_data/mmc-mxcmmc.h:24:34: error: unknown type name 'irq_handler_t' int (*init)(struct device *dev, irq_handler_t handler, void *data); ^~~~~~~~~~~~~ >> arch/arm/mach-imx/mx31lite-db.c:70:5: error: unknown type name 'irq_handler_t' irq_handler_t detect_irq, void *data) ^~~~~~~~~~~~~ arch/arm/mach-imx/mx31lite-db.c: In function 'mxc_mmc1_exit': >> arch/arm/mach-imx/mx31lite-db.c:122:2: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration] free_irq(gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_DCD_DCE1)), data); ^~~~~~~~ arch/arm/mach-imx/mx31lite-db.c: At top level: >> arch/arm/mach-imx/mx31lite-db.c:127:2: error: unknown field 'init' specified in initializer .init = mxc_mmc1_init, ^ >> arch/arm/mach-imx/mx31lite-db.c:127:13: error: 'mxc_mmc1_init' undeclared here (not in a function) .init = mxc_mmc1_init, ^~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/irq_handler_t +90 arch/arm/mach-imx/mx31lilly-db.c 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 29 #include <asm/mach-types.h> 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 30 #include <asm/mach/arch.h> 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 31 #include <asm/mach/map.h> 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 32 3ed0bcb4 arch/arm/mach-imx/mx31lilly-db.c Shawn Guo 2012-09-13 33 #include "board-mx31lilly.h" e3372474 arch/arm/mach-imx/mx31lilly-db.c Shawn Guo 2012-09-13 34 #include "common.h" 16cf5c41 arch/arm/mach-mx3/mx31lilly-db.c Uwe Kleine-König 2010-06-23 @35 #include "devices-imx31.h" 50f2de61 arch/arm/mach-imx/mx31lilly-db.c Shawn Guo 2012-09-14 36 #include "hardware.h" 267dd34c arch/arm/mach-imx/mx31lilly-db.c Shawn Guo 2012-09-13 37 #include "iomux-mx3.h" 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 38 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 39 /* 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 40 * This file contains board-specific initialization routines for the 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 41 * LILLY-1131 development board. If you design an own baseboard for the 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 42 * module, use this file as base for support code. 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 43 */ 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 44 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 45 static unsigned int lilly_db_board_pins[] __initdata = { d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 46 MX31_PIN_SD1_DATA3__SD1_DATA3, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 47 MX31_PIN_SD1_DATA2__SD1_DATA2, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 48 MX31_PIN_SD1_DATA1__SD1_DATA1, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 49 MX31_PIN_SD1_DATA0__SD1_DATA0, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 50 MX31_PIN_SD1_CLK__SD1_CLK, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 51 MX31_PIN_SD1_CMD__SD1_CMD, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 52 MX31_PIN_LD0__LD0, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 53 MX31_PIN_LD1__LD1, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 54 MX31_PIN_LD2__LD2, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 55 MX31_PIN_LD3__LD3, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 56 MX31_PIN_LD4__LD4, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 57 MX31_PIN_LD5__LD5, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 58 MX31_PIN_LD6__LD6, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 59 MX31_PIN_LD7__LD7, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 60 MX31_PIN_LD8__LD8, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 61 MX31_PIN_LD9__LD9, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 62 MX31_PIN_LD10__LD10, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 63 MX31_PIN_LD11__LD11, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 64 MX31_PIN_LD12__LD12, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 65 MX31_PIN_LD13__LD13, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 66 MX31_PIN_LD14__LD14, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 67 MX31_PIN_LD15__LD15, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 68 MX31_PIN_LD16__LD16, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 69 MX31_PIN_LD17__LD17, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 70 MX31_PIN_VSYNC3__VSYNC3, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 71 MX31_PIN_HSYNC__HSYNC, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 72 MX31_PIN_FPSHIFT__FPSHIFT, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 73 MX31_PIN_DRDY0__DRDY0, b9923872 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 74 MX31_PIN_CONTRAST__CONTRAST, 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 75 }; 1bc34f79 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 76 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 77 /* MMC support */ d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 78 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 79 static int mxc_mmc1_get_ro(struct device *dev) d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 80 { d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 81 return gpio_get_value(IOMUX_TO_GPIO(MX31_PIN_LCS0)); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 82 } d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 83 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 84 static int gpio_det, gpio_wp; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 85 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 86 #define MMC_PAD_CFG (PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST | PAD_CTL_HYS_CMOS | \ 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 87 PAD_CTL_ODE_CMOS | PAD_CTL_100K_PU) 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 88 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 89 static int mxc_mmc1_init(struct device *dev, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 @90 irq_handler_t detect_irq, void *data) d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 91 { d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 92 int ret; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 93 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 94 gpio_det = IOMUX_TO_GPIO(MX31_PIN_GPIO1_1); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 95 gpio_wp = IOMUX_TO_GPIO(MX31_PIN_LCS0); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 96 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 97 mxc_iomux_set_pad(MX31_PIN_SD1_DATA0, MMC_PAD_CFG); 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 98 mxc_iomux_set_pad(MX31_PIN_SD1_DATA1, MMC_PAD_CFG); 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 99 mxc_iomux_set_pad(MX31_PIN_SD1_DATA2, MMC_PAD_CFG); 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 100 mxc_iomux_set_pad(MX31_PIN_SD1_DATA3, MMC_PAD_CFG); 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 101 mxc_iomux_set_pad(MX31_PIN_SD1_CLK, MMC_PAD_CFG); 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 102 mxc_iomux_set_pad(MX31_PIN_SD1_CMD, MMC_PAD_CFG); 24fb8422 arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-10-26 103 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 104 ret = gpio_request(gpio_det, "MMC detect"); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 105 if (ret) d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 106 return ret; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 107 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 108 ret = gpio_request(gpio_wp, "MMC w/p"); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 109 if (ret) d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 110 goto exit_free_det; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 111 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 112 gpio_direction_input(gpio_det); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 113 gpio_direction_input(gpio_wp); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 114 ed175343 arch/arm/mach-imx/mx31lilly-db.c Shawn Guo 2011-12-02 115 ret = request_irq(gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_GPIO1_1)), 4c1dd3e5 arch/arm/mach-imx/mx31lilly-db.c Michael Opdenacker 2013-09-04 116 detect_irq, IRQF_TRIGGER_FALLING, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 117 "MMC detect", data); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 118 if (ret) d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 119 goto exit_free_wp; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 120 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 121 return 0; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 122 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 123 exit_free_wp: d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 124 gpio_free(gpio_wp); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 125 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 126 exit_free_det: d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 127 gpio_free(gpio_det); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 128 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 129 return ret; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 130 } d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 131 d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 132 static void mxc_mmc1_exit(struct device *dev, void *data) d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 133 { d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 134 gpio_free(gpio_det); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 135 gpio_free(gpio_wp); ed175343 arch/arm/mach-imx/mx31lilly-db.c Shawn Guo 2011-12-02 @136 free_irq(gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_GPIO1_1)), data); d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 137 } d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 138 6a697e3d arch/arm/mach-mx3/mx31lilly-db.c Uwe Kleine-König 2010-11-12 139 static const struct imxmmc_platform_data mmc_pdata __initconst = { d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 140 .get_ro = mxc_mmc1_get_ro, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 @141 .init = mxc_mmc1_init, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 142 .exit = mxc_mmc1_exit, d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 143 }; d0b1eabc arch/arm/mach-mx3/mx31lilly-db.c Daniel Mack 2009-05-20 144 :::::: The code at line 90 was first introduced by commit :::::: d0b1eabc7b255daa978849229703b4d70a4c0555 ARM: MX3: add MMC suuport for lilly1131-db :::::: TO: Daniel Mack <daniel@caiaq.de> :::::: CC: Sascha Hauer <s.hauer@pengutronix.de> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 00449e5..ca64f5b 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -11,7 +11,6 @@ #define LINUX_MMC_CARD_H #include <linux/device.h> -#include <linux/mmc/core.h> #include <linux/mod_devicetable.h> struct mmc_cid { @@ -206,7 +205,6 @@ struct sdio_cis { }; struct mmc_host; -struct mmc_ios; struct sdio_func; struct sdio_func_tuple; diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h index e33cc74..64e2ddf 100644 --- a/include/linux/mmc/core.h +++ b/include/linux/mmc/core.h @@ -8,10 +8,9 @@ #ifndef LINUX_MMC_CORE_H #define LINUX_MMC_CORE_H -#include <linux/interrupt.h> #include <linux/completion.h> +#include <linux/types.h> -struct request; struct mmc_data; struct mmc_request; diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 8bc8841..8d38c76 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -10,16 +10,12 @@ #ifndef LINUX_MMC_HOST_H #define LINUX_MMC_HOST_H -#include <linux/leds.h> -#include <linux/mutex.h> -#include <linux/timer.h> #include <linux/sched.h> #include <linux/device.h> #include <linux/fault-inject.h> #include <linux/mmc/core.h> #include <linux/mmc/card.h> -#include <linux/mmc/mmc.h> #include <linux/mmc/pm.h> struct mmc_ios { @@ -82,6 +78,8 @@ struct mmc_ios { bool enhanced_strobe; /* hs400es selection */ }; +struct mmc_host; + struct mmc_host_ops { /* * It is optional for the host to implement pre_req and post_req in @@ -162,9 +160,6 @@ struct mmc_host_ops { unsigned int direction, int blk_size); }; -struct mmc_card; -struct device; - struct mmc_async_req { /* active mmc request */ struct mmc_request *mrq; diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index a074082..261772e 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h @@ -24,6 +24,8 @@ #ifndef LINUX_MMC_MMC_H #define LINUX_MMC_MMC_H +#include <linux/types.h> + /* Standard MMC commands (4.1) type argument response */ /* class 1 */ #define MMC_GO_IDLE_STATE 0 /* bc */ diff --git a/include/linux/mmc/slot-gpio.h b/include/linux/mmc/slot-gpio.h index a7972cd..82f0d28 100644 --- a/include/linux/mmc/slot-gpio.h +++ b/include/linux/mmc/slot-gpio.h @@ -11,6 +11,9 @@ #ifndef MMC_SLOT_GPIO_H #define MMC_SLOT_GPIO_H +#include <linux/types.h> +#include <linux/irqreturn.h> + struct mmc_host; int mmc_gpio_get_ro(struct mmc_host *host);
This is the first step in cleaning up the public mmc header files. In this change we makes sure each header file builds standalone, as that helps to resolve dependencies. While changing this, it also seems reasonable to stop including other headers from inside a header itself which it don't depend upon. Additionally, in some cases such dependencies are better resolved by forward declaring the needed struct. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> --- include/linux/mmc/card.h | 2 -- include/linux/mmc/core.h | 3 +-- include/linux/mmc/host.h | 9 ++------- include/linux/mmc/mmc.h | 2 ++ include/linux/mmc/slot-gpio.h | 3 +++ 5 files changed, 8 insertions(+), 11 deletions(-) -- 1.9.1