Hi Guodong, [auto build test ERROR on ulf.hansson-mmc/next] [also build test ERROR on v4.5-rc6 next-20160304] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Guodong-Xu/Documentation-synopsys-dw-mshc-add-binding-for-resets/20160306-164955 base: https://git.linaro.org/people/ulf.hansson/mmc next config: sparc64-allyesconfig (attached as .config) 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=sparc64 All errors (new ones prefixed by >>): drivers/mmc/host/dw_mmc.c: In function 'dw_mci_parse_dt': >> drivers/mmc/host/dw_mmc.c:2882:7: error: 'struct dw_mci_board' has no member named 'rstc' pdata->rstc = devm_reset_control_get_optional(dev, NULL); ^ >> drivers/mmc/host/dw_mmc.c:2882:2: error: implicit declaration of function 'devm_reset_control_get_optional' [-Werror=implicit-function-declaration] pdata->rstc = devm_reset_control_get_optional(dev, NULL); ^ drivers/mmc/host/dw_mmc.c:2883:18: error: 'struct dw_mci_board' has no member named 'rstc' if (IS_ERR(pdata->rstc)) { ^ drivers/mmc/host/dw_mmc.c:2884:20: error: 'struct dw_mci_board' has no member named 'rstc' if (PTR_ERR(pdata->rstc) == -EPROBE_DEFER) ^ drivers/mmc/host/dw_mmc.c:2886:8: error: 'struct dw_mci_board' has no member named 'rstc' pdata->rstc = NULL; ^ drivers/mmc/host/dw_mmc.c: In function 'dw_mci_probe': drivers/mmc/host/dw_mmc.c:3025:17: error: 'struct dw_mci_board' has no member named 'rstc' if (host->pdata->rstc != NULL) ^ >> drivers/mmc/host/dw_mmc.c:3026:3: error: implicit declaration of function 'reset_control_deassert' [-Werror=implicit-function-declaration] reset_control_deassert(host->pdata->rstc); ^ drivers/mmc/host/dw_mmc.c:3026:37: error: 'struct dw_mci_board' has no member named 'rstc' reset_control_deassert(host->pdata->rstc); ^ drivers/mmc/host/dw_mmc.c:3180:17: error: 'struct dw_mci_board' has no member named 'rstc' if (host->pdata->rstc != NULL) ^ >> drivers/mmc/host/dw_mmc.c:3181:3: error: implicit declaration of function 'reset_control_assert' [-Werror=implicit-function-declaration] reset_control_assert(host->pdata->rstc); ^ drivers/mmc/host/dw_mmc.c:3181:35: error: 'struct dw_mci_board' has no member named 'rstc' reset_control_assert(host->pdata->rstc); ^ drivers/mmc/host/dw_mmc.c: In function 'dw_mci_remove': drivers/mmc/host/dw_mmc.c:3215:17: error: 'struct dw_mci_board' has no member named 'rstc' if (host->pdata->rstc != NULL) ^ drivers/mmc/host/dw_mmc.c:3216:35: error: 'struct dw_mci_board' has no member named 'rstc' reset_control_assert(host->pdata->rstc); ^ cc1: some warnings being treated as errors vim +2882 drivers/mmc/host/dw_mmc.c 2876 2877 pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); 2878 if (!pdata) 2879 return ERR_PTR(-ENOMEM); 2880 2881 /* find reset controller when exist */ > 2882 pdata->rstc = devm_reset_control_get_optional(dev, NULL); 2883 if (IS_ERR(pdata->rstc)) { 2884 if (PTR_ERR(pdata->rstc) == -EPROBE_DEFER) 2885 return ERR_PTR(-EPROBE_DEFER); > 2886 pdata->rstc = NULL; 2887 } 2888 2889 /* find out number of slots supported */ 2890 of_property_read_u32(np, "num-slots", &pdata->num_slots); 2891 2892 if (of_property_read_u32(np, "fifo-depth", &pdata->fifo_depth)) 2893 dev_info(dev, 2894 "fifo-depth property not found, using value of FIFOTH register as default\n"); 2895 2896 of_property_read_u32(np, "card-detect-delay", &pdata->detect_delay_ms); 2897 2898 if (!of_property_read_u32(np, "clock-frequency", &clock_frequency)) 2899 pdata->bus_hz = clock_frequency; 2900 2901 if (drv_data && drv_data->parse_dt) { 2902 ret = drv_data->parse_dt(host); 2903 if (ret) 2904 return ERR_PTR(ret); 2905 } 2906 2907 if (of_find_property(np, "supports-highspeed", NULL)) { 2908 dev_info(dev, "supports-highspeed property is deprecated.\n"); 2909 pdata->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED; 2910 } 2911 2912 return pdata; 2913 } 2914 2915 #else /* CONFIG_OF */ 2916 static struct dw_mci_board *dw_mci_parse_dt(struct dw_mci *host) 2917 { 2918 return ERR_PTR(-EINVAL); 2919 } 2920 #endif /* CONFIG_OF */ 2921 2922 static void dw_mci_enable_cd(struct dw_mci *host) 2923 { 2924 unsigned long irqflags; 2925 u32 temp; 2926 int i; 2927 struct dw_mci_slot *slot; 2928 2929 /* 2930 * No need for CD if all slots have a non-error GPIO 2931 * as well as broken card detection is found. 2932 */ 2933 for (i = 0; i < host->num_slots; i++) { 2934 slot = host->slot[i]; 2935 if (slot->mmc->caps & MMC_CAP_NEEDS_POLL) 2936 return; 2937 2938 if (IS_ERR_VALUE(mmc_gpio_get_cd(slot->mmc))) 2939 break; 2940 } 2941 if (i == host->num_slots) 2942 return; 2943 2944 spin_lock_irqsave(&host->irq_lock, irqflags); 2945 temp = mci_readl(host, INTMASK); 2946 temp |= SDMMC_INT_CD; 2947 mci_writel(host, INTMASK, temp); 2948 spin_unlock_irqrestore(&host->irq_lock, irqflags); 2949 } 2950 2951 int dw_mci_probe(struct dw_mci *host) 2952 { 2953 const struct dw_mci_drv_data *drv_data = host->drv_data; 2954 int width, i, ret = 0; 2955 u32 fifo_size; 2956 int init_slots = 0; 2957 2958 if (!host->pdata) { 2959 host->pdata = dw_mci_parse_dt(host); 2960 if (PTR_ERR(host->pdata) == -EPROBE_DEFER) 2961 return -EPROBE_DEFER; 2962 else if (IS_ERR(host->pdata)) { 2963 dev_err(host->dev, "platform data not available\n"); 2964 return -EINVAL; 2965 } 2966 } 2967 2968 host->biu_clk = devm_clk_get(host->dev, "biu"); 2969 if (IS_ERR(host->biu_clk)) { 2970 dev_dbg(host->dev, "biu clock not available\n"); 2971 } else { 2972 ret = clk_prepare_enable(host->biu_clk); 2973 if (ret) { 2974 dev_err(host->dev, "failed to enable biu clock\n"); 2975 return ret; 2976 } 2977 } 2978 2979 host->ciu_clk = devm_clk_get(host->dev, "ciu"); 2980 if (IS_ERR(host->ciu_clk)) { 2981 dev_dbg(host->dev, "ciu clock not available\n"); 2982 host->bus_hz = host->pdata->bus_hz; 2983 } else { 2984 ret = clk_prepare_enable(host->ciu_clk); 2985 if (ret) { 2986 dev_err(host->dev, "failed to enable ciu clock\n"); 2987 goto err_clk_biu; 2988 } 2989 2990 if (host->pdata->bus_hz) { 2991 ret = clk_set_rate(host->ciu_clk, host->pdata->bus_hz); 2992 if (ret) 2993 dev_warn(host->dev, 2994 "Unable to set bus rate to %uHz\n", 2995 host->pdata->bus_hz); 2996 } 2997 host->bus_hz = clk_get_rate(host->ciu_clk); 2998 } 2999 3000 if (!host->bus_hz) { 3001 dev_err(host->dev, 3002 "Platform data must supply bus speed\n"); 3003 ret = -ENODEV; 3004 goto err_clk_ciu; 3005 } 3006 3007 if (drv_data && drv_data->init) { 3008 ret = drv_data->init(host); 3009 if (ret) { 3010 dev_err(host->dev, 3011 "implementation specific init failed\n"); 3012 goto err_clk_ciu; 3013 } 3014 } 3015 3016 if (drv_data && drv_data->setup_clock) { 3017 ret = drv_data->setup_clock(host); 3018 if (ret) { 3019 dev_err(host->dev, 3020 "implementation specific clock setup failed\n"); 3021 goto err_clk_ciu; 3022 } 3023 } 3024 3025 if (host->pdata->rstc != NULL) > 3026 reset_control_deassert(host->pdata->rstc); 3027 3028 setup_timer(&host->cmd11_timer, 3029 dw_mci_cmd11_timer, (unsigned long)host); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data