Hi Ladislav, [auto build test WARNING on linus/master] [also build test WARNING on v4.14-rc4 next-20170929] [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/Ladislav-Michl/memory-omap-gpmc-use-OneNAND-base-address-from-FDT/20171009-164338 config: arm-allyesconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): drivers/memory/omap-gpmc.c: In function 'gpmc_probe': >> drivers/memory/omap-gpmc.c:1952:3: warning: 'cs' may be used uninitialized in this function [-Wmaybe-uninitialized] dev_err(&pdev->dev, "cannot request GPMC CS %d\n", cs); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/omap-gpmc.c:1929:6: note: 'cs' was declared here u32 cs, val; ^~ vim +/cs +1952 drivers/memory/omap-gpmc.c 1924 1925 #if IS_ENABLED(CONFIG_MTD_ONENAND) 1926 static int gpmc_probe_onenand_child(struct platform_device *pdev, 1927 struct device_node *child) 1928 { 1929 u32 cs, val; 1930 int ret; 1931 unsigned long base; 1932 struct resource res; 1933 struct platform_device *onenand_pdev; 1934 struct omap_onenand_platform_data *gpmc_onenand_data; 1935 1936 if (of_property_read_u32(child, "reg", &val) < 0) { 1937 dev_err(&pdev->dev, "%pOF has no 'reg' property\n", 1938 child); 1939 return -ENODEV; 1940 } 1941 1942 memset(&res, 0, sizeof(res)); 1943 res.flags = IORESOURCE_MEM; 1944 if (of_address_to_resource(child, 0, &res) < 0) { 1945 dev_err(&pdev->dev, "%pOF has malformed 'reg' property\n", 1946 child); 1947 return -ENODEV; 1948 } 1949 1950 ret = gpmc_cs_request(cs, resource_size(&res), &base); 1951 if (ret < 0) { > 1952 dev_err(&pdev->dev, "cannot request GPMC CS %d\n", cs); 1953 return ret; 1954 } 1955 gpmc_cs_set_name(cs, child->name); 1956 1957 /* CS must be disabled while making changes to gpmc configuration */ 1958 gpmc_cs_disable_mem(cs); 1959 1960 ret = gpmc_cs_remap(cs, res.start); 1961 if (ret < 0) { 1962 dev_err(&pdev->dev, "cannot remap GPMC CS %d to 0x%x\n", 1963 cs, res.start); 1964 if (res.start < GPMC_MEM_START) { 1965 dev_info(&pdev->dev, 1966 "GPMC CS %d start cannot be lesser than 0x%x\n", 1967 cs, GPMC_MEM_START); 1968 } else if (res.end > GPMC_MEM_END) { 1969 dev_info(&pdev->dev, 1970 "GPMC CS %d end cannot be greater than 0x%x\n", 1971 cs, GPMC_MEM_END); 1972 } 1973 return ret; 1974 } 1975 1976 /* Enable CS region */ 1977 gpmc_cs_enable_mem(cs); 1978 1979 gpmc_onenand_data = devm_kzalloc(&pdev->dev, sizeof(*gpmc_onenand_data), 1980 GFP_KERNEL); 1981 if (!gpmc_onenand_data) { 1982 ret = -ENOMEM; 1983 goto out_free_cs; 1984 } 1985 1986 if (!of_property_read_u32(child, "dma-channel", &val)) 1987 gpmc_onenand_data->dma_channel = val; 1988 else 1989 gpmc_onenand_data->dma_channel = -1; 1990 1991 gpmc_onenand_data->cs = cs; 1992 gpmc_onenand_data->of_node = child; 1993 1994 onenand_pdev = platform_device_alloc("omap2-onenand", cs); 1995 if (!onenand_pdev) { 1996 ret = -ENOMEM; 1997 goto out_free_cs; 1998 } 1999 2000 ret = platform_device_add_resources(onenand_pdev, &res, 1); 2001 if (ret) 2002 goto out_free_pdev; 2003 2004 onenand_pdev->dev.platform_data = gpmc_onenand_data; 2005 2006 ret = platform_device_add(onenand_pdev); 2007 if (ret) 2008 goto out_free_pdev; 2009 2010 gpmc_onenand_init(gpmc_onenand_data); 2011 2012 return 0; 2013 2014 out_free_pdev: 2015 platform_device_put(onenand_pdev); 2016 2017 out_free_cs: 2018 gpmc_cs_free(cs); 2019 return ret; 2020 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip