Re: [PATCH v3 10/14] mmc: jz4740: Let the pinctrl driver configure the pins

From: kbuild test robot
Date: Thu Jan 26 2017 - 01:12:57 EST


Hi Paul,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.10-rc5 next-20170125]
[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/Paul-Cercueil/Ingenic-JZ4740-JZ4780-pinctrl-driver/20170126-030028
config: mips-qi_lb60_defconfig (attached as .config)
compiler: mipsel-linux-gnu-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=mips

All errors (new ones prefixed by >>):

drivers/mmc/host/jz4740_mmc.c: In function 'jz4740_mmc_set_ios':
>> drivers/mmc/host/jz4740_mmc.c:864:7: error: implicit declaration of function 'gpio_is_valid' [-Werror=implicit-function-declaration]
if (gpio_is_valid(host->pdata->gpio_power))
^~~~~~~~~~~~~
>> drivers/mmc/host/jz4740_mmc.c:865:4: error: implicit declaration of function 'gpio_set_value' [-Werror=implicit-function-declaration]
gpio_set_value(host->pdata->gpio_power,
^~~~~~~~~~~~~~
drivers/mmc/host/jz4740_mmc.c: In function 'jz4740_mmc_request_gpio':
>> drivers/mmc/host/jz4740_mmc.c:916:8: error: implicit declaration of function 'gpio_request' [-Werror=implicit-function-declaration]
ret = gpio_request(gpio, name);
^~~~~~~~~~~~
>> drivers/mmc/host/jz4740_mmc.c:923:3: error: implicit declaration of function 'gpio_direction_output' [-Werror=implicit-function-declaration]
gpio_direction_output(gpio, value);
^~~~~~~~~~~~~~~~~~~~~
>> drivers/mmc/host/jz4740_mmc.c:925:3: error: implicit declaration of function 'gpio_direction_input' [-Werror=implicit-function-declaration]
gpio_direction_input(gpio);
^~~~~~~~~~~~~~~~~~~~
drivers/mmc/host/jz4740_mmc.c: In function 'jz4740_mmc_free_gpios':
>> drivers/mmc/host/jz4740_mmc.c:968:3: error: implicit declaration of function 'gpio_free' [-Werror=implicit-function-declaration]
gpio_free(pdata->gpio_power);
^~~~~~~~~
cc1: some warnings being treated as errors

vim +/gpio_is_valid +864 drivers/mmc/host/jz4740_mmc.c

61bfbdb8 Lars-Peter Clausen 2010-07-15 858 if (ios->clock)
61bfbdb8 Lars-Peter Clausen 2010-07-15 859 jz4740_mmc_set_clock_rate(host, ios->clock);
61bfbdb8 Lars-Peter Clausen 2010-07-15 860
61bfbdb8 Lars-Peter Clausen 2010-07-15 861 switch (ios->power_mode) {
61bfbdb8 Lars-Peter Clausen 2010-07-15 862 case MMC_POWER_UP:
61bfbdb8 Lars-Peter Clausen 2010-07-15 863 jz4740_mmc_reset(host);
61bfbdb8 Lars-Peter Clausen 2010-07-15 @864 if (gpio_is_valid(host->pdata->gpio_power))
61bfbdb8 Lars-Peter Clausen 2010-07-15 @865 gpio_set_value(host->pdata->gpio_power,
61bfbdb8 Lars-Peter Clausen 2010-07-15 866 !host->pdata->power_active_low);
61bfbdb8 Lars-Peter Clausen 2010-07-15 867 host->cmdat |= JZ_MMC_CMDAT_INIT;
fca9661c Lars-Peter Clausen 2013-05-12 868 clk_prepare_enable(host->clk);
61bfbdb8 Lars-Peter Clausen 2010-07-15 869 break;
61bfbdb8 Lars-Peter Clausen 2010-07-15 870 case MMC_POWER_ON:
61bfbdb8 Lars-Peter Clausen 2010-07-15 871 break;
61bfbdb8 Lars-Peter Clausen 2010-07-15 872 default:
61bfbdb8 Lars-Peter Clausen 2010-07-15 873 if (gpio_is_valid(host->pdata->gpio_power))
61bfbdb8 Lars-Peter Clausen 2010-07-15 874 gpio_set_value(host->pdata->gpio_power,
61bfbdb8 Lars-Peter Clausen 2010-07-15 875 host->pdata->power_active_low);
fca9661c Lars-Peter Clausen 2013-05-12 876 clk_disable_unprepare(host->clk);
61bfbdb8 Lars-Peter Clausen 2010-07-15 877 break;
61bfbdb8 Lars-Peter Clausen 2010-07-15 878 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 879
61bfbdb8 Lars-Peter Clausen 2010-07-15 880 switch (ios->bus_width) {
61bfbdb8 Lars-Peter Clausen 2010-07-15 881 case MMC_BUS_WIDTH_1:
61bfbdb8 Lars-Peter Clausen 2010-07-15 882 host->cmdat &= ~JZ_MMC_CMDAT_BUS_WIDTH_4BIT;
61bfbdb8 Lars-Peter Clausen 2010-07-15 883 break;
61bfbdb8 Lars-Peter Clausen 2010-07-15 884 case MMC_BUS_WIDTH_4:
61bfbdb8 Lars-Peter Clausen 2010-07-15 885 host->cmdat |= JZ_MMC_CMDAT_BUS_WIDTH_4BIT;
61bfbdb8 Lars-Peter Clausen 2010-07-15 886 break;
61bfbdb8 Lars-Peter Clausen 2010-07-15 887 default:
61bfbdb8 Lars-Peter Clausen 2010-07-15 888 break;
61bfbdb8 Lars-Peter Clausen 2010-07-15 889 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 890 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 891
61bfbdb8 Lars-Peter Clausen 2010-07-15 892 static void jz4740_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
61bfbdb8 Lars-Peter Clausen 2010-07-15 893 {
61bfbdb8 Lars-Peter Clausen 2010-07-15 894 struct jz4740_mmc_host *host = mmc_priv(mmc);
61bfbdb8 Lars-Peter Clausen 2010-07-15 895 jz4740_mmc_set_irq_enabled(host, JZ_MMC_IRQ_SDIO, enable);
61bfbdb8 Lars-Peter Clausen 2010-07-15 896 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 897
61bfbdb8 Lars-Peter Clausen 2010-07-15 898 static const struct mmc_host_ops jz4740_mmc_ops = {
61bfbdb8 Lars-Peter Clausen 2010-07-15 899 .request = jz4740_mmc_request,
bb2f4592 Apelete Seketeli 2014-07-21 900 .pre_req = jz4740_mmc_pre_request,
bb2f4592 Apelete Seketeli 2014-07-21 901 .post_req = jz4740_mmc_post_request,
61bfbdb8 Lars-Peter Clausen 2010-07-15 902 .set_ios = jz4740_mmc_set_ios,
58e300af Lars-Peter Clausen 2013-06-09 903 .get_ro = mmc_gpio_get_ro,
58e300af Lars-Peter Clausen 2013-06-09 904 .get_cd = mmc_gpio_get_cd,
61bfbdb8 Lars-Peter Clausen 2010-07-15 905 .enable_sdio_irq = jz4740_mmc_enable_sdio_irq,
61bfbdb8 Lars-Peter Clausen 2010-07-15 906 };
61bfbdb8 Lars-Peter Clausen 2010-07-15 907
c3be1efd Bill Pemberton 2012-11-19 908 static int jz4740_mmc_request_gpio(struct device *dev, int gpio,
61bfbdb8 Lars-Peter Clausen 2010-07-15 909 const char *name, bool output, int value)
61bfbdb8 Lars-Peter Clausen 2010-07-15 910 {
61bfbdb8 Lars-Peter Clausen 2010-07-15 911 int ret;
61bfbdb8 Lars-Peter Clausen 2010-07-15 912
61bfbdb8 Lars-Peter Clausen 2010-07-15 913 if (!gpio_is_valid(gpio))
61bfbdb8 Lars-Peter Clausen 2010-07-15 914 return 0;
61bfbdb8 Lars-Peter Clausen 2010-07-15 915
61bfbdb8 Lars-Peter Clausen 2010-07-15 @916 ret = gpio_request(gpio, name);
61bfbdb8 Lars-Peter Clausen 2010-07-15 917 if (ret) {
61bfbdb8 Lars-Peter Clausen 2010-07-15 918 dev_err(dev, "Failed to request %s gpio: %d\n", name, ret);
61bfbdb8 Lars-Peter Clausen 2010-07-15 919 return ret;
61bfbdb8 Lars-Peter Clausen 2010-07-15 920 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 921
61bfbdb8 Lars-Peter Clausen 2010-07-15 922 if (output)
61bfbdb8 Lars-Peter Clausen 2010-07-15 @923 gpio_direction_output(gpio, value);
61bfbdb8 Lars-Peter Clausen 2010-07-15 924 else
61bfbdb8 Lars-Peter Clausen 2010-07-15 @925 gpio_direction_input(gpio);
61bfbdb8 Lars-Peter Clausen 2010-07-15 926
61bfbdb8 Lars-Peter Clausen 2010-07-15 927 return 0;
61bfbdb8 Lars-Peter Clausen 2010-07-15 928 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 929
58e300af Lars-Peter Clausen 2013-06-09 930 static int jz4740_mmc_request_gpios(struct mmc_host *mmc,
58e300af Lars-Peter Clausen 2013-06-09 931 struct platform_device *pdev)
61bfbdb8 Lars-Peter Clausen 2010-07-15 932 {
61bfbdb8 Lars-Peter Clausen 2010-07-15 933 struct jz4740_mmc_platform_data *pdata = pdev->dev.platform_data;
58e300af Lars-Peter Clausen 2013-06-09 934 int ret = 0;
61bfbdb8 Lars-Peter Clausen 2010-07-15 935
61bfbdb8 Lars-Peter Clausen 2010-07-15 936 if (!pdata)
61bfbdb8 Lars-Peter Clausen 2010-07-15 937 return 0;
61bfbdb8 Lars-Peter Clausen 2010-07-15 938
58e300af Lars-Peter Clausen 2013-06-09 939 if (!pdata->card_detect_active_low)
58e300af Lars-Peter Clausen 2013-06-09 940 mmc->caps2 |= MMC_CAP2_CD_ACTIVE_HIGH;
58e300af Lars-Peter Clausen 2013-06-09 941 if (!pdata->read_only_active_low)
58e300af Lars-Peter Clausen 2013-06-09 942 mmc->caps2 |= MMC_CAP2_RO_ACTIVE_HIGH;
61bfbdb8 Lars-Peter Clausen 2010-07-15 943
58e300af Lars-Peter Clausen 2013-06-09 944 if (gpio_is_valid(pdata->gpio_card_detect)) {
214fc309 Laurent Pinchart 2013-08-08 945 ret = mmc_gpio_request_cd(mmc, pdata->gpio_card_detect, 0);
61bfbdb8 Lars-Peter Clausen 2010-07-15 946 if (ret)
61bfbdb8 Lars-Peter Clausen 2010-07-15 947 return ret;
61bfbdb8 Lars-Peter Clausen 2010-07-15 948 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 949
58e300af Lars-Peter Clausen 2013-06-09 950 if (gpio_is_valid(pdata->gpio_read_only)) {
58e300af Lars-Peter Clausen 2013-06-09 951 ret = mmc_gpio_request_ro(mmc, pdata->gpio_read_only);
58e300af Lars-Peter Clausen 2013-06-09 952 if (ret)
58e300af Lars-Peter Clausen 2013-06-09 953 return ret;
61bfbdb8 Lars-Peter Clausen 2010-07-15 954 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 955
58e300af Lars-Peter Clausen 2013-06-09 956 return jz4740_mmc_request_gpio(&pdev->dev, pdata->gpio_power,
58e300af Lars-Peter Clausen 2013-06-09 957 "MMC read only", true, pdata->power_active_low);
61bfbdb8 Lars-Peter Clausen 2010-07-15 958 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 959
61bfbdb8 Lars-Peter Clausen 2010-07-15 960 static void jz4740_mmc_free_gpios(struct platform_device *pdev)
61bfbdb8 Lars-Peter Clausen 2010-07-15 961 {
61bfbdb8 Lars-Peter Clausen 2010-07-15 962 struct jz4740_mmc_platform_data *pdata = pdev->dev.platform_data;
61bfbdb8 Lars-Peter Clausen 2010-07-15 963
61bfbdb8 Lars-Peter Clausen 2010-07-15 964 if (!pdata)
61bfbdb8 Lars-Peter Clausen 2010-07-15 965 return;
61bfbdb8 Lars-Peter Clausen 2010-07-15 966
61bfbdb8 Lars-Peter Clausen 2010-07-15 967 if (gpio_is_valid(pdata->gpio_power))
61bfbdb8 Lars-Peter Clausen 2010-07-15 @968 gpio_free(pdata->gpio_power);
61bfbdb8 Lars-Peter Clausen 2010-07-15 969 }
61bfbdb8 Lars-Peter Clausen 2010-07-15 970
c3be1efd Bill Pemberton 2012-11-19 971 static int jz4740_mmc_probe(struct platform_device* pdev)

:::::: The code at line 864 was first introduced by commit
:::::: 61bfbdb856879cff583fe53b2ab6ae907faedee7 MMC: Add support for the controller on JZ4740 SoCs.

:::::: TO: Lars-Peter Clausen <lars@xxxxxxxxxx>
:::::: CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip